GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fa source /etc/network/interfaces.d/* nella parte superiore del file /etc/network/interfaces?

Dalla pagina man delle interfacce di Ubuntu:

Le righe che iniziano con "source" vengono utilizzate per includere stanze da altri file, quindi la configurazione può essere suddivisa in molti file. La parola "source" è seguita dal percorso del file da reperire. È possibile utilizzare i caratteri jolly della shell. Attualmente supporta solo percorsi assoluti.


Discussione

Il source Il comando è la versione testuale del . (fonte) sintassi. Ciò consente di includere/importare il codice da un file e unirlo in un genitore. Tuttavia, ciò che non è chiaro da un'installazione di base di Ubuntu 16.04 è perché source la linea sarebbe la prima. Ovvero, se si volesse utilizzare un IP statico per l'interfaccia enp0s3 sotto, significa che devo prima commentare / cancellare il iface riga per enp0s3 ?

Il file e file.d schema è abbastanza comune. Se esegui Apache HTTP Server, probabilmente hai visto apache24/conf/httpd.conf ed è il calcio laterale dell'extra/ directory, che contiene più file *.conf (tipicamente httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , e altro). In questo caso, gli script di shell non vengono inclusi, ma il principio è fondamentalmente lo stesso.

Perché farlo in questo modo?

1. Separazione delle preoccupazioni.

È meglio rovinare solo una configurazione dell'interfaccia, quindi fare qualcosa che potrebbe influire su più di un'interfaccia. Mantenendo le cose separate, in realtà rende più facile scrivere script di shell che automatizzano le cose.

Invece di passare al setaccio /etc/network/interfaces con sed , grep e awk per l'interfaccia corretta, puoi semplicemente indirizzare il file corretto in /etc/network/interfaces.d/ con file glob di base.

Mantenendo le cose separate, le possibilità di incasinare le cose si riducono drasticamente.

2. Migliore organizzazione a lungo termine.

Se pensi a cosa contiene interfaces.d/, contiene "istanze" di configurazioni dell'interfaccia di rete (che possono diventare piuttosto elaborate). In questo modo, il tempo risparmiato dallo scorrimento può creare interfaces.d/ la strada da percorrere.

Conclusione

Stai pianificando una configurazione professionale? Usa /etc/network/interfaces.d/ per contenere le configurazioni delle tue interfacce di rete (un file per interfaccia).

Sei un hobbista che usa Linux nel tuo seminterrato (su un computer con un'interfaccia) e non ti interessa rendere la vita più facile a qualcun altro? Usa /etc/network/interfaces e vai avanti con la tua vita. Commenta le impostazioni di configurazione predefinite o rimuovile del tutto.

Ricorda, sebbene la pagina man per le interfacce affermi che i comandi di configurazione dell'interfaccia sono cumulativi consentendo più protocolli e più indirizzi IP (v4 e v6) su ciascuna interfaccia. Alla fine della giornata, TU decidi cosa inserire in /etc/network/interfaces . Ti piace la configurazione di loopback predefinita? Scarica la configurazione in un file e inseriscila in /etc/netowork/interfaces.d/ .

Ora, fai lo stesso per qualsiasi altra impostazione predefinita dell'interfaccia di installazione. Lascia una nota in /etc/network/interfaces che questo dice "Questo file non deve essere utilizzato per alterare le configurazioni dell'interfaccia! Cerca in /etc/network/interfaces.d il file di interfaccia corretto.

Assegna un nome ai file in /etc/netowork/interfaces.d/ con analoga convenzione. I sistemi Red Hat utilizzano una convenzione di prefisso di file di interfaccia di ifcfg-.

Quindi, potrei andare avanti e usare quella convenzione in /etc/network/interfaces/d , guida assente.

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

Sicuramente leggi man interfaces .

Buona fortuna!


Linux
  1. Comprensione del file di configurazione dell'interfaccia di rete /etc/sysconfig/network-scripts/ifcfg-eth#

  2. Cosa significa 'rc' in `.bashrc`, ecc.?

  3. In /etc/resolv.conf, cosa fa esattamente l'opzione di configurazione della ricerca?

  4. Qual è la connessione tra le directory /etc/init.d e /etc/rcX.d in Linux?

  5. La differenza tra /etc/pam.d/login e /etc/pam.d/system-auth?

Comprendere il file /etc/passwd

Comprendere il file /etc/shadow

Buona spiegazione dettagliata della sintassi /etc/network/interfaces?

Linux:cosa significa la lettera "u" in /dev/urandom?

Che cos'è il file /etc/passwd in Linux?

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions