Am auzit că schimbarea numelui de gazdă în noile versiuni de fedora se face cu hostnamectl
comanda. În plus, recent (și cu succes) mi-am schimbat numele de gazdă pe Arch Linux cu această metodă. Cu toate acestea, când rulez:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
Modificările nu sunt păstrate după o repornire (spre deosebire de afirmațiile multor persoane că o face). Ce este în neregulă?
- Nu într-adevăr nu vreau să editez manual
/etc/hostname
manual.
Ar trebui, de asemenea, să menționez că acesta este un stoc complet . Nu am reușit nici măcar să instalez aplicațiile mele de bază.
Comentarii
Răspuns
Comanda pentru setarea numelui de gazdă este cu siguranță, hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Iată o sursă suplimentară care descrie ceva mai mult această funcționalitate, intitulată: Setarea corectă a numelui de gazdă – Fedora 20 pe Amazon EC2 .
În plus, pagina de manual pentru 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.
Există o eroare în Fedora 21 în care SELinux împiedică accesul hostnamectl , găsit aici, intitulat: Bugul 1133368 – SELinux împiedică sistemul-hostnam să „deconecteze” accesele la fișierul hostname .
Această eroare pare a fi legat. Există o problemă cu contextele SELinux care nu sunt aplicate corect la fișierul /etc/hostname
la instalare. Acest lucru se manifestă în instrumentul hostnamectl
neputând manipula fișierul /etc/hostname
. Același fir a oferit această soluție:
$sudo restorecon -v /etc/hostname
NOTĂ: Că patch-urile au fost aplicate Anaconda (instrumentul de instalare), astfel încât această problemă să dispară în viitor pentru utilizatorii noi.
Răspuns
Cauza probabilă a acestui fapt este clientul dvs. dhcp. Dacă utilizați dhcpcd, ceea ce este obișnuit, soluția este să adăugați următoarea linie la /etc/dhcpcd.conf
:
nohook hostname
Acest lucru împiedică dhcpcd să apeleze la scriptul care vă schimbă numele de gazdă al sistemului.
În mod implicit, dhcpcd rulează toate cârligele prezente /lib/dhcpcd/dhcpcd-run-hooks
(calea poate diferi pe sistemul dvs.). Utilizarea nohook
dezactivează unele specifice.
Comentarii
- Atât pentru 21 cât și pentru instalările rawhide,
/etc/dhcpd.conf
nu există. În plus,systemctl status dhcpcd
returneazănot-found (Reason: No such file or directory)
hostnamectl
? Link-ul către bug-ul bugzilla publicat de ceva pare a fi cel mai bun client potențial.hostnamectl
nu au funcționează, dar acum funcționează.