etc cambiar aƱadir linux networking ubuntu

linux - cambiar - nano etc hosts



Agregar nombre de host a/etc/hosts en Linux (6)

Usa avahi (que debería estar en tus repositorios de distribución), entonces puedes

$ ping youhostname.local

Pregunta: ¿Existe una manera fácil de agregar la dirección IP y el nombre de host de DHCP de una máquina Linux en / etc / hosts al inicio del sistema automáticamente?

Antecedentes: Mi máquina Linux tiene un nombre de host en / etc / hostname y no se resolverá cuando haga ping. Agregué manualmente mi nombre de host y dirección de IP en / etc / hosts para que funcione uno de mis programas Java relacionados con la red.

Gracias,


dhcpcd tiene una opción de -c/--script para ejecutar un script externo cada vez que se configura o muestra una interfaz. Puede usar esto para actualizar manualmente el archivo de hosts con el nombre de host configurado.


De

ipaddr=$(ifconfig | grep ''inet addr:''| grep -v ''127.0.0.1'' | cut -d: -f2 | awk ''{ print $1}’) host=`hostname` fhost=`hostname -f` echo "$ipaddr $fhost $host" >> /etc/hosts cat /etc/hosts


Tomé lo que @Markus hizo y lo puse en un guión normal. Esto funciona en mi caja de Fedora 20:

#!/bin/sh MYHOST=firtree echo "before:" cat /etc/hosts # Remove current line with hostname at the end of line ($ means end of line) sed -i ''/''$MYHOST''$/ d'' /etc/hosts echo "after remove: " cat /etc/hosts IPADDR=$(ifconfig | awk -F" +|:" ''/inet addr/ && $4 != "127.0.0.1" {print $4}'') echo "$IPADDR $MYHOST" >>/etc/hosts echo "ip: " $IPADDR echo "final: " cat /etc/hosts

Esto tiene que ejecutarse como root, y probablemente debería ir en una carpeta init.d.


Yo personalmente uso este script para establecer mi nombre de host (uno existente) + IP dinámica en el /etc/hosts :

#!/bin/bash ipaddr=$(/sbin/ifconfig eth0| grep ''inet addr'' | cut -d: -f2 | awk ''{print $1}'') hn=$(hostname) hnd=$(hostname -f) sed -i ''2s/.*/''$ipaddr'' ''$hnd'' ''$hn''/'' /etc/hosts

Saludos cordiales,


En Ubuntu, agregue un archivo ejecutable en el directorio /etc/network/if-up.d . Los archivos en este directorio se ejecutan después de que el administrador de red configura una interfaz de red.

Puede adaptar el siguiente script:

#!/bin/sh set -e if [ "$IFACE" = lo ]; then exit 0 fi myHostName=`hostname` # Remove current line with hostname at the end of line ($ means end of line) sed -i ''/''$myHostName''$/ d'' /etc/hosts ipaddr=$(ifconfig | grep ''inet addr:''| grep -v ''127.0.0.1'' | cut -d: -f2 | awk ''{ print $1}'') echo "$ipaddr $myHostName" >>/etc/hosts