インターフェイスが起動されると、/ etc / network / if-up.dにあるすべてのスクリプトが実行されますか?


12

/etc/network/if-up.d内のすべてのスクリプトは、ネットワークインターフェイスが起動されたときに実行されますか?

その場合、interfacesファイルでのpost-upコマンドは何ですか?


1
通常、すべての「.d」フォルダの内容が実行されます。それらのいくつかは、実際には「 .sh」ファイル名拡張子を必要とします。すべてのファイルが実行可能である必要があります。
kolypto

回答:


14

はい。通常、実行可能としてマークされ、そのフォルダーに配置されたスクリプトは実行されます。run-partsが使用されるため、ファイルは特定の名前のセットに限定されます。

post-up使用するのと同じことを行いup。if-up.dにスクリプトを配置することは、post-up別の場所にあるスクリプトまたはコマンドを指すa を使用することと同じです。通常、単一のインターフェースに対して単一のコマンドを実行する必要がある場合に、アップ|ポストアップを使用します。もっと複雑なものがある場合は、スクリプトを作成します。

manインターフェイス

...
up command

post-up command
      Run  command  after  bringing the interface up.  If this command
      fails then ifup aborts, refraining from marking the interface as
      configured  (even  though it has really been configured), prints
      an error message, and exits with status 0.   This  behavior  may
      change in the future.
...
There  exists  for  each  of  the  above  mentioned options a directory
/etc/network/if-<option>.d/ the scripts in which are run (with no argu-
ments) using run-parts(8) after the option itself has been processed.

男の実行部分

run-parts  runs  all  the  executable  files  named  within constraints
described below,

If  the  --lsbsysinit  option  is not given then the names must consist
entirely of upper and lower  case  letters,  digits,  underscores,  and
hyphens.
...
Files are run in the lexical sort  order  of  their  names  unless  the
--reverse  option  is given, in which case they are run in the opposite
order.

1
そのため、インターフェイスが起動した後にスクリプトを実行し、if-up.dフォルダーにあるものを準備する必要がある場合は、操作する必要があるコマンドの後に字句順に分類されるように名前を付ける必要があります、または別のディレクトリに入れてpost-upコマンドで実行します。それは正しいですか?
スピッグ2009年

1
はい、そう信じています。
ゾレダチェ09年

1
そのようなすてきな詳細な答え。10年後でも、洞察を提供しています。
Xofo

.sh拡張子を使用してファイル名が異なるスクリプトでも実行されないことを認識するために、run-partsのマニュアルページを完全に読む必要があります。引用:「...ドットが原因でスクリプトをスキップすることに関する情報があれば大いに役立ちます。トラブルシューティングに多くの時間を失いました...ステートメント '...名前は大文字と小文字で完全に構成する必要があります文字、数字、アンダースコア、ハイフン。」私はそれを二度読みましたが、私の問題がどこにあるのかを理解する助けにはなりませんでした。
ChrisW

この「バグ」はDebianの「修正しない」です:run-partsはsh拡張子が付いた
ChrisW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.