Escuché que cambiar el nombre de host en las nuevas versiones de Fedora se realiza con el hostnamectl
comando. Además, recientemente (y con éxito) cambié mi nombre de host en Arch Linux con este método. Sin embargo, al ejecutar:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
Los cambios no se conservan después de reiniciar (contrariamente a lo que mucha gente afirma que sí). ¿Lo que está mal?
- Ien realidadNo quiero editar
/etc/hostname
manualmente.
También debo señalar que este es uncompletamentesombrero de fieltro común. Ni siquiera he podido instalar mis aplicaciones principales todavía.
Respuesta1
El comando para establecer el nombre de host es definitivamente hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Aquí hay una fuente adicional que describe esta funcionalidad un poco más, titulada:Configurar correctamente el nombre de host - Fedora 20 en Amazon EC2.
Además, la página de manual para hostnamectl
:
HOSTNAMECTL(1) hostnamectl HOSTNAMECTL(1)
NAME
hostnamectl - Control the system hostname
SYNOPSIS
hostnamectl [OPTIONS...] {COMMAND}
DESCRIPTION
hostnamectl may be used to query and change the system hostname and
related settings.
This tool distinguishes three different hostnames: the high-level
"pretty" hostname which might include all kinds of special characters
(e.g. "Lennart's Laptop"), the static hostname which is used to
initialize the kernel hostname at boot (e.g. "lennarts-laptop"), and
the transient hostname which is a default received from network
configuration. If a static hostname is set, and is valid (something
other than localhost), then the transient hostname is not used.
Note that the pretty hostname has little restrictions on the characters
used, while the static and transient hostnames are limited to the
usually accepted characters of Internet domain names.
The static hostname is stored in /etc/hostname, see hostname(5) for
more information. The pretty hostname, chassis type, and icon name are
stored in /etc/machine-info, see machine-info(5).
Use systemd-firstboot(1) to initialize the system host name for mounted
(but not booted) system images.
Hay un error en Fedora 21 donde SELinux impide el acceso a hostnamectl, que se encuentra aquí, titulado:Error 1133368: SELinux impide que systemd-hostnam "desvincule" los accesos al archivo hostname.
Este error parece estar relacionado. Hay un problema con los contextos de SELinux que no se aplican correctamente al archivo /etc/hostname
durante la instalación. Esto se manifiesta en que la herramienta hostnamectl
no puede manipular el archivo /etc/hostname
. Ese mismo hilo ofreció esta solución:
$sudo restorecon -v /etc/hostname
NOTA:Se aplicaron parches a Anaconda (la herramienta de instalación) para que este problema desaparezca en el futuro para los nuevos usuarios.
Respuesta2
La causa probable de esto es su cliente dhcp. Si está utilizando dhcpcd, que es común, la solución es agregar la siguiente línea a /etc/dhcpcd.conf
:
nohook hostname
Esto evita que dhcpcd llame al script que cambia el nombre de host de su sistema.
De forma predeterminada, dhcpcd ejecuta todos los enlaces presentes /lib/dhcpcd/dhcpcd-run-hooks
(la ruta puede diferir en su sistema). El uso nohook
desactiva algunos específicos.