

Chef を使い Ubuntu14.04 に`curlftpfs`をインストールするために recipe 内に

[code]

    package "curlftpfs"
    
[/code]

と記述して実行したのですが、以下のエラーで終了してしまいました。

[code]

    ---- Begin output of apt-get -q -y install curlftpfs=0.9.2-5ubuntu1 ----
    STDOUT:
    STDERR: E: dpkg は中断されました。問題を修正するには 'sudo dpkg --configure -a' を手動で実行する必要があります。
    ---- End output of apt-get -q -y install curlftpfs=0.9.2-5ubuntu1 ----
    
[/code]

もちろんUbuntuにログインして該当のコマンドを実行するのはできるのですが、`Chef`経由でその操作を行うときはどうするのが良いのでしょうか？

単純に

[code]

    execute "dpkg --configure -a"
    package "curlftpfs"
    
[/code]

とするのが良いのでしょうか？ 毎回無条件で実行するのが少し気持ち悪いのでもっと良い方法があれば教えてください。


CC BY-SA 3.0
2015-01-15T03:05:20.343
4582
2015-02-28T04:57:16.017
3271
question
chef apt
sudo dpkg --configure -a を chef経由で行う


なぜ`dpkg --configure
-a`が必要な状況になっているかが問題です。それ以前で実行しているインストールで何かよくないことが起きているはずです。

`dpkg --audit`で調べられるかもしれません。

原因はともかくインストールが成功しさえすればいいのなら、毎回実行すればよいのではないでしょうか。


CC BY-SA 3.0
2015-01-29T00:41:08.597
5539
2015-01-29T04:34:53.357
2015-01-29T04:34:53.357
5793
5793
4582
answer