GNU/Linux >> Znalost Linux >  >> Linux

Co dělá zdrojový /etc/network/interfaces.d/* v horní části souboru /etc/network/interfaces?

Z manuálové stránky rozhraní Ubuntu:

Řádky začínající na "zdroj" se používají k zahrnutí stanz z jiných souborů, takže konfiguraci lze rozdělit do mnoha souborů. Za slovem "zdroj" následuje cesta k souboru, který má být zdrojem. Lze použít Shellwildcards. V současné době podporuje pouze absolutní názvy cest.


Diskuse

source příkaz je textová verze . (zdrojová) syntaxe. To vám umožní zahrnout / importovat kód z jednoho souboru a sloučit jej do nadřazeného souboru. Co však není jasné ze základní instalace Ubuntu 16.04, je důvod, proč source řádek by byl první. To znamená, pokud chcete použít statickou IP pro rozhraní enp0s3 níže, znamená to, že musím nejprve okomentovat / vymazat iface řádek pro enp0s3 ?

soubor a soubor.d schéma je docela běžné. Pokud spouštíte Apache HTTP Server, pravděpodobně jste viděli apache24/conf/httpd.conf a je to boční kop extra/ adresář, který obsahuje více souborů *.conf (typicky httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , a více). V tomto případě nejsou zahrnuty skripty shellu, ale princip je v podstatě stejný.

Proč to děláte tímto způsobem?

1. Oddělení starostí.

Je lepší pokazit pouze jednu konfiguraci rozhraní a pak udělat něco, co by mohlo ovlivnit více než jedno rozhraní. Tím, že jsou věci oddělené, ve skutečnosti je snazší psát skripty shellu, které automatizují věci.

Místo prosévání /etc/network/interfaces s sed , grep a awk pro správné rozhraní můžete jednoduše cílit na správný soubor v /etc/network/interfaces.d/ se základním globováním souborů.

Tím, že budete věci držet odděleně, se vaše šance, že něco pokazíte, dramaticky sníží.

2. Lepší organizace z dlouhodobého hlediska.

Pokud se zamyslíte nad tím, co obsahuje interfaces.d/, obsahuje „instance“ konfigurací síťových rozhraní (které mohou být poměrně komplikované). Tímto způsobem může čas ušetřený z nutnosti posouvání vytvořit interfaces.d/ cesta, kterou jít.

Závěr

Plánujete profesionální nastavení? Použijte /etc/network/interfaces.d/ pro uložení konfigurace vašich síťových rozhraní (jeden soubor na rozhraní).

Jste fanouškem používání Linuxu ve sklepě (na počítači s jedním rozhraním) a nestaráte se o to, abyste někomu jinému usnadnili život? Použijte /etc/network/interfaces a pokračovat ve svém životě. Zakomentujte výchozí nastavení konfigurace nebo je úplně odstraňte.

Pamatujte, že ačkoliv manuálová stránka pro rozhraní říká, že příkazy pro konfiguraci rozhraní jsou kumulativní a umožňují více protokolů a více IP adres (v4 a v6) na každém rozhraní. Na konci dne se VY rozhodnete, co vstoupí do /etc/network/interfaces . Líbí se vám výchozí konfigurace zpětné smyčky? Uložte konfiguraci do souboru a vložte ji do /etc/netowork/interfaces.d/ .

Nyní proveďte totéž pro všechna další výchozí nastavení instalačního rozhraní. Zanechte poznámku v /etc/network/interfaces že to říká "Tento soubor se nemá používat ke změně konfigurací rozhraní! Správný soubor rozhraní najdete v /etc/network/interfaces.d."

Pojmenujte soubory v /etc/netowork/interfaces.d/ s podobnou konvencí. Systémy Red Hat používají předponu souboru rozhraní ifcfg-.

Mohl bych tedy pokračovat a použít tuto konvenci v /etc/network/interfaces/d , chybí navádění.

/etc/network/interfaces.d/ifcfg-lo
/etc/network/interfaces.d/ifcfg-enp0s3

Rozhodně si přečtěte man interfaces .

Hodně štěstí!


Linux
  1. Vysvětlení konfiguračního souboru síťového rozhraní /etc/sysconfig/network-scripts/ifcfg-eth#

  2. Co znamená „rc“ v „.bashrc“ atd.?

  3. LANG=C je v řadě skriptů /etc/init.d/*. Co dělá LANG=C a proč je potřeba nastavit LANG=C.

  1. Jaké je spojení mezi adresáři /etc/init.d a /etc/rcX.d v Linuxu?

  2. Jaký je limit velikosti /etc/hosts?

  3. Jaká je výhoda /etc/apt/sources.list.d oproti /etc/apt/sources.list

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Co mi brání pouze upravovat soubor /etc/shadow v nešifrovaných systémech?

  3. Rozdíl mezi /etc/pam.d/login a /etc/pam.d/system-auth?