Slyšel jsem, že změna názvu hostitele v nových verzích Fedory se provádí pomocí hostnamectl
Příkaz. Navíc jsem nedávno (a úspěšně) změnil svůj název hostitele na Arch Linux pomocí této metody. Při spuštění:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
Změny se po restartu nezachovají (na rozdíl od tvrzení mnoha lidí, že ano). Co se děje?
- Opravdu nechci
/etc/hostname
upravovat ručně.
Měl bych také poznamenat, že toto je zcela akciová fedora. K instalaci svých hlavních aplikací jsem se ještě nedostal.
Komentáře
Odpovědět
Příkaz k nastavení názvu hostitele je určitě hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Zde je další zdroj, který popisuje tuto funkci o něco více, s názvem: Správné nastavení názvu hostitele – Fedora 20 na Amazonu EC2 .
Navíc manuálová stránka pro 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.
Ve Fedoře 21 je chyba, kde SELinux brání přístupu hostnamectl , nalezeno zde, s názvem: Chyba 1133368 – SELinux brání systemd-hostnam v „odpojení“ přístupů k názvu hostitele souboru .
Tato chyba Zdá se, že to souvisí. Vyskytl se problém s tím, že kontexty SELinuxu nebyly při instalaci správně aplikovány na soubor /etc/hostname
. To se projevuje tím, že nástroj hostnamectl
není schopen manipulovat se souborem /etc/hostname
. Stejné vlákno nabídlo toto řešení:
$sudo restorecon -v /etc/hostname
POZNÁMKA: Tyto opravy byly použity pro Anacondu (instalační nástroj), aby tento problém v budoucnu u nových uživatelů zmizel.
Odpovědět
Pravděpodobnou příčinou je váš klient dhcp. Pokud používáte dhcpcd, což je běžné, je řešením přidat následující řádek do /etc/dhcpcd.conf
:
nohook hostname
Tím se zabrání dhcpcd ve volání skriptu, který mění název vašeho systému.
Ve výchozím nastavení spouští dhcpcd všechny přítomné háčky /lib/dhcpcd/dhcpcd-run-hooks
(cesta se může lišit ve vašem systému). Použití nohook
zakáže konkrétní.
Komentáře
- Pro mé 21 i rawhide instalace,
/etc/dhcpd.conf
neexistuje. Kromě tohosystemctl status dhcpcd
vrátínot-found (Reason: No such file or directory)
hostnamectl
příkazy? Odkaz na bugzillu, kterou něco zveřejnilo, se zdá být vaším nejlepším řešením.hostnamectl
ne práce, ale teď už ano.