2016-08-31 70 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:刪除它! –