2017-05-28 18 views
0

シェフに次の再起動時に起動しないような方法でネットワークインターフェイスを無効にしようとしています。シェフ:ifconfigリソースはインターフェイスを永久に無効にしません

(Debianの7.8上のキッチンで)私のリソースがあるような:

ifconfig "213.139.12.17" do 
    device "eth1" 
    onboot "no" 
    action :disable 
end 

収束後に予想されるが、/etc/network/interfacesのファイルはそのままのようですし、再起動時にインターフェイスが来るよう下がるんインターフェースinterfacesファイルのデフォルト設定が「自動」だったのでバックアップしてください。

なぜ/etc/network/interfacesを編集シェフないのですか?それはないと思いましたか?その目的のために使用している別のリソースがありますか?

答えて

0

それはハックですが、これは私がやってしまったものです:

ifconfig "213.139.12.17" do 
    device "eth1" 
    onboot "no" 
    action :disable 
    notifies :run, "execute[remove-auto-eht1]", :immediately 
end 
execute "remove-auto-eth1" do 
    command "sed -i '/^auto eth1/s/^/#/' /etc/network/interfaces" 
    action :nothing 
end 

これは働いたが、インタフェースを無効にすることを求めたときに、これはifconfigリソースで処理しなければならないように私は本当に感じています。

+0

より構造化されたアプローチのためのpoise-file料理の本をチェックしてください – coderanger

0

ifconfigリソースの動作が:add:deleteの設定ファイル(一部のプラットフォーム)に書き込むと思っています。あなたがインターフェイスを維持したいが、それは私はあなたがこれを行うことができますね有効にしたくない場合は

そうは、:

ifconfig "213.139.12.17" do 
    device "eth1" 
    onboot "no" 
    action [:add, :disable] 
end 
+0

私はうまくいきませんでした。それは '/ etc/network/interfaces.d /'ディレクトリを作成し、そこにシャットダウンするためのconfを追加しましたが、元のファイル '/ etc/network/interfaces'にはまだ' auto eth1'という行が含まれていましたスタートアップ時に上がる。私はそれを削除する 'sed'コマンドで' execute'リソースを追加しようとしています。私はそれがどのように進むのかを更新します。 (私は 'ifconfig'リソースの実装が修正されるべきだとは思いますが) –

+0

@TomKlino Ok:私は/ etc/network/interfacesに関連する設定(autoキーワードなし)を書き込むことを期待していました。あなたを間違った方向に向けると申し訳ありません – CrimsonCricket

関連する問題