Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cambia el nombre de host de la instancia AL2
Cuando lanzas una instancia en una VPC privada, Amazon EC2 asigna un nombre de host del sistema operativo invitado. El tipo de nombre de host que Amazon EC2 asigna depende de la configuración de la subred. Para obtener más información sobre EC2 los nombres de host, consulta los tipos de nombres de host de las EC2 instancias de Amazon en la Guía del EC2 usuario de Amazon.
Un nombre DNS EC2 privado típico de Amazon para una EC2 instancia configurada para usar una nomenclatura basada en IP con una IPv4 dirección tiene el siguiente aspecto:ip-12-34-56-78.us-west-2.compute.internal, donde el nombre consta del dominio interno, el servicio (en este caso,compute), la región y una forma de la IPv4 dirección privada. Parte de este nombre de host se muestra en el símbolo de shell cuando inicia sesión en la instancia (por ejemplo, ip-12-34-56-78). Cada vez que detiene y reinicia la EC2 instancia de Amazon (a menos que utilice una dirección IP elástica), la IPv4 dirección pública cambia, al igual que el nombre de DNS público, el nombre de host del sistema y el intérprete de comandos.
importante
Esta información se aplica a Amazon Linux. Para obtener información acerca de otras distribuciones, consulte la documentación específica.
Cambiar el nombre de host del sistema
Si tiene un nombre DNS público registrado para la dirección IP de la instancia (como webserver.mydomain.com), puede establecer el nombre de host del sistema de manera que la instancia se identifique como una parte de ese dominio. Esto también cambia la línea de comandos del shell para que muestre la primera parte de este nombre en lugar del nombre de host proporcionado por AWS (por ejemplo,ip-12-34-56-78). Si no tiene un nombre DNS público registrado, puede cambiar el nombre del host pero el proceso varía un poco.
Para que la actualización del nombre de host persista, debe verificar que la configuración preserve_hostname cloud-init esté establecida en true. Puede ejecutar el siguiente comando para editar o agregar esta configuración:
sudo vi /etc/cloud/cloud.cfg
Si la configuración preserve_hostname no aparece en la lista, agregue la siguiente línea de texto al final del archivo:
preserve_hostname: true
Para cambiar el nombre de host del sistema por un nombre DNS público
Siga este procedimiento si ya tiene un nombre DNS público registrado.
-
-
Para AL2: utilice el hostnamectl comando para configurar el nombre de host de forma que refleje el nombre de dominio completo (por ejemplo,).
webserver.mydomain.com[ec2-user ~]$sudo hostnamectl set-hostnamewebserver.mydomain.com -
Para Amazon Linux AMI: en la instancia, abra el archivo de configuración
/etc/sysconfig/networken el editor de texto de su elección y cambie la entradaHOSTNAMEpara que refleje el nombre de dominio completo (comowebserver.mydomain.com).HOSTNAME=webserver.mydomain.com
-
-
Reinicie la instancia para actualizar el nuevo nombre de host.
[ec2-user ~]$sudo rebootComo alternativa, puede reiniciar mediante la EC2 consola de Amazon (en la página Instancias, seleccione la instancia y elija Estado de la instancia, Reiniciar instancia).
-
Inicie sesión en la instancia y compruebe que el nombre de host se ha actualizado. El símbolo debería mostrar ahora el nuevo nombre de host (hasta el primer “.”) y el comando hostname debería mostrar el nombre de dominio completo.
[ec2-user@webserver ~]$hostnamewebserver.mydomain.com
Para cambiar el nombre de host del sistema sin un nombre DNS público
-
-
Para AL2: utilice el hostnamectl comando para configurar el nombre de host de forma que refleje el nombre de host del sistema deseado (por ejemplo).
webserver[ec2-user ~]$sudo hostnamectl set-hostnamewebserver.localdomain -
Para Amazon Linux AMI: en la instancia, abra el archivo de configuración
/etc/sysconfig/networken el editor de texto que prefiera y cambie la entradaHOSTNAMEpara que refleje el nombre de host del sistema deseado (comowebserver).HOSTNAME=webserver.localdomain
-
-
Abra el archivo de configuración
/etc/hostsen el editor de texto que prefiera y cambie la entrada que comienza por127.0.0.1para que coincida con el ejemplo siguiente, cambiando el nombre de host por el suyo.127.0.0.1webserver.localdomainwebserverlocalhost4 localhost4.localdomain4 -
Reinicie la instancia para actualizar el nuevo nombre de host.
[ec2-user ~]$sudo rebootComo alternativa, puede reiniciar mediante la EC2 consola de Amazon (en la página Instancias, seleccione la instancia y elija Estado de la instancia, Reiniciar instancia).
-
Inicie sesión en la instancia y compruebe que el nombre de host se ha actualizado. El símbolo debería mostrar ahora el nuevo nombre de host (hasta el primer “.”) y el comando hostname debería mostrar el nombre de dominio completo.
[ec2-user@webserver ~]$hostnamewebserver.localdomain
También puede implementar más soluciones de programación, como especificar los datos del usuario para configurar la instancia. Si la instancia forma parte de un grupo de escalado automático, puede usar enlaces de ciclo de vida para definir los datos del usuario. Para obtener más información, consulte Ejecutar comandos en la instancia de Linux durante la inicialización y Lifecycle hook for instance launch (Enlace de ciclo de vida para la inicialización de una instancia) en la Guía del usuario de AWS CloudFormation .
Cambiar el símbolo de shell sin que afecte al nombre de host
Si no quieres modificar el nombre de host de la instancia, pero te gustaría que se muestre un nombre de sistema más útil (por ejemplowebserver) que el nombre privado que proporciona AWS (por ejemplo,ip-12-34-56-78), puedes editar los archivos de configuración del intérprete de comandos para que muestren el apodo del sistema en lugar del nombre de host.
Para cambiar el símbolo del shell por una alias de host
-
Cree un archivo en
/etc/profile.dque establezca la variable de entorno llamadaNICKNAMEen el valor que desea para el símbolo del shell. Por ejemplo, para establecer el alias del sistema enwebserver, ejecute el comando siguiente.[ec2-user ~]$sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh' -
Abra el archivo
/etc/bashrc(Red Hat) o/etc/bash.bashrc(Debian/Ubuntu) en el editor de texto que prefiera (por ejemplo, vim o nano). Debe utilizar sudo con el comando del editor porque/etc/bashrcy/etc/bash.bashrcson propiedad deroot. -
Modifique el archivo y cambie la variable del símbolo del shell (
PS1) para que muestre el alias en lugar del nombre de host. Busque la línea siguiente que establece el símbolo del shell en/etc/bashrco/etc/bash.bashrc(abajo se muestran algunas de las líneas que lo rodean como contexto; busque la línea que comienza por[ "$PS1"):# Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h\W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windowsCambie
\h(el símbolo dehostname) de esa línea por el valor de la variableNICKNAME.# Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@$NICKNAME\W]\\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows -
(Opcional) Para establecer el título de las ventanas del shell en el nuevo alias, complete los pasos siguientes.
-
Cree un archivo denominado
/etc/sysconfig/bash-prompt-xterm.[ec2-user ~]$sudo touch /etc/sysconfig/bash-prompt-xterm -
Haga el archivo ejecutable con el siguiente comando.
[ec2-user ~]$sudo chmod +x /etc/sysconfig/bash-prompt-xterm -
Abra el archivo
/etc/sysconfig/bash-prompt-xtermen el editor de textos que prefiera (como vim o nano). Debe utilizar sudo con el comando del editor porque el propietario de/etc/sysconfig/bash-prompt-xtermesroot. -
Añada la línea siguiente al archivo.
echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
-
-
Cierre sesión y vuelva a iniciarla para actualizar el nuevo valor del alias.
Cambiar el nombre de host en otras distribuciones de Linux
Los procedimientos de esta página son para usar con Amazon Linux únicamente. Para obtener más información acerca de otras distribuciones de Linux, consulte su documentación específica y los artículos siguientes: