2016-08-31 15 views
1

私はパペットマスターを実行しています。私はパペットエージェントでこれらのコマンドを実行する必要があります。コマンドapt-get upgradeがパペットで失敗する

ロック

apt-get upgrade -y 

apt-get update -y実行スムーズにアップデート

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

apt-get update -y 

アップグレードを更新から、カーネルが、他の2つがありません。

正しいパペットの構文を教えてもらえますか?

+1

彼らは遠くのベストプラクティスから考えられているので、非正確なコマンド(見つかったすべてのパッケージをアップグレードし、見つかったカーネルモジュールをロック)のこれらの種類は、任意のCM /オーケストレーション/オートメーションソフトウェアには本当に本質的ではありません。また、 'apt-get'に' dist-upgrade'を指定しない限り、カーネルは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'でシェルコマンドを実行するのは冗長です。 –

+0

@ジョンボールリンガー:それを削除! –

関連する問題