Pokud pracujete se servery nebo máte v domácí síti více počítačů, pochopit, jak přejmenovat hostitele v Linuxu Je to téměř povinné. Obecný název týmu, jako například localhost Zpočátku to může fungovat, ale jakmile spravujete několik počítačů, nastane chaos: duplikáty, zmatek při připojení přes SSH a problémy s identifikací, co je co.
V moderních distribucích a také v poněkud starších systémech existuje několik metod, jak změnit název hostitele, a to jak trvale, tak dočasně. dočasné a bez restartuV následujících částech uvidíte krok za krokem, jak na to hostnamectls textovými nástroji, jako například nmtui, úpravou klasických konfiguračních souborů nebo dokonce použitím jednoduchého příkazu hostname, kromě některých specifických detailů pro CentOS, Debian, Ubuntu, RHEL a deriváty.
Co je hostname v Linuxu a proč byste ho měli změnit?
Na jakémkoli systému Linux, název hostitele Je to identifikátor, kterým se stroj prezentuje v síti. Může to být jednoduchý název, například Server nebo něco propracovanějšího, jako např. srv-web-01.empresa.localAle vždy bude hlavní referencí pro další vybavení a služby.
Obvykle je výchozí název přiřazen během instalace distribuce; v mnoha případech localhost nebo obecný název, který toho moc neříká. Pokud máte více zařízení se stejným názvem hostitele Ve stejné síti se můžete setkat s konflikty při rozlišení jmen, službami, které nereagují tam, kde očekáváte, nebo jednoduše s obrovským chaosem při připojování přes SSH nebo správě protokolů.
V produkčním prostředí je běžné, že každý počítač má název. v souladu s jeho funkcí a umístěním (například LINUX-SYSADMIT-01, db01, mail-srv atd.). To zjednodušuje správu, monitorování a řešení problémů a také zabraňuje spoléhání se výhradně na IP adresy, které se mohou snadněji měnit.
Je také důležité si uvědomit, že název hostitele je obvykle spojen s konkrétní IP adresaV lokálních sítích se to často provádí pomocí souboru / Etc / hostsA ve větších sítích nebo na internetu prostřednictvím DNS. Proto je při změně názvu počítače vhodné zkontrolovat, zda v systému a síti neexistují odkazy, které by mohly stále odkazovat na starý název.
Zkontrolujte aktuální název hostitele v Linuxu
Než cokoli změníte, je vhodné zjistit, co Jaký název hostitele má počítač aktuálně?V Linuxu existuje několik způsobů, jak to zkontrolovat, a všechny jsou velmi rychlé.
Nejpřímější možností je použít příkaz hostname V terminálu:
hostname
Výstup tohoto příkazu jednoduše zobrazuje aktuální název hostitele, například:
Tipy pro LinuxShell
Pokud chcete získat více informací o systému, zejména v distribucích založených na systemd, můžete vytáhnout z hostnamectlJe to nástroj příkazového řádku, který zobrazuje data počítače a umožňuje změnit název hostitele:
hostnamectl
Výstup obsahuje pole jako například Statický název hostiteleoperační systém, verze jádra, typ virtuálního strojearchitektura atd. Klíčovou informací je zde Statický název hostitele, což je trvale definovaný název systému.
Pokud chcete zobrazit více informací „nízké úrovně“, můžete se také podívat na některé systémové soubory. Soubor /proc/sys/kernel/název_hostitele odráží název hostitele, který jádro aktuálně používá:
cat / proc / sys / kernel / hostname
A samozřejmě v mnoha distribucích soubor / etc / hostname Trvale ukládá nakonfigurovaný název hostitele. Můžete si ho zobrazit pomocí:
cat / etc / hostname
Trvale změňte název hostitele v Linuxu pomocí hostnamectl
Ve většině moderních distribucí (jako např. Ubuntu 16.04 nebo novější, novější verze Debianu, RHEL 7+, CentOS 7+ a deriváty) výchozí systém je systemdA s ním přichází i nástroj hostnamectlcož je doporučený způsob, trvale přejmenovat hostitele v Linuxu.
Nejprve se ujistěte, že váš systém používá systemd. Je standardně dodáván v moderních distribucích, ale pokud pracujete se starším systémem, možná ho budete muset nainstalovat nebo použít alternativní metody. Na systémech založených na Debianu jej můžete nainstalovat (pokud tam ještě není) pomocí:
apt-get install systemd
Chcete-li zobrazit aktuální název hostitele pomocí příkazu hostnamectl, spusťte:
hostnamectl
Uvidíte něco jako toto (typický příklad na VPS s Ubuntu):
Statický název hostitele: hostinger
Název ikony: computer-vm
Podvozek: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualizace: openvz
Operační systém: Ubuntu 22.04.3 LTS
Jádro: Linux 5.4.0
Architektura: x86-64
Chcete-li nastavit nový trvalý název hostitele, použijte následující syntaxi:
hostnamectl set-hostname NEW_HOSTITELNAME
Například pokud chcete zavolat svému týmu LINUX-SYSADMIT-01Udělali byste:
hostnamectl set-hostname LINUX-SYSADMIT-01
Tento příkaz obvykle při správném provedení na obrazovce nic nezobrazí. Chcete-li ověřit, zda byla změna použita, jednoduše spusťte příkaz znovu.
hostnamectl
a zkontrolujte, zda je pole Statický název hostitele Bylo přejmenováno na váš nový název. Můžete také jednoduše použít:
hostname
Ověření, zda systém reaguje s aktualizovaným názvem hostitele. S touto metodou ve většině případů není nutné restartovat, protože systemd se postará o šíření změny.
Přejmenujte hostitele úpravou klasických konfiguračních souborů
Kromě nástrojů specifických pro systemd to můžete udělat prakticky v jakékoli distribuci. Upravte název hostitele přímým přístupem ke konfiguračním souborům.Tato metoda funguje i na starších systémech a dává vám velmi dobrou kontrolu nad tím, co změníte.
První soubor k prozkoumání je / etc / hostnamekde se obvykle objeví jeden řádek s aktuálním názvem týmu. Pro jeho úpravu můžete použít vi, vim, nano nebo váš preferovaný editor. Například:
sudo vim /etc/název_hostitele
V souboru nahraďte aktuální název novým názvem hostitele, který chcete použít, například:
hostinger
Uložte změny a ukončete editor. Nyní jste upravili základní konfiguraci, ale zbývá ještě několik klíčových kroků, abyste zajistili konzistenci změny v celém systému.
Další soubor, který bude aktualizován, je / Etc / hosts, používá lokálně přeložit názvy hostitelů na IP adresyOtevřete jej ve svém obvyklém editoru:
sudo vim / etc / hosts
V tomto souboru se obvykle nachází řádek podobný tomuto:
127.0.0.1 localhost starý název hostitele
nebo něco ekvivalentního. Musíte nahradit předchozí název novým, například:
127.0.0.1 hostingový poskytovatel
V prostředích, kde se používají plně kvalifikovaná doménová jména (FQDN), se mohou zobrazit položky jako:
192.168.0.1 engelausmetall.engel.com engelausmetall
V tomto případě, pokud chcete změnit název hostitele, budete muset Upravte část s názvem a případně i plně kvalifikovaný název domény (FQDN). aby byla zachována konzistence se sítí a službami, které daný název používají.
V mnoha starších konfiguracích založených na Inicializace systému V, zejména v systémech jako Red Hat nebo jejich derivátech, se soubor používá také /etc/sysconfig/network definovat název hostitele. V tomto souboru uvidíte řádek deklarující proměnnou HOSTNAME:
HOSTNAME=engelausmetall.engel.com
Pokud tento soubor ve vašem systému existuje, upravte jej pomocí:
nano /etc/sysconfig/network
a upravte proměnnou HOSTNAME s novým názvem. Tento krok je důležitý, aby Změna by měla přetrvávat i po restartu, zejména ve starších distribucích rodiny Red Hat.
Po aktualizaci /etc/název_hostitele, /etc/hosts a případně /etc/sysconfig/networkJe běžné restartovat určité síťové služby nebo samotný systém. Mnoho manuálů doporučuje například pro klasické systémy následující:
Spuštění souboru /etc/init.d/hostname.sh
nebo restartujte síťovou službu:
restart servisní sítě
Poté je vhodné zavřít terminálovou relaci a otevřít novou, nebo se dokonce odhlásit a znovu přihlásit do grafického prostředí. Tím se ověří, že Konzolový řádek a aplikace nyní zobrazují aktualizovaný název hostitele..
Konfigurace názvu hostitele v Linuxu pomocí nmtui (NetworkManager TUI)
V mnoha distribucích založených na Red Hatu, jako například RHEL a CentOSKromě čistě nástrojů příkazového řádku, a textové rozhraní pro NetworkManager volání nmtui (Textové uživatelské rozhraní Network Manageru). Tento nástroj umožňuje konfigurovat síťová připojení a také upravte název hostitele systému z textového menu.
Pokud jej nemáte nainstalovaný, můžete jej přidat na systémech, které používají yum, pomocí balíčku NetworkManager-tui:
sudo yum install NetworkManager-tui
Když instalační program vypíše závislosti a zeptá se, zda chcete pokračovat, odpovězte y a stiskněte Enter. Po dokončení se zobrazí zpráva podobná Kompletní!, což je znamení, že balíček byl správně nainstalován.
Před použitím nmtui se ujistěte, že je spuštěna služba NetworkManager. Můžete to zkontrolovat pomocí:
stav služby NetworkManager
Pokud služba neběží, spusťte ji pomocí:
spuštění služby NetworkManager
Nyní můžete spustit rozhraní v textovém režimu zadáním:
sudo nmtui
Na hlavní obrazovce nástroje uvidíte několik možností, včetně Nastavit název hostitele systémuPomocí kláves se šipkami na klávesnici přejděte na danou možnost, stiskněte klávesu Enter a zobrazí se vám okno, kde můžete zadejte nový název hostitele které chcete přiřadit vašemu systému.
Zadejte nový název hostitele a vyberte akceptovat (nebo OK) a potvrďte změny. Jakmile ukončíte nmtui, systém použije nový název. Můžete si ho znovu zkontrolovat pomocí:
hostname
nebo, pokud vaše distribuce používá systemd, pomocí:
hostnamectl
Použití cloud-init a zachování názvu hostitele po restartu
U mnoha obrazů VPS a cloudových serverů hraje roli následující cloud-initTento nástroj konfiguruje systém při jeho prvním spuštění (a někdy i při následných spuštěních) na základě šablon dodavatele. To zahrnuje mimo jiné název hostitele.
Pokud ručně změníte název hostitele na serveru spravovaném pomocí cloudové inicializace, ale neupravíte jeho konfiguraci, je možné, že Po restartu bude znovu použit původní název hostitele. které šablona přináší, a tím ztratíte provedené změny.
Abyste tomu předešli, upravte hlavní konfigurační soubor cloud-init, obvykle /etc/cloud/cloud.cfgMůžete to udělat pomocí:
sudo vim /etc/cloud/cloud.cfg
V tomto souboru vyhledejte direktivu preserve_hostnamePokud je nakonfigurován jako nepravdivý Pokud se nezobrazí, přidejte nebo upravte řádek tak, aby vypadal takto:
preserve_hostname: true
Tato možnost říká cloud-init, že respektovat název hostitele, který systém aktuálně používá a nepřepisujte jej při dalších spuštěních. Po uložení souboru restartujte server, abyste ověřili, že se název hostitele zachoval:
sudo reboot
Po restartu spusťte:
hostname
a ověřte, zda je název stále ten, který jste nakonfigurovali. Pokud váš systém nepoužívá cloud-init nebo soubor /etc/cloud/cloud.cfg Neexistuje, můžete jednoduše Ignorujte tyto kroky.
Změna názvu hostitele v Linuxu bez restartu systému
Jsou chvíle, kdy prostě potřebujete dočasně změnit název hostiteleNapříklad pro spuštění konkrétních testů nebo provedení konkrétní úlohy. V takových případech to můžete provést přímo pomocí příkazu hostnames vědomím, že změna Po restartu to nebude trvalé..
Základní syntaxe příkazu pro přiřazení nového názvu je:
název_hostitele NOVÝ_NÁZEV_HOSTITELE
Například pokud chcete pojmenovat tým hostinger předběžně byste provedli:
název hostitele hostingový server
Tato změna se projeví okamžitě v aktuální systémové relaci. Chcete-li ověřit, zda se projevila, můžete restartovat systém:
hostname
a uvidíte nový název hostitele. Jakmile však restartujete počítač, Systém se vrátí k nakonfigurovanému trvalému názvu hostitele. v konfiguračních souborech nebo pomocí hostnamectl, takže pokud potřebujete, aby změna byla trvalá, nenahrazujte trvalé konfigurační kroky tímto.
Další aspekty a osvědčené postupy při přejmenování hostitele v Linuxu
Přejmenování hostitele není jen otázkou změny řetězce v několika souborech; stojí za to zkontrolovat několik detailů, abyste se ujistili, že vše funguje správně. pracovat hladcezejména na produkčních serverech nebo v podnikovém prostředí.
Prvním doporučením je vybrat si název hostitele jasné a konzistentní s vaším schématem pojmenování. Mnoho společností se řídí vzory jako ČÍSLO LOKACE-ROLE (například WEB-MAD-01, DB-BCN-02), což usnadňuje poznání, co každý server dělá, pouhým pohledem na jeho název.
Je také důležité zkontrolovat, zda se název hostitele objevuje v skripty, služby, certifikáty nebo pravidla firewalluNapříklad některé služby mohou být nakonfigurovány tak, aby naslouchaly na konkrétním názvu hostitele nebo generovaly protokoly, kde je název hostitele součástí cest a souborů. Po změně je vhodné si tyto body rychle projít.
Dalším aspektem, který je třeba zvážit, je možný vztah mezi názvem hostitele a Rozlišení DNSPokud je váš počítač registrován na DNS serveru pod určitým názvem, změna lokálního názvu hostitele bude vyžadovat také aktualizaci odpovídajícího DNS záznamu. logický název a IP adresa s nímž je to vyřešeno.
Nakonec nezapomeňte vždy zkontrolovat soubor / Etc / hosts aby se zajistilo, že všechny odkazy na starý název byly správně aktualizovány. Často se na tento krok zapomíná a některé služby pak fungují nekonzistentní rozlišení názvů protože v tomto lokálním souboru jsou stále staré řádky.


