¿Cómo cambio el nombre de la computadora?

327

Cuando me conecto a mi servidor (ubuntu server 10.10), obtengo esto:

[email protected] ~>

¿Cómo puedo eliminar ".belkin"?

Wolfy
fuente
1
Intenta editar / etc / hosts. gksudo gedit / etc / hosts y reemplace server-name.belkin por el nombre que desee.
LFC_fan
2
¿Desea cambiar el nombre real del servidor o solo la forma en que se muestra en el mensaje?
Dave Jennings
2
Votar para volver a abrir, porque este es un superconjunto (permite reiniciar).
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
¿Cómo se cierra esta pregunta a favor de una que se hizo más de un año después?
Warren
@warren, el consenso actual es cerrar por "calidad": meta.stackexchange.com/questions/147643/… Dado que la "calidad" no es medible, simplemente voy por votos positivos. ;-) Probablemente se trata de qué pregunta golpeó las mejores palabras clave de Google para principiantes en el título.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

420

Necesita editar el nombre de la computadora en dos archivos:

/etc/hostname 

y

/etc/hosts

Ambos necesitarán acceso administrativo, así que ejecute

gksu gedit /path/to/file

Reemplace cualquier instancia del nombre de la computadora existente con la nueva. Cuando se completa la carrera

sudo service hostname start

El nombre también cambiará si reinicia su computadora.

Ver también:

richzilla
fuente
43
Después de eso, solo sudo service hostname restarty el nombre de host ha cambiado sin reiniciar.
Anthony O.
66
En Ubuntu 14.04 no hay servicio 'hostname'. ¿Qué puedo hacer allí para evitar reiniciar?
Arpad Horvath
8
sudo service hostname restartno funciona en la instalación predeterminada del servidor ubuntu 14.04 en AWS. Tuve que reiniciar el servidor completo
gerrytan
99
El 14.04, simplemente corrí sudo hostname, y eso funcionó. No noté ningún cambio inmediato, pero cuando abrí una nueva terminal, vi que mi nombre de host había cambiado.
TSJNachos117
8
sudo hostname new-host-namefuncionó para mí en Ubuntu 13.10
Lekhnath
153

hostnamectl set-hostname en el escritorio 13.10+

Esta es la mejor manera si tiene systemd (13.10 en adelante) y si cloud-init no está activo (ver más abajo):

hostnamectl set-hostname 'new-hostname'

Eso:

  • no requiere reiniciar
  • persiste después de reiniciar

Más información en: https://askubuntu.com/a/516898/52975

18.04 en adelante: cloud-init

18.04 Se introdujo cloud-init que puede controlar la configuración del nombre de host para que los hostnamectlcambios no se peguen después de un reinicio si se instala cloud-init. TODO: cómo verificar si está instalado, ¿está instalado por defecto en la imagen del escritorio o solo en el servidor?

Si desea que los hostnamectlcambios se mantengan 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 -i 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

o deshabilitar cloud-init por completo:

sudo touch /etc/cloud/cloud-init.disabled

Consulte también: ¿Cómo cambio el nombre de host sin reiniciar?

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente
3
funciona perfectamente en Ubuntu 15.10
AB
44
No cambia / etc / hosts en 14.04
Autodidacta el
77
funciona perfectamente en ubuntu 16.04 ... muchas gracias
Hirak
2
Confirmado para funcionar correctamente en 16.10 también
fuzzygroup
2
Tuve que agregar mi nuevo nombre de host a / etc / hosts, de lo contrario, usar sudo causaría un error "sudo: no se puede resolver el host xxxxx"
WoodyDRN
70

Es bastante fácil:

  1. Edite /etc/hostname, cambie el nombre, guarde el archivo.

  2. También debe hacer los mismos cambios en el /etc/hostsarchivo

  3. correr sudo service hostname start

Siempre que no tenga configuraciones de aplicación dependiendo del nombre de host 'antiguo', debería estar bien ;-)

Pavlos G.
fuente
31
ADVERTENCIA: Si hace esto sin cambiar / etc / hosts en consecuencia, no podrá usar sudo porque su nombre de host no podrá buscar
João Pinto
Tienes razón con respecto a la edición de / etc / hosts, lo olvidé (solo lo agregué a mi respuesta), aunque sudo parece estar funcionando bien para mí sin cambiarlo (he reiniciado la máquina y todavía funciona)
Pavlos G.
1
Está bien, puede hacerlo ya que hostnameahora es un servicio administrado upstart. Hará exactamente lo mismo, reiniciará el servicio.
Pavlos G.
2
Nota: esto no funcionará para ubuntu 14.x, como hostnameya no está eninit.d
Rápli András el
2
Advertencia: no funcionará con Ubuntu 18+, que ejecuta cloud-init de forma predeterminada, que controla el nombre de host en el arranque.
nslntmnx
24

Es seguro hacerlo, solo debe asegurarse de editar tanto el archivo de configuración del nombre de host del sistema (/ etc / hostname) como el archivo de resolución de nombre de nombre de host (/ etc / hosts). Desde una terminal ejecute lo siguiente:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now
João Pinto
fuente
2
Puede evitar el apagado con sudo service hostname restart.
Wtower
3
@Wtower no funciona con 14.04. :(
ankush981
Advertencia: no funcionará con Ubuntu 18+, que ejecuta cloud-init de forma predeterminada, que controla el nombre de host en el arranque.
nslntmnx
18

Además de editar / etc / hosts y / etc / hostname, varios servicios también pueden tener problemas con el cambio. Mysql y postfix se instalan por defecto en ubuntu. Un postfix roto no afectará a la mayoría de los usuarios de ubuntu, ya que es un servidor de correo electrónico en segundo plano que no es utilizado por muchos.

Sufijo:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

La configuración predeterminada para mysql no usa hostname, por lo que funcionará bien tal cual. Si lo ha personalizado, edite los archivos en / etc / mysql / y reinicie el servicio.

También es posible que desee editar / etc / motd (mensaje del día), que se muestra en terminales virtuales e inicios de sesión remotos. Sin embargo, ese no dañará nada.

Otros servicios que puede haber instalado que necesitarían reparación son apache, bind9, etc. En cada caso, busque y edite el nombre de host en su configuración y reinicie el servicio.

Robots imaginarios
fuente
14

El nombre de host identifica de forma exclusiva su computadora en la red local (y posiblemente también en Internet), por lo que no es una buena idea cambiarla a menos que sepa lo que está haciendo.

Pero puede cambiar el indicador de shell para que no muestre la .belkin(parte del nombre de dominio):

export PS1='\u@\h \w> '

Consulte la página de manual de bash y específicamente la sección sobre instrucciones para obtener más información.

Riccardo Murri
fuente
14

Otra forma mejor y segura de cambiar el nombre de hostname

Instalar ailurus

  • Agregue el PPA y actualice su repositorio

    sudo add-apt-repository ppa:ailurus && sudo apt-get update

  • Instalar ailurus

    sudo apt-get install ailurus

  • Después de la instalación, se encontrará en Aplicaciones >> Herramientas del sistema >> Ailurus
    texto alternativo
karthick87
fuente
55
¿Por qué esto recibe votos negativos? Debería ser mejor configurar algo con una herramienta dedicada que muckear en la línea de comando y romper cosas en el proceso.
endolito el
38
Instalar un software tan grande solo para cambiar un nombre de host es un poco exagerado
Nemo
99
Estoy de acuerdo en que esto es una exageración - en particular, ya que el software no está disponible en los repositorios, pero tiene que ser instalado desde un PPA ...
Marcel Stimberg
@ karthick87 ¿quizás mencione en su respuesta que este es un gran software (con otras opciones de configuración)? - personalmente estoy de acuerdo con endolith en que una herramienta con un único punto de cambio simple es mejor que muchas operaciones de línea de comandos (uso Ubuntu Tweak, también disponible actualmente desde un PPA)
david.libremone
Creo que puede romper muchas más cosas (y más fácilmente) con esta herramienta, que simplemente reemplazar una palabra en un par de archivos. Expuso demasiadas cosas para ti.
gerlos
9

Si no quieres jugar con un editor de texto, Ubuntu Tweak (toma el deb de su sitio web) lo tiene como una de las pequeñas cosas con las que puedes jugar (junto con muchos otros pequeños ajustes que quizás quieras hacer pero realmente no quiero jugar con el terminal y los archivos en sí).

dkuntz2
fuente
Por curiosidad, ¿hay alguna razón particular por la que Ubuntu Tweak no esté en los repositorios de software?
Olivier Lalonde
Nunca llegaron a agregarlo / no han sido aceptados. Puede agregar su repositorio a su lista ya sea justo después de comenzar a ajustar o a través de la lista de terminal / repositorio.
dkuntz2
También puede agregar Ubuntu Tweak como un PPA con sudo add-apt-repository ppa:tualatrix/ppacontinuación sudo apt-get updatea continuación sudo apt-get install ubuntu-tweak
david.libremone
1
tenga en cuenta que desde ~ 13.04 Ubuntu Tweak ya no ofrece esta opción
david.libremone
9

Usa el hostnamecomando para cambiar tu nombre de host

sudo hostname newname

Sin embargo, esto no edita su archivo de hosts, lo que debe hacer para asegurarse de que su computadora se reconozca

gksudo /etc/hosts

Y agregue una nueva entrada para su nombre de host que apunte a 127.0.0.1

127.0.0.1 oldname newname

También podría eliminar la entrada anterior, pero prefiero mantenerla allí.

Nemo
fuente
7

El siguiente comando cambia el nombre de host sobre la marcha, pero para que sea permanente, debe editar /etc/hostname:

echo 'new_hostname' > /proc/sys/kernel/hostname

Abra una nueva sesión de terminal y la verá de inmediato.

Con el systemdlugar, la forma correcta de hacerlo es

hostnamectl set-hostname "new_name"
Terry Wang
fuente
4

Si desea un proceso asistido por GUI, instale Ubuntu-Tweak. Entre otros usos de esta aplicación está la capacidad de cambiar el nombre de la computadora a través de la pestaña "Detalles de la computadora" -> "Nombre de host"

13east
fuente
3

Configuración del sistema -> Detalles -> Overwiev (predeterminado abierto en U16.04) - Nombre del dispositivo.

pero además debe cambiar el nombre en / etc / hosts. Ubuntu BUG ()?

udroidman
fuente
Creo que esta es una forma bastante agradable de cambiar el nombre de host.
jawtheshark
2

Abra una terminal y

sudo sed -i '1s/.*/desired-name/g' /etc/hostname

# you need restart to effect with...

sudo shutdown -r 0
SergioAraujo
fuente
Advertencia: no funcionará con Ubuntu 18+, que ejecuta cloud-init de forma predeterminada, que controla el nombre de host en el arranque.
nslntmnx