Ik “heb gehoord dat het veranderen van de hostnaam in nieuwe versies van fedora wordt gedaan met de hostnamectl commando. Bovendien heb ik onlangs (en met succes) mijn hostnaam op Arch Linux gewijzigd met deze methode. Bij het uitvoeren van:

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

De wijzigingen blijven niet behouden na een herstart (in tegenstelling tot wat veel mensen beweren dat dit het geval is). Wat is er mis?

  • Ik echt wil /etc/hostname niet handmatig bewerken.

Ik moet ook opmerken dat dit een volledig stock-fedora is. Ik ben er nog niet eens aan toe gekomen om mijn kernapps te installeren.

Opmerkingen

  • Dit had vergelijkbare informatie over het probleem: ask.fedoraproject.org/en/question/37413/… & dit: dbaora.com/install-fedora-20
  • Inderdaad, dit is een van mijn bronnen. Geen van de oplossingen die ik van die pagina kon extraheren werkte echter …
  • Hoe recent heb je dit systeem geïnstalleerd / ingesteld? Is het probleem aanwezig sinds de installatie? Zijn er ook fouten met die hostnamectl opdrachten? De link naar de bugzilla-bug die iets heeft gepost, lijkt je beste lead.
  • Ik heb geïnstalleerd op 1/10/14, en sindsdien hebben de hostnamectl -opdrachten niet werken, maar nu doen ze het.
  • De bug in de geaccepteerde oplossing was gewoon een ongelukkige timing voor jou. Ze ' hebben het stroomopwaarts gerepareerd en het zou zich een weg moeten banen voor toekomstige gebruikers.

Antwoord

Het commando om de hostnaam in te stellen is zeker hostnamectl.

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

Hier is een aanvullende bron die deze functionaliteit een beetje meer beschrijft, getiteld: Correct instellen van de hostnaam – Fedora 20 op Amazon EC2 .

Aanvullend de man-pagina voor 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. 

Er is een bug in Fedora 21 waar SELinux hostnamectl toegang verhindert , hier gevonden, getiteld: Bug 1133368 – SELinux verhindert dat systemd-hostnam toegang tot de hostnaam van het bestand “ontkoppelt” .

Deze bug lijkt gerelateerd te zijn. Er is een probleem met de SELinux-contexten die niet correct worden toegepast op het bestand /etc/hostname tijdens de installatie. Dit komt tot uiting in de tool hostnamectl dat het bestand /etc/hostname niet kan worden gemanipuleerd. Diezelfde thread bood deze tijdelijke oplossing:

$sudo restorecon -v /etc/hostname 

OPMERKING: Die patches werden toegepast op Anaconda (de installatietool) zodat dit probleem in de toekomst voor nieuwe gebruikers zou verdwijnen.

Answer

De waarschijnlijke oorzaak hiervan is uw dhcp-client. Als u “dhcpcd gebruikt, wat gebruikelijk is, is de oplossing om de volgende regel toe te voegen aan /etc/dhcpcd.conf:

nohook hostname 

Dit voorkomt dat dhcpcd het script aanroept dat de hostnaam van je systeem verandert.

Standaard voert dhcpcd alle aanwezige hooks uit /lib/dhcpcd/dhcpcd-run-hooks (het pad kan verschillen op uw systeem). Door nohook te gebruiken, worden specifieke uitgeschakeld.

Opmerkingen

  • Voor zowel mijn 21 als rawhide installaties, /etc/dhcpd.conf bestaat niet. Bovendien geeft systemctl status dhcpcd terug not-found (Reason: No such file or directory)

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *