mojavy.com

debianパッケージをchefで削除する場合はpurgeを使う方がよい

September 10, 2013 at 07:39 PM | categories: chef, ruby, debian |

apt-getコマンドにはパッケージを削除するためのコマンドが2種類ある

  • remove: パッケージを削除するが設定ファイルはそのまま残す
  • purge: パッケージを削除するとき設定ファイルも削除する

chefをつかっているということは設定ファイルもchefで管理しているはずなので、設定ファイルを残す必要はない。 さらに、依存で入ったパッケージも一緒に削除されるように、options "--auto-remove"などとしてやるとよい。

ゴミは混乱の元なので早めに消すべし。



chef soloでAuthenticationFailedといわれたときの対応

September 09, 2013 at 08:43 PM | categories: chef, ruby |

公開鍵認証なホストに対してパスフレーズ入力無しでsshログインができるにもかかわらず、

$ knife solo cook myhost
Running Chef on myhost...
Checking Chef version...
Enter the password for username@myhost:
ERROR: Net::SSH::AuthenticationFailed: username

のようにいわれてchef soloの実行に失敗してしまうときがある。

パスフレーズ入力無しでsshできたということは、普通は以下のうちの少くとも1つは満たされている。

  1. ssh-agentに対象の秘密鍵が登録されている
  2. デフォルトパス($HOME/.ssh/id_rsa とか)に対象のパスフレーズ無し秘密鍵が保存されている
  3. ssh_configでパスフレーズ無し秘密鍵を指定している

それなのにAuthenticationFailed失敗してしまうのは、Net:SSHがデフォルトでは公開鍵認証を試行しない場合があるため。 1 これを回避するには、ssh_configでPubkeyAuthentication yesを明示すればよい。

なお、Net::SSHがどのような動きをしているかは以下のスニペットを試すとよい。

require 'net/ssh'
Net::SSH.start("myhost", "username", :verbose => :debug) {|x| p x }

備考

使ったのは以下のバージョン

  • chef: 11.6.0
  • knife-solo: 0.3.0

  1. この挙動はknife soloコマンドに-iオプションを渡しても変わらなかった。 



About Me

pic
mojavy

Recent posts






Categories



Badges