Ouvi dizer que a alteração do nome do host nas novas versões do Fedora é feita com o hostnamectl
comando. Além disso, recentemente (e com sucesso) mudei meu nome de host no Arch Linux com este método. No entanto, ao executar:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain
[root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
As alterações não são preservadas após uma reinicialização (ao contrário do que muitas pessoas afirmam). O que está errado?
- EUrealmentenão quero editar
/etc/hostname
manualmente.
Devo também observar que este é umcompletamenteestoque fedora. Ainda nem consegui instalar meus aplicativos principais.
Responder1
O comando para definir o nome do host é definitivamente hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Aqui está uma fonte adicional que descreve um pouco mais essa funcionalidade, intitulada:Configurando corretamente o nome do host - Fedora 20 no Amazon EC2.
Além disso, a 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.
Há um bug no Fedora 21 onde o SELinux impede o acesso ao hostnamectl, encontrado aqui, intitulado:Bug 1133368 - SELinux está impedindo o systemd-hostnam de ‘desvincular’ acessos no nome do arquivo host.
Este bug parece estar relacionado. Há um problema com os contextos do SELinux que não são aplicados corretamente ao arquivo /etc/hostname
durante a instalação. Isso se manifesta na ferramenta hostnamectl
que não consegue manipular o arquivo /etc/hostname
. Esse mesmo tópico ofereceu esta solução alternativa:
$sudo restorecon -v /etc/hostname
OBSERVAÇÃO:Esses patches foram aplicados ao Anaconda (a ferramenta de instalação) para que esse problema desapareça no futuro para novos usuários.
Responder2
A causa provável para isso é o seu cliente DHCP. Se você estiver usando dhcpcd, o que é comum, a solução é adicionar a seguinte linha /etc/dhcpcd.conf
:
nohook hostname
Isso evita que o dhcpcd chame o script que altera o nome do host do seu sistema.
Por padrão, o dhcpcd executa todos os ganchos presentes /lib/dhcpcd/dhcpcd-run-hooks
(o caminho pode ser diferente no seu sistema). O uso nohook
desativa os específicos.