Quiero cambiar el nombre de host del sistema operativo pero no quiero reiniciar.
He editado /etc/hostname
pero requiere un reinicio para implementarse. ¿Cómo evitar esto?
Quiero cambiar el nombre de host del sistema operativo pero no quiero reiniciar.
He editado /etc/hostname
pero requiere un reinicio para implementarse. ¿Cómo evitar esto?
Respuestas:
Es fácil. Simplemente haga clic en el ícono de Gear (ubicado en la esquina superior derecha de la pantalla), abra la pantalla "Acerca de esta computadora" (ubicada en el ícono de Gear) y edite "Nombre del dispositivo".
O, en una terminal, use el siguiente comando:
sudo hostname your-new-name
Esto establecerá el nombre de host en your-new-name hasta que reinicie. ¿Ver man hostname
y cómo cambio el nombre de la computadora? para mayor información. No lo use _
en su nombre.
Nota
Después de reiniciar /etc/hostname
, se usarán sus cambios , por lo que (como dijo en la pregunta), aún debe usar
sudo -H gedit /etc/hostname
(o algún otro editor) para que el archivo contenga el nombre de host.
Para probar que el archivo está configurado correctamente, ejecute:
sudo service hostname start
También debe editar /etc/hosts
y cambiar la línea que dice:
127.0.1.1 your-old-hostname
para que ahora contenga su nuevo nombre de host. (Esto es necesario; de lo contrario, muchos comandos dejarán de funcionar).
/etc/hosts
(ver otras respuestas)
hostname
hará que el nuevo nombre tenga efecto inmediato, no es "permanente" a menos que también cambie /etc/hostname
y /etc/hosts
, dado que esos son los archivos que se leerán después de un reinicio o un bloqueo, que por supuesto, es posible que no esperando de antemano.
El hostnamectl
comando forma parte de la instalación predeterminada en las ediciones Desktop y Server.
Combina la configuración del nombre de host mediante el hostname
comando y la edición /etc/hostname
. Además de configurar el nombre de host estático, puede establecer el nombre de host "bonito", que no se usa en Ubuntu. Desafortunadamente, la edición /etc/hosts
aún debe hacerse por separado.
hostnamectl set-hostname new-hostname
Este comando es parte del systemd-services
paquete (que, a partir de Ubuntu 14.04, también incluye los comandos timedatectl
y localectl
). A medida que Ubuntu migra systemd
, esta herramienta es el futuro.
hostnamectl
no existe. Supongo que algunos sabores de Ubuntu todavía no usan systemd.
Cambiar el nombre de host o el nombre de la computadora en ubuntu sin reiniciar
Edite / etc / hostname y cambie al nuevo valor,
nano /etc/hostname
Edite / etc / hosts y cambie la antigua línea 127.0.1.1 a su nuevo nombre de host
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Nota : lo he leído en un foro> Editar / etc / hosts y cambiar la antigua línea 127.0.1.1 a su nuevo nombre de host (si no lo hace, ya no podrá usar sudo. Si ya lo ha hecho) , presione ESC en el menú de grub, elija recuperación y edite su archivo host a la configuración correcta)
Ahora, después de reiniciar, su nombre de host será el nuevo que eligió
Para cambiar sin reiniciar , puede usar hostname.sh después de editar / etc / hostname. Debe mantener ambos nombres de host en / etc / hosts (127.0.0.1 newhost oldhost) hasta que ejecute el siguiente comando:
sudo service hostname start
Nota : Comando anterior para activar el cambio. El nombre de host guardado en este archivo (/ etc / hostname) se conservará al reiniciar el sistema (y se establecerá utilizando el mismo servicio).
sudo: unable to resolve host old-hostname
. Por esa parte, la solución @jesperado funciona bien.
/etc/hosts
, las cosas de mant comienzan a fallar en 12.04.2 LTS, incluido el w
comando, Apache /sbin/reboot
y mucho más. Asegúrese de actualizar/etc/hosts
127.0.0.1
para localhost
y 127.0.1.1
para un nombre de host personalizado. ¿Derecho? Luego, hacia el final de su respuesta, para una acción sin rebot , usted hace referencia /etc/hosts
y 127.0.0.1 newhost oldhost
. Entonces, ¿no hay necesidad de una 127.0.1.1
dirección?
sudo nano /etc/hosts
para que el cambio surta efecto; sin sudo, simplemente nano /etc/hosts
no guardó el cambio
El nombre predeterminado se estableció cuando estaba instalando Ubuntu. Puede cambiarlo fácilmente a lo que desee en Desktop y Server editando los archivos hosts y hostname. A continuación se muestra cómo:
sudo hostname NEW_NAME_HERE
Esto cambiará el nombre de host hasta el próximo reinicio. El cambio no será visible inmediatamente en su terminal actual. Inicie una nueva terminal para ver el nuevo nombre de host.
Para cambiar el nombre permanentemente, ejecute el comando para editar los archivos host:
sudo -H gedit /etc/hostname
y sudo -H gedit /etc/hosts
Para el servidor Ubuntu sin una interfaz gráfica de usuario, ejecutar sudo vi /etc/hostname
y sudo vi /etc/hosts
y les editar uno por uno. En ambos archivos, cambie el nombre a lo que desee y guárdelos.
Finalmente, reinicie su computadora para aplicar los cambios.
Aquí hay un script que cambia el nombre de host de la manera prescrita. Asegura que no solo las sudo
aplicaciones X11 continúen funcionando sin necesidad de reiniciar.
Uso: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
? Sólo curioso.
xauth list
) y reemplaza el antiguo nombre de host con el nuevo nombre de host ( sed
). Luego awk
pone comillas alrededor del primer argumento xauth add
porque xauth
los formatos de entrada y salida no son simétricos.
Sin reiniciar:
/etc/hostname
/etc/hosts
consecuenciasudo sysctl kernel.hostname=mynew.local.host
Verifique su nombre de host actual con hostname -f
sudo: unable to resolve host oldname
, sysctl: setting key "kernel.hostname": Read-only file system
. Tal vez porque es una CT dentro de Proxmox.
Mientras que los enfoques anteriores ( hostnamectl
, etc/hostname
, etc.) trabajar por el cambio nombre de host inmediata, con la llegada de la nube-init - que puede controlar la configuración del nombre de host - amoungst muchas otras cosas. Por lo tanto, no se pegará después de un reinicio si está instalado cloud-init. Si desea que el cambio permanezca después de un reinicio, deberá editar los archivos de configuración de cloud-init , deshabilitar el módulo de configuración / actualización de nombre de host de cloud-init :
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
o deshabilitar cloud-init por completo:
sudo touch /etc/cloud/cloud-init.disabled
/etc/cloud/cloud.cfg
. ¿Cuál es el nombre del paquete? Solo cloud-init
?
Para obtener su nombre de host actual:
cat /etc/hostname
Esto se puede cambiar en cualquier editor de texto. También necesitaría actualizar la entrada que no sea localhost contra 127.0.0.1 en / etc / hosts.
/etc/hostname
con el nombre de host deseado (puede editar con sudo nano /etc/hostname
)/etc/hosts
, reemplace la entrada junto a 127.0. 1 .1 con el nombre de host deseado (puede editar con sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
# if you do nothing you'll end up with: # * /etc/hostname (and 'hostname') managed via: 'preserve_hostame: false' # if you do not change /etc/hostname, it will be updated with the cloud # provided hostname on each boot. If you make a change, then manual # maintenance takes over, and cloud-init will not modify it.
que actualmente no tengo Ubuntu 18, así que no puedo probarlo hasta el fin de semana.
Esto es sin reiniciar y sin ningún uso de terminal.
Terminal abierto Compruébalo por ti mismo.
(Para versiones anteriores, el cuadro de texto no es editable).
La respuesta clásica a la pregunta del póster original es que, una vez que haya editado /etc/hostname
, puede hacer que se aplique sin reiniciar ejecutando hostname (1) con la opción -F
( --file
) como root:
sudo hostname -F /etc/hostname
El manejo del nombre de host (5)/etc/hostname
y dicho programa ha sido el mismo en Debian y sus derivados durante más de veinte años, y el paquete que lo ha provisto ha sido etiquetado como esencial y requerido , y IIRC, los scripts de inicio han usado literalmente lo mismo para décadas ( /etc/init/hostname.conf
todavía lo contiene), así que tengo que decir que estoy realmente perplejo de cómo ya nadie había mencionado esto :)
sudo hostname your-new-name
sudo /etc/init.d/networking restart
Eso debería hacer el trabajo, creo
He leído las respuestas, pero creo que probablemente estés buscando esto:
Simplemente ejecute estos dos comandos después de editar el /etc/hostname
archivo.
$ sudo service hostname restart
$ exec bash
Eso es todo. No es necesario reiniciar. También asegúrese de cambiar también el nombre en el /etc/hosts
archivo.
/etc/hosts
(lo confirmé el 14.04).
Solución basada en la respuesta de la Comunidad DigitalOcean.
Editar archivo de hosts .
$ sudo nano /etc/hosts
Reemplazar oldname con uno nuevo.
127.0.0.1 localhost newname
Configurar nuevo nombre de host.
$ sudo hostnamectl set-hostname newname