Hvis du arbejder med servere eller har flere computere på dit hjemmenetværk, er det praktisk talt essentielt at vide, hvordan man omdøber værten i Linux . Et generisk værtsnavn som localhost kan være tilstrækkeligt i starten, men så snart du administrerer flere maskiner, opstår der kaos: dubletter, forvirring ved forbindelse via SSH og vanskeligheder med at identificere, hvilken der er hvilken.
I moderne distributioner, og selv i ældre systemer, er der flere metoder til at ændre værtsnavnet, både permanent og midlertidigt, uden at genstarte . I de følgende afsnit vil du trin for trin se, hvordan du gør dette ved hjælp af `hostnamectl` , tekstbaserede værktøjer som `nmtui` , ved at ændre klassiske konfigurationsfiler eller endda ved at bruge en simpel `hostname`-kommando, samt nogle specifikke detaljer for CentOS, Debian, Ubuntu, RHEL og derivater.
Hvad er værtsnavnet i Linux, og hvorfor bør du ændre det?
I ethvert Linux-system er værtsnavnet den identifikator, som maskinen præsenterer sig selv med på netværket. Det kan være et simpelt navn som "server" eller noget mere detaljeret som srv-web-01.company.local , men det vil altid være den primære reference for andre computere og tjenester.
Typisk tildeles der under distributionsinstallationen et standardværtsnavn, ofte localhost eller et generisk navn, der ikke afslører meget. Hvis du har flere enheder med det samme værtsnavn på det samme netværk, kan du støde på navnefortolkningskonflikter, tjenester, der ikke svarer, som du forventer, eller simpelthen et enormt rod, når du opretter forbindelse via SSH eller administrerer logfiler.
I produktionsmiljøer er det almindeligt, at hver maskine har et navn, der stemmer overens med dens funktion og placering (f.eks. LINUX-SYSADMIT-01, db01, mail-srv osv.). Dette forenkler administration, overvågning og fejlfinding, og det undgår også udelukkende at være afhængig af IP-adresser, som lettere kan ændres.
Det er også vigtigt at forstå, at et værtsnavn normalt er knyttet til en specifik IP-adresse . På lokale netværk gøres dette ofte ved hjælp af filen /etc/hosts , og på større netværk eller internettet ved hjælp af DNS. Når du ændrer din computers navn, er det derfor en god idé at kontrollere, om der er referencer på systemet og netværket, der stadig peger på det gamle navn.
Kontrol af det aktuelle værtsnavn i Linux
Før du ændrer noget, er det tilrådeligt at kontrollere maskinens nuværende værtsnavn . I Linux er der flere måder at gøre dette på, og de er alle meget hurtige.
Den mest direkte mulighed er at bruge hostname- kommandoen i terminalen:
hostname
Outputtet fra denne kommando viser blot det aktuelle værtsnavn , for eksempel:
linuxshelltips
Hvis du ønsker lidt mere systeminformation, især om systemd- baserede distributioner , kan du bruge hostnamectl . Det er et kommandolinjeværktøj, der viser computerdata og giver dig mulighed for at ændre værtsnavnet.
hostnamectl
Outputtet indeholder felter som statisk værtsnavn , operativsystem, kerneversion, virtuel maskintype , arkitektur osv. Nøgledataene her er det statiske værtsnavn , som er det permanent definerede navn for systemet.
Hvis du vil se mere information på "lavt niveau", kan du også konsultere nogle systemfiler. Filen /proc/sys/kernel/hostname afspejler det værtsnavn, som kernen bruger i øjeblikket:
cat / proc / sys / kernel / hostname
Og selvfølgelig gemmer /etc/hostname- filen i mange distributioner permanent det konfigurerede værtsnavn. Du kan se det med:
kat / etc / værtsnavn
Ændr værtsnavnet permanent i Linux ved hjælp af hostnamectl
I de fleste moderne distributioner (såsom Ubuntu 16.04 eller højere, nyere Debian-versioner, RHEL 7+, CentOS 7+ og derivater) er init-systemet systemd , og med det følger hostnamectl- værktøjet , som er den anbefalede måde at omdøbe værten permanent i Linux.
Det første du skal gøre er at sikre dig, at dit system bruger systemd. Det er standard på moderne distributioner, men hvis du arbejder med et ældre system, skal du muligvis installere det eller bruge alternative metoder. På Debian-baserede systemer kan du installere det (hvis det ikke allerede er der) med:
apt-get install systemd
For at se det aktuelle værtsnavn ved hjælp af hostnamectl, kør:
hostnamectl
Du vil se noget i retning af dette (typisk eksempel på en Ubuntu VPS):
Statisk værtsnavn: hostinger
Ikonnavn: computer-vm
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualisering: openvz
Operativsystem: Ubuntu 22.04.3 LTS
Kernel: Linux 5.4.0
Arkitektur: x86-64
For at indstille et nyt permanent værtsnavn skal du bruge følgende syntaks:
værtsnavn ectl sæt-værtsnavn NYT_VÆRTSNAVN
Hvis du for eksempel vil navngive din computer LINUX-SYSADMIT-01 , skal du gøre følgende:
hostnamectl sæt-værtsnavn LINUX-SYSADMIT-01
Denne kommando viser normalt ingenting på skærmen, hvis den udføres korrekt. For at bekræfte, at ændringen er anvendt, skal du blot køre kommandoen igen.
hostnamectl
og bekræft at feltet Statisk værtsnavn er blevet opdateret til dit nye navn. Du kan også blot bruge:
hostname
For at bekræfte, at systemet svarer med det opdaterede værtsnavn. Med denne metode behøver du i de fleste tilfælde ikke at genstarte, da systemd håndterer udbredelsen af ændringen.
Omdøb værten ved at redigere de klassiske konfigurationsfiler
Udover systemds specifikke værktøjer kan du ændre værtsnavnet i stort set enhver distribution ved direkte at redigere konfigurationsfiler . Denne metode fungerer selv på ældre systemer og giver dig meget fin kontrol over, hvad du ændrer.
Den første fil, du skal kontrollere, er /etc/hostname , som normalt indeholder en enkelt linje med det aktuelle værtsnavn. Du kan redigere den ved at bruge vi, vim, nano eller din foretrukne editor. For eksempel:
sudo vim /etc/værtsnavn
I filen skal du erstatte det nuværende navn med det nye værtsnavn, du vil bruge, for eksempel:
hostinger
Gem ændringerne, og afslut editoren. Du har nu ændret basiskonfigurationen, men der er et par vigtige trin tilbage for at sikre, at ændringen er ensartet på tværs af hele systemet.
Den næste fil, der skal opdateres, er /etc/hosts , som bruges til at omdanne værtsnavne til IP-adresser lokalt . Åbn den med din sædvanlige teksteditor:
sudo vim /etc/hosts
I denne fil er der normalt en linje der ligner:
127.0.0.1 localhost gammelt-værtsnavn
eller noget tilsvarende. Du skal erstatte det tidligere navn med det nye, for eksempel:
127.0.0.1 hostingudbyder
I miljøer, hvor fuldt kvalificerede domænenavne (FQDN'er) bruges, kan du muligvis se poster som:
192.168.0.1 engelausmetall.engel.com engelausmetall
I dette tilfælde, hvis du vil ændre værtsnavnet, skal du justere navnedelen og, hvis det er relevant, FQDN'et for at opretholde konsistens med det netværk og de tjenester, der bruger dette navn.
I mange ældre konfigurationer baseret på System V init , især på Red Hat eller afledte systemer, bruges filen /etc/sysconfig/network også til at definere værtsnavnet. Det er i denne fil, at du vil se en linje, der deklarerer VÆRTSNAVN-variablen:
HOSTNAVN=engelausmetall.engel.com
Hvis denne fil findes på dit system, skal du redigere den med:
nano /etc/sysconfig/netværk
og rediger HOSTNAME-variablen med det nye navn. Dette trin er vigtigt for at sikre, at ændringen fortsætter efter genstart , især på ældre Red Hat-distributioner.
Når /etc/hostname, /etc/hosts og, hvis relevant, /etc/sysconfig/network er blevet opdateret , er det almindelig praksis at genstarte visse netværkstjenester eller selve systemet. Mange manualer anbefaler f.eks. følgende til klassiske systemer:
/etc/init.d/hostname.sh start
eller genstart netværkstjenesten:
genstart af servicenetværk
Derefter anbefales det at lukke terminalsessionen og åbne en ny, eller endda logge ud og logge ind igen i det grafiske miljø. Dette vil bekræfte, at konsolprompten og applikationerne nu viser det opdaterede værtsnavn.
Konfigurer værtsnavnet i Linux ved hjælp af nmtui (NetworkManager TUI)
Mange Red Hat-baserede distributioner, såsom RHEL og CentOS , inkluderer en tekstbaseret grænseflade til NetworkManager kaldet nmtui (Network Manager Text User Interface) ud over rene kommandolinjeværktøjer. Dette værktøj giver dig mulighed for at konfigurere netværksforbindelser og justere systemets værtsnavn fra en tekstbaseret menu.
Hvis du ikke har det installeret, kan du tilføje det på systemer, der bruger yum, med NetworkManager-tui -pakken :
sudo yum install NetworkManager-tui
Når installationsprogrammet viser afhængighederne og spørger, om du vil fortsætte, skal du svare med y og trykke på Enter. Når du er færdig, vil du se en besked som " Færdig!" , der angiver, at pakken er installeret.
Før du bruger nmtui, skal du sørge for, at NetworkManager-tjenesten kører. Du kan kontrollere dette med:
status for tjenesten NetworkManager
Hvis tjenesten ikke kører, skal du starte den med:
tjeneste NetworkManager start
Nu kan du starte brugerfladen i teksttilstand ved at skrive:
sudo nmtui
På værktøjets hovedskærm vil du se flere muligheder, herunder "Angiv systemværtsnavn ". Brug piletasterne til at navigere til denne mulighed, tryk på Enter, og du vil få adgang til en dialogboks, hvor du kan indtaste det nye værtsnavn, du vil tildele dit system.
Indtast det nye værtsnavn, vælg OK , og bekræft ændringerne. Når du afslutter nmtui, anvender systemet det nye navn. Du kan bekræfte dette igen med:
hostname
eller, hvis din distribution bruger systemd, med:
hostnamectl
Brug af cloud-init og bevaring af værtsnavnet efter genstart
Mange VPS- og cloud-serverbilleder bruger cloud-init , et værktøj, der konfigurerer systemet ved første opstart (og nogle gange efterfølgende opstarter) baseret på skabeloner leveret af leverandøren. Dette inkluderer blandt andet værtsnavnet.
Hvis du manuelt ændrer værtsnavnet på en cloud-init-administreret server, men ikke justerer konfigurationen, er det muligt, at det oprindelige værtsnavn fra skabelonen genanvendes efter genstart, hvilket vil føre til tab af dine ændringer.
For at forhindre dette skal du redigere den primære cloud-init-konfigurationsfil, normalt /etc/cloud/cloud.cfg . Du kan gøre dette med:
sudo vim /etc/cloud/cloud.cfg
I denne fil skal du finde direktivet `preserve_hostname` . Hvis det er indstillet til `false` eller ikke vises, skal du tilføje eller ændre linjen, så den ser sådan ud:
bevar_værtsnavn: sandt
Denne indstilling fortæller cloud-init, at den skal respektere systemets nuværende værtsnavn og ikke overskrive det ved efterfølgende opstarter. Når du har gemt filen, skal du genstarte serveren for at bekræfte, at værtsnavnet bevares.
sudo genstart
Når den er genstartet, kør:
hostname
og bekræft, at navnet stadig er det, du konfigurerede. Hvis dit system ikke bruger cloud-init, eller filen /etc/cloud/cloud.cfg ikke findes, kan du blot ignorere disse trin.
Ændring af værtsnavnet i Linux uden at genstarte systemet
Der er tidspunkter, hvor du kun behøver at ændre værtsnavnet midlertidigt , for eksempel for at køre specifikke tests eller udføre en bestemt opgave. I disse tilfælde kan du gøre det direkte med kommandoen `hostname` , idet du skal huske på, at ændringen ikke vil være permanent efter en genstart.
Den grundlæggende syntaks for kommandoen til at tildele et nyt navn er:
værtsnavn NEW_VÆRTNAVN
Hvis du for eksempel midlertidigt vil navngive computeren "hostinger" , skal du køre:
værtsnavn hosting
Denne ændring træder i kraft med det samme for den aktuelle systemsession. For at bekræfte, at den er trådt i kraft, kan du genstarte:
hostname
Du vil se det nye værtsnavn. Men så snart du genstarter maskinen, vil systemet vende tilbage til det permanente værtsnavn, der er konfigureret i konfigurationsfilerne eller ved hjælp af `hostnamectl`, så du skal ikke erstatte de vedvarende konfigurationstrin med dette, hvis du har brug for, at ændringen skal være permanent.
Yderligere overvejelser og bedste praksis ved omdøbning af værten i Linux
At omdøbe værten er ikke bare at ændre en streng i et par filer; det er værd at kontrollere nogle detaljer for at sikre, at alt fungerer problemfrit , især på produktionsservere eller i virksomhedsmiljøer.
En første anbefaling er at vælge et klart og ensartet værtsnavn, der stemmer overens med dit navneskema. Mange virksomheder følger mønstre som ROLLE-PLACERING-NUMMER (f.eks. WEB-MAD-01, DB-BCN-02), hvilket gør det nemt at identificere hver servers funktion blot ved at se på dens navn.
Det er også vigtigt at kontrollere, om værtsnavnet vises i scripts, tjenester, certifikater eller firewallregler . For eksempel kan nogle tjenester være konfigureret til at lytte på et bestemt værtsnavn eller generere logfiler, hvor computernavnet er en del af stier og filer. Efter ændringen er det en god idé hurtigt at gennemgå disse punkter.
Et andet aspekt at overveje er den potentielle sammenhæng mellem værtsnavnet og DNS-opløsningen . Hvis din maskine er registreret hos en DNS-server under et bestemt navn, vil ændring af dens lokale værtsnavn også kræve opdatering af den tilsvarende DNS-post, så det logiske navn matcher den IP-adresse, den opløses til.
Husk endelig altid at kontrollere /etc/hosts- filen for at sikre, at eventuelle referencer til det gamle navn er blevet opdateret korrekt. Det er almindeligt at glemme dette trin og derefter opdage, at nogle tjenester udfører inkonsistente navneopløsninger, fordi der stadig er gamle linjer i den lokale fil.


