GNU/Linux >> Tutoriels Linux >  >> Linux

Que fait la source /etc/network/interfaces.d/* en haut du fichier /etc/network/interfaces ?

À partir de la page de manuel des interfaces Ubuntu :

Les lignes commençant par "source" sont utilisées pour inclure des strophes d'autres fichiers, de sorte que la configuration peut être divisée en plusieurs fichiers. Le mot "source" est suivi du chemin du fichier à sourcer. Des caractères génériques Shell peuvent être utilisés. Actuellement, seuls les chemins d'accès absolus sont pris en charge.


Discussion

Le source command est la version textuelle du . syntaxe (source). Cela vous permet d'inclure/d'importer du code à partir d'un fichier et de le fusionner dans un parent. Cependant, ce qui n'est pas clair à partir d'une installation de base d'Ubuntu 16.04, c'est pourquoi le source la ligne serait la première. C'est à dire, si on voulait utiliser une IP statique pour l'interface enp0s3 ci-dessous, cela signifie-t-il que je dois d'abord commenter / effacer le iface ligne pour enp0s3 ?

Le fichier et fichier.d schéma est assez commun. Si vous exécutez le serveur HTTP Apache, vous avez probablement vu le apache24/conf/httpd.conf et c'est le coup de pied latéral le extra/ répertoire, qui contient plus de fichiers *.conf (généralement httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , et plus). Dans ce cas, les scripts shell ne sont pas inclus, mais le principe est fondamentalement le même.

Pourquoi procéder ainsi ?

1. Séparation des préoccupations.

Il est préférable de ne gâcher qu'une seule configuration d'interface, puis de faire quelque chose qui pourrait affecter plus d'une interface. En gardant les choses séparées, cela facilite en fait l'écriture de scripts shell qui automatisent des choses.

Au lieu de passer au crible /etc/network/interfaces avec sed , grep , et awk pour la bonne interface, vous pouvez simplement cibler le bon fichier en /etc/network/interfaces.d/ avec le globbing de fichiers de base.

En gardant les choses séparées, vos chances de tout gâcher sont considérablement réduites.

2. Une meilleure organisation à long terme.

Si vous pensez à ce que contient interfaces.d/, il contient des "instances" de configurations d'interface réseau (qui peuvent devenir assez élaborées). De cette façon, le temps gagné sur le défilement peut rendre interfaces.d/ la voie à suivre.

Conclusion

Vous envisagez une installation professionnelle ? Utilisez /etc/network/interfaces.d/ pour contenir les configurations de vos interfaces réseau (un fichier par interface).

Êtes-vous un amateur utilisant Linux dans votre sous-sol (sur un ordinateur avec une seule interface) et ne vous souciez-vous pas de faciliter la vie de quelqu'un d'autre ? Utilisez /etc/network/interfaces et continuez votre vie. Commentez les paramètres de configuration par défaut ou supprimez-les complètement.

Rappelez-vous, bien que la page de manuel pour les interfaces indique que les commandes de configuration d'interface sont cumulatives, ce qui permet plusieurs protocoles et plusieurs adresses IP (v4 et v6) sur chaque interface. En fin de compte, VOUS décidez de ce qui se passe dans /etc/network/interfaces . Vous aimez la configuration de bouclage par défaut ? Videz la configuration dans un fichier et placez-la dans /etc/netowork/interfaces.d/ .

Maintenant, faites de même pour tous les autres paramètres d'interface d'installation par défaut. Laissez une note dans /etc/network/interfaces que cela indique "Ce fichier ne doit pas être utilisé pour modifier les configurations d'interface ! Recherchez dans /etc/network/interfaces.d le fichier d'interface correct.

Nommez les fichiers en /etc/netowork/interfaces.d/ avec une convention similaire. Les systèmes Red Hat utilisent une convention de préfixe de fichier d'interface ifcfg-.

Ainsi, je pourrais continuer et utiliser cette convention dans /etc/network/interfaces/d , conseils absents.

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

Lisez certainement man interfaces .

Bonne chance !


Linux
  1. Bonne explication détaillée de la syntaxe /etc/network/interfaces ?

  2. Linux – Que signifie la lettre « u » dans /dev/urandom ?

  3. CentOS / RHEL :Comment récupérer à partir d'un fichier /etc/passwd supprimé

  4. LANG=C se trouve dans un certain nombre de scripts /etc/init.d/*. Que fait LANG=C et pourquoi avez-vous besoin de définir LANG=C.

  5. Quelle est la connexion entre les répertoires /etc/init.d et /etc/rcX.d sous Linux ?

Comprendre le fichier /etc/passwd

Comprendre le fichier /etc/shadow

Qu'est-ce que le fichier /etc/passwd sous Linux ?

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Dans /etc/resolv.conf, que fait exactement l'option de configuration de recherche ?

/etc/passwd affiche l'utilisateur dans un groupe, mais /etc/group ne le fait pas