GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué hace source /etc/network/interfaces.d/* en la parte superior del archivo /etc/network/interfaces?

Desde la página del manual de interfaces de Ubuntu:

Las líneas que comienzan con "fuente" se utilizan para incluir estrofas de otros archivos, por lo que la configuración se puede dividir en varios archivos. La palabra "fuente" va seguida de la ruta del archivo que se va a obtener. Se pueden utilizar comodines de Shell. Actualmente solo admite rutas de acceso absolutas.


Discusión

El source comando es la versión textual del . (fuente) sintaxis. Esto le permite incluir/importar código de un archivo y fusionarlo en un padre. Sin embargo, lo que no está claro en una instalación base de Ubuntu 16.04 es por qué source la línea sería la primera. Es decir, si uno quisiera usar una IP estática para la interfaz enp0s3 a continuación, ¿eso significa que primero debo comentar/borrar el iface línea para enp0s3 ?

El archivo y archivo.d esquema es bastante común. Si ejecuta el servidor Apache HTTP, probablemente haya visto el apache24/conf/httpd.conf y es patada lateral el extra/ directorio, que contiene más archivos *.conf (normalmente httpd-ssl.conf , httpd-vhosts.conf , php.conf , httpd-default.conf , y más). En este caso, no se incluyen scripts de shell, pero el principio es básicamente el mismo.

¿Por qué hacerlo de esta manera?

1. Separación de preocupaciones.

Es mejor estropear solo una configuración de interfaz y luego hacer algo que pueda afectar a más de una interfaz. Al mantener las cosas separadas, en realidad facilita la escritura de scripts de shell que automatizan cosas.

En lugar de revisar /etc/network/interfaces con sed , grep y awk para la interfaz correcta, simplemente puede apuntar al archivo correcto en /etc/network/interfaces.d/ con archivo básico globbing.

Al mantener las cosas separadas, las posibilidades de estropearlas se reducen drásticamente.

2. Mejor organización a largo plazo.

Si piensa en lo que contiene interfaces.d/, contiene "instancias" de configuraciones de interfaz de red (que pueden ser bastante elaboradas). De esa forma, el tiempo que se ahorra al tener que desplazarse puede hacer que interfaces.d/ el camino a seguir.

Conclusión

¿Estás planeando una instalación profesional? Utilice /etc/network/interfaces.d/ para almacenar las configuraciones de sus interfaces de red (un archivo por interfaz).

¿Es usted un aficionado que usa Linux en su sótano (en una computadora con una sola interfaz) y no le importa hacer la vida más fácil para otra persona? Utilice /etc/network/interfaces y sigue con tu vida. Comente los ajustes de configuración predeterminados o elimínelos por completo.

Recuerde, aunque la página del manual para interfaces dice que los comandos de configuración de la interfaz son acumulativos, lo que permite múltiples protocolos y múltiples direcciones IP (v4 y v6) en cada interfaz. Al final del día, TÚ decides lo que entra en /etc/network/interfaces . ¿Te gusta la configuración de bucle invertido predeterminada? Volcar la configuración en un archivo y ponerlo en /etc/netowork/interfaces.d/ .

Ahora, haga lo mismo con cualquier otra configuración de interfaz de instalación predeterminada. Deje una nota en /etc/network/interfaces que esto dice "¡Este archivo no debe usarse para alterar las configuraciones de la interfaz! Busque en /etc/network/interfaces.d el archivo de interfaz correcto.

Nombra los archivos en /etc/netowork/interfaces.d/ con una convención similar. Los sistemas Red Hat utilizan una convención de prefijo de archivo de interfaz de ifcfg-.

Por lo tanto, podría seguir adelante y usar esa convención en /etc/network/interfaces/d , guía ausente.

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

Definitivamente lee man interfaces .

¡Buena suerte!


Linux
  1. ¿Buena explicación detallada de la sintaxis de /etc/network/interfaces?

  2. Linux:¿Qué significa la letra 'u' en /dev/urandom?

  3. Descripción del archivo de configuración de la interfaz de red /etc/sysconfig/network-scripts/ifcfg-eth#

  4. LANG=C se encuentra en varios scripts /etc/init.d/*. ¿Qué hace LANG=C y por qué necesita configurar LANG=C?

  5. En /etc/resolv.conf, ¿qué hace exactamente la opción de configuración de búsqueda?

Comprender el archivo /etc/passwd

Comprender el archivo /etc/shadow

¿Qué es el archivo /etc/passwd en Linux?

CentOS / RHEL:cómo recuperarse de un archivo /etc/passwd eliminado

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Qué significa el 'rc' en '.bashrc', etc.?