Ubuntu インターフェイスのマニュアル ページから:
<ブロック引用>「source」で始まる行は、他のファイルからのスタンザを含めるために使用されるため、構成を多くのファイルに分割できます。 「ソース」という単語の後には、ソースされるファイルのパスが続きます。シェルワイルドカードを使用できます。現在、絶対パス名のみをサポートしています。
ディスカッション
source
コマンドは .
のテキスト版です (ソース) 構文。これにより、1 つのファイルからコードをインクルード/インポートして、それを親にマージできます。ただし、Ubuntu 16.04 の基本インストールから明らかでないのは、なぜ source
行が最初になります。つまり、インターフェイス enp0s3
に静的 IP を使用したい場合 以下、それは最初に iface
をコメントアウト/消去する必要があるということですか? enp0s3
の行 ?
ファイル および file.d スキームはかなり一般的です。 Apache HTTP サーバーを実行している場合は、おそらく apache24/conf/httpd.conf を見たことがあるでしょう。 extra/ のサイド キックです より多くの *.conf ファイルを含むディレクトリ (通常は httpd-ssl.conf 、httpd-vhosts.conf 、php.conf 、httpd-default.conf 、 もっと)。この場合、シェル スクリプトは含まれていませんが、原理は基本的に同じです。
なぜこのようにするのですか?
<強い>1.関心の分離。
1 つのインターフェース構成だけを台無しにしてから、複数のインターフェースに影響を与える可能性のある何かを行う方がよいでしょう。物事を分けておくことで、実際に物事を自動化するシェルスクリプトを書くのが簡単になります.
/etc/network/interfaces
をふるいにかける代わりに sed
で 、 grep
、および awk
正しいインターフェイスを得るには、/etc/network/interfaces.d/
で正しいファイルをターゲットにするだけです。 基本的なファイル グロビングを使用します。
物事を分けておくことで、物事を台無しにする可能性が劇的に減少します.
<強い>2.長期的にはより良い組織。
interfaces.d/ が保持するものについて考えてみると、ネットワーク インターフェイス構成の「インスタンス」が保持されます (これはかなり複雑になる可能性があります)。そうすれば、スクロールの手間を省いて interfaces.d/ を作成できます。
結論
プロフェッショナルなセットアップを計画していますか? /etc/network/interfaces.d/
を使用 ネットワーク インターフェイスの構成を保持します (インターフェイスごとに 1 つのファイル)。
あなたは趣味で Linux を地下室で (1 つのインターフェイスを備えたコンピューターで) 使用していて、他の人の生活を楽にすることなどどうでもいいと思いませんか? /etc/network/interfaces
を使用 そしてあなたの人生を続けてください。デフォルトの構成設定をコメントアウトするか、すべて削除してください。
インターフェイスのマニュアル ページには、インターフェイス構成コマンドは累積的であり、各インターフェイスで複数のプロトコルと複数の IP アドレス (v4 および v6) を使用できると書かれていますが、覚えておいてください。一日の終わりに、/etc/network/interfaces
に何を入れるかを決めるのはあなたです .デフォルトのループバック構成が好きですか?構成をファイルにダンプし、それを /etc/netowork/interfaces.d/
に入れます .
ここで、他のデフォルトのインストール インターフェイス設定についても同じことを行います。/etc/network/interfaces
にメモを残します。 これは、「このファイルは、インターフェース構成を変更するために使用されるべきではありません!正しいインターフェースファイルについては、/etc/network/interfaces.d を調べてください。
/etc/netowork/interfaces.d/
でファイルに名前を付けます 同様の規則で。 Red Hat システムは、ifcfg- のインターフェイス ファイル プレフィックス規則を使用します。
したがって、先に進んで /etc/network/interfaces/d
でその規則を使用するかもしれません 、ガイダンスがありません。
/etc/network/interfaces.d/ifcfg-lo
/etc/network/interfaces.d/ifcfg-enp0s3
必ず man interfaces
を読んでください .
頑張ってください!