Úgy hallottam, hogy a fedora új verzióiban a hostnév megváltoztatása az parancs. Ezenkívül nemrég (és sikeresen) megváltoztattam a hostnevemet az Arch Linux-on ezzel a módszerrel. Futtatásakor azonban:
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
A módosításokat az újraindítás után nem őrzik meg (ellentétben sok ember állításával, hogy igen). Mi a baj?
- Nem igazán akarom, hogy
/etc/hostname
kézzel szerkesszem.
Azt is meg kell jegyeznem, hogy ez egy teljesen részvény fedora. Még nem is jutottam hozzá az alapalkalmazásaim telepítéséhez.
Megjegyzések
Válasz
A hosztnév beállítására szolgáló parancs határozottan hostnamectl
.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
Itt van egy további forrás, amely egy kicsit bővebben leírja ezt a funkciót, a következő címmel: A hosztnév helyes beállítása – Fedora 20 az Amazon EC2-n .
Ezenkívül a hostnamectl
kézikönyv oldala:
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.
Van egy hiba a Fedora 21-ben, ahol a SELinux megakadályozza a hostnamectl elérését , itt található, címmel: 1133368 hiba – A SELinux megakadályozza, hogy a systemd-hostnam “leválasztja” a hozzáféréseket a fájl gazdagépnevéről .
Ez a hiba Úgy tűnik, hogy kapcsolatban áll. Van egy probléma azzal, hogy a SELinux-kontextusokat a telepítéskor nem megfelelően alkalmazzák az /etc/hostname
fájlra. Ez abban nyilvánul meg, hogy a hostnamectl
eszköz nem képes manipulálni a /etc/hostname
fájlt. Ugyanez a szál kínálta ezt a megoldást:
$sudo restorecon -v /etc/hostname
MEGJEGYZÉS: Az Anaconda (telepítőeszköz) javításokat alkalmazták, így az új felhasználók számára ez a probléma a jövőben megszűnik.
Válasz
Ennek valószínű oka a dhcp kliens. Ha a szokásos dhcpcd fájlt használja, a megoldás az, hogy a következő sort hozzáadja az /etc/dhcpcd.conf
sorhoz:
nohook hostname
Ez megakadályozza, hogy a dhcpcd felhívja a parancsfájlt, amely megváltoztatja a rendszer hosztnevét.
Alapértelmezés szerint a dhcpcd futtatja az összes jelen lévő horgot /lib/dhcpcd/dhcpcd-run-hooks
(az útvonal eltérhet a rendszerén). A nohook
használata letiltja a konkrétakat.
Megjegyzések
- A 21-es és nyersbőr telepítés,
/etc/dhcpd.conf
nem létezik. Ezenkívül azsystemctl status dhcpcd
visszaadja anot-found (Reason: No such file or directory)
hostnamectl
parancsokkal? A valahol közzétett bugzilla hibára mutató link a legjobb leadnek tűnik.hostnamectl
parancsok nem dolgoznak, de most megteszik.