GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was macht source /etc/network/interfaces.d/* am Anfang der Datei /etc/network/interfaces?

Von der Ubuntu-Schnittstellen-Manpage:

Zeilen, die mit „source“ beginnen, werden verwendet, um Strophen aus anderen Dateien einzuschließen, sodass die Konfiguration in viele Dateien aufgeteilt werden kann. Auf das Wort "Quelle" folgt der Pfad der zu beschaffenden Datei. Shellwildcards können verwendet werden. Unterstützt derzeit nur absolute Pfadnamen.


Diskussion

Der source Befehl ist die Textversion von . (Quelle) Syntax. Auf diese Weise können Sie Code aus einer Datei einschließen/importieren und mit einer übergeordneten Datei zusammenführen. Was jedoch aus einer Basisinstallation von Ubuntu 16.04 nicht klar hervorgeht, ist der Grund für die source Linie wäre die erste. Das heißt, wenn man eine statische IP für die Schnittstelle enp0s3 verwenden wollte unten bedeutet das, dass ich zuerst die iface auskommentieren/löschen muss Zeile für enp0s3 ?

Die Datei und file.d Schema ist ziemlich verbreitet. Wenn Sie den Apache HTTP Server ausführen, haben Sie wahrscheinlich die apache24/conf/httpd.conf gesehen und der Sidekick ist das extra/ Verzeichnis, das weitere *.conf-Dateien enthält (normalerweise httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , und mehr). In diesem Fall werden Shell-Skripte nicht eingebunden, aber das Prinzip ist im Grunde dasselbe.

Warum macht man das so?

1. Trennung von Anliegen.

Es ist besser, nur eine Schnittstellenkonfiguration zu vermasseln, als etwas zu tun, das mehr als eine Schnittstelle betreffen könnte. Indem die Dinge getrennt gehalten werden, ist es tatsächlich einfacher, Shell-Skripte zu schreiben, die Dinge automatisieren.

Anstatt /etc/network/interfaces zu sichten mit sed , grep , und awk Für die richtige Schnittstelle können Sie einfach auf die richtige Datei in /etc/network/interfaces.d/ abzielen mit grundlegendem Dateiglobbing.

Indem Sie die Dinge getrennt halten, wird Ihre Wahrscheinlichkeit, Dinge durcheinander zu bringen, dramatisch reduziert.

2. Langfristig bessere Organisation.

Wenn Sie darüber nachdenken, was Interfaces.d/ enthält, enthält es "Instanzen" von Netzwerkschnittstellenkonfigurationen (die ziemlich kompliziert werden können). Auf diese Weise kann die Zeitersparnis beim Scrollen zu interfaces.d/ führen der Weg zu gehen.

Schlussfolgerung

Sie planen ein professionelles Setup? Verwenden Sie /etc/network/interfaces.d/ um die Konfigurationen Ihrer Netzwerkschnittstellen zu speichern (eine Datei pro Schnittstelle).

Sind Sie ein Bastler, der Linux in Ihrem Keller (auf einem Computer mit einer Schnittstelle) verwendet und sich weniger darum kümmern könnte, jemand anderem das Leben zu erleichtern? Verwenden Sie /etc/network/interfaces und lebe weiter. Kommentieren Sie die Standardkonfigurationseinstellungen aus oder entfernen Sie sie ganz.

Denken Sie daran, obwohl die Manpage für Schnittstellen besagt, dass Schnittstellenkonfigurationsbefehle kumulativ sind und mehrere Protokolle und mehrere IP-Adressen (v4 und v6) auf jeder Schnittstelle zulassen. Am Ende des Tages entscheidest DU, was in /etc/network/interfaces kommt . Wie die Standard-Loopback-Konfiguration? Kopieren Sie die Konfiguration in eine Datei und fügen Sie sie in /etc/netowork/interfaces.d/ ein .

Machen Sie jetzt dasselbe für alle anderen Standardeinstellungen der Installationsschnittstelle. Hinterlassen Sie eine Notiz in /etc/network/interfaces dass hier steht:„Diese Datei darf nicht verwendet werden, um Schnittstellenkonfigurationen zu ändern! Suchen Sie in /etc/network/interfaces.d nach der richtigen Schnittstellendatei.

Benennen Sie die Dateien in /etc/netowork/interfaces.d/ mit einer ähnlichen Konvention. Red Hat-Systeme verwenden eine Präfixkonvention für Schnittstellendateien von ifcfg-.

Daher könnte ich fortfahren und diese Konvention in /etc/network/interfaces/d verwenden , fehlende Führung.

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

Lesen Sie auf jeden Fall man interfaces .

Viel Glück!


Linux
  1. Eine Einführung in die Linux-Datei /etc/fstab

  2. Gute detaillierte Erklärung der /etc/network/interfaces Syntax?

  3. CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her

  4. Grundlegendes zur Konfigurationsdatei der Netzwerkschnittstelle /etc/sysconfig/network-scripts/ifcfg-eth#

  5. LANG=C ist in einer Reihe von /etc/init.d/*-Skripten enthalten. Was macht LANG=C und warum müssen Sie LANG=C setzen.

Verstehen der /etc/passwd-Datei

Verstehen der /etc/shadow-Datei

Was ist die Datei /etc/passwd unter Linux?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Was hindert mich daran, die Datei /etc/shadow in unverschlüsselten Systemen einfach zu bearbeiten?

Der Unterschied zwischen /etc/pam.d/login und /etc/pam.d/system-auth?