Ho sentito che la modifica del nome host nelle nuove versioni di fedora viene eseguita con hostnamectl. Inoltre, di recente (e con successo) ho cambiato il mio nome host su Arch Linux con questo metodo. Tuttavia, durante lesecuzione:

 [root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain  

Le modifiche non vengono conservate dopo un riavvio (contrariamente a quanto affermato da molte persone). Cosa cè che non va?

  • Veramente non voglio modificare /etc/hostname manualmente.

Dovrei anche notare che questo è un fedora completamente di serie. Non sono ancora riuscito a installare le mie app principali.

Commenti

  • Anche questo conteneva informazioni simili sul problema: ask.fedoraproject.org/en/question/37413/… & questo: dbaora.com/install-fedora-20
  • In effetti, questa è una delle mie fonti. Tuttavia, nessuna delle soluzioni che sono riuscito a estrarre da quella pagina ha funzionato …
  • Da quanto tempo hai installato / configurato questo sistema? Il problema è stato presente dallinstallazione? Inoltre ci sono errori con quei comandi hostnamectl? Il collegamento al bug bugzilla che qualcosa ha pubblicato sembra il tuo miglior vantaggio.
  • Lho installato il 01/10/14 e da allora i comandi hostnamectl non lo hanno fatto funzionano, ma ora lo fanno.
  • Il bug collegato alla soluzione accettata è stato solo un momento sfortunato per te. Lhanno ' corretto a monte e dovrebbe funzionare per i futuri utenti.

Risposta

Il comando per impostare il nome host è sicuramente hostnamectl.

root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE" 

Ecco una fonte aggiuntiva che descrive questa funzionalità un po di più, intitolata: Impostazione corretta del nome host – Fedora 20 su Amazon EC2 .

Inoltre la pagina man per 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. 

Cè un bug in Fedora 21 dove SELinux impedisce laccesso a hostnamectl , trovato qui, intitolato: Bug 1133368 – SELinux sta impedendo a systemd-hostnam di “unlink” accessi sul file hostname .

Questo bug sembra essere correlato. Cè un problema con i contesti SELinux non applicati correttamente al file /etc/hostname al momento dellinstallazione. Ciò si manifesta nel fatto che lo strumento hostnamectl non è in grado di manipolare il file /etc/hostname. Lo stesso thread ha offerto questa soluzione alternativa:

$sudo restorecon -v /etc/hostname 

NOTA: Quelle patch sono state applicate ad Anaconda (lo strumento di installazione) in modo che il problema scomparisse in futuro per i nuovi utenti.

Risposta

La probabile causa di ciò è il tuo client dhcp. Se stai utilizzando dhcpcd, che è comune, la soluzione è aggiungere la seguente riga a /etc/dhcpcd.conf:

nohook hostname 

Questo impedisce a dhcpcd di chiamare lo script che cambia il nome host del tuo sistema.

Per impostazione predefinita, dhcpcd esegue tutti gli hook presenti /lib/dhcpcd/dhcpcd-run-hooks (il percorso potrebbe differire sul tuo sistema). Luso di nohook disabilita quelli specifici.

Commenti

  • Sia per il mio 21 che per rawhide installs, /etc/dhcpd.conf non esiste. Inoltre, systemctl status dhcpcd restituisce not-found (Reason: No such file or directory)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *