Busqué una respuesta a esta pregunta en serverfault y no pude encontrarla. Sé que es posible, pero no recuerdo cómo hacerlo. ¿Cómo cambio el nombre de host de un host Linux y hago que ese cambio surta efecto sin reiniciar?
Estoy usando Ubuntu 16 y Ubuntu 18.
Una gran característica de Ubuntu es el escritorio gráfico y las utilidades del sistema gráfico. Sin embargo, estamos ejecutando Ubuntu en nuestro entorno de producción, por lo que elegimos no utilizar el escritorio gráfico o las utilidades para que esas características no consuman los recursos que necesitamos en nuestro entorno de producción.
Sé que para cambiar el nombre del host, edito los archivos:
/etc/hostname
/etc/hosts
En el /etc/hostname
uno solo reemplaza el nombre de host actual (que pronto será el antiguo nombre de host) con el nuevo nombre de host.
Ubuntu en el /etc/hosts
archivo tiene la línea:
127.0.1.1 your-hostname your-hostname
Actúa como arranque mientras su host se inicia y se establece dentro de su red. Antes de cambiar el nombre de host, your-hostname
es el actual (que pronto será el antiguo nombre de host) y, como parte del cambio del nombre de host de su host, uno reemplaza ese nombre con el nuevo nombre.
Con lo que estoy familiarizado es ejecutar los dos pasos anteriores y luego reiniciar su host. Pero muchas veces, como con un servidor de producción, a uno le gustaría ejecutar ese cambio de nombre, pero no reiniciar el host.
¿Cómo puedo cambiar el nombre de host en un host y hacer que ese cambio surta efecto sin reiniciar el host?
Respuestas:
Puede cambiar la idea del núcleo del nombre de host en un sistema basado en systemd utilizando la
hostnamectl
herramienta. Por ejemplo:Puede ver la idea actual del sistema del nombre de host con:
Tenga en cuenta que esto no cambia la idea de un proceso en ejecución del nombre de host. Tal proceso tendría que verificar el nombre de host nuevamente para poder actualizarse, y casi ningún proceso lo hace. Por lo tanto, dicho proceso debería reiniciarse. Para que cada proceso comience a usar el nuevo nombre de host, deben reiniciarse. En general, es más fácil reiniciar el sistema que reiniciar cada servicio individualmente.
fuente
sudo /etc/init.d/network restart
aparte de eso, reiniciar las redes en mi servidor a través de ese comando, tu punto sobre reiniciar cualquier proceso en ejecución que necesite saber que el nombre del servidor es válido. Acordó que reiniciar el host solucionaría eso. Dicho esto, hay veces que realmente quiero cambiar el nombre de un host, pero realmente no quiero reiniciarlo. ¿Alguna opinión acerca desudo /etc/init.d/network restart
su nuevo nombre de host y su utilidad para que surta efecto sin reiniciar?/etc/init.d
es incorrecta en los sistemas systemd. Está justo allí para la compatibilidad con versiones anteriores del antiguo Sistema V.Puede cambiar el nombre de host en el núcleo usando:
En Linux, esto es prácticamente igual a cualquiera de los siguientes:
Esto no depende de systemd (a diferencia de hostnamectl que requiere systemd-hostnamed) o cualquier otra herramienta no estándar, y a menudo (especialmente en sistemas shellscript-init) es cómo se configuró el nombre de host inicial en primer lugar.
La mayoría de los programas y servicios en realidad no usan el nombre de host; los pocos que lo hacen (por ejemplo, Postfix o servicios que usan Kerberos) pueden reiniciarse uno por uno.
(Algunos programas almacenan en caché el nombre de host hasta que se reinicia, otros lo consultan cada vez que lo necesitan. Los programas también tienen la capacidad de sondear (2) / proc / sys / kernel / hostname para recibir notificaciones de cambio, pero pocos lo hacen).
fuente
/etc/postfix/main.cf
y/etc/mailname
, por lo que los tendrá que ser editado, también.