2016-08-31 42 views
1

我正在运行木偶大师,我需要在我的木偶代理上执行这些命令。从更新 apt-get升级命令在傀儡中失败

for i in $(dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2}'); do echo $i hold | dpkg --set-selections; done 

更新

apt-get update -y 

升级

apt-get upgrade -y 

apt-get update -y运行平稳

锁定内核,但其他两个都没有。

你能给出正确的Puppet语法吗?

+1

这些类型的非精确的命令(锁发现有任何的内核模块,升级找到的任何包)并不是真正的内在任何CM /编排/自动化软件,因为它们是从最佳实践考虑远。另外,除非你指定'dist-upgrade'到'apt-get',否则内核不会在Debian系列上更新(你正在使用'apt')。 –

回答

0
exec {'lock kernel from updating': 
command => "bash -c 'for i in $(dpkg -l "uname -r" | grep kernel | awk '{print \$2}'); do echo \$i hold | dpkg --set-selections; done'", 
} 

exec{'update': 
    command => 'apt-get update -y', 
} 


exec{'upgrade': 
    command => 'apt-get upgrade -y', 
} 
+0

指定'provider => shell'并且通过'bash -c'运行shell命令是多余的。 –

+0

@JohnBollinger:删除它! –