- Il nome host identifica il computer in rete e può essere gestito con comandi quali hostname e hostnamectl.
- Per modifiche permanenti, è fondamentale modificare /etc/hostname e /etc/hosts oppure utilizzare strumenti come hostnamectl e nmtui.
- Distribuzioni come Red Hat, Fedora, openSUSE o ambienti cloud-init hanno i loro file e le loro sfumature.
- È importante allineare il nome host del sistema, DHCP e Samba per evitare conflitti e problemi di risoluzione dei nomi.

Su qualsiasi sistema GNU/Linux, il Il nome host è un'informazione fondamentale. per identificare la macchina all'interno di una rete, che si tratti di un semplice PC domestico o di un server di produzione. Sebbene il valore predefinito venga spesso lasciato invariato, ad esempio localhostPrima o poi, arriva il momento in cui vuoi dargli un nome più descrittivo... o semplicemente uno più corto in modo che il prompt del terminale non sia un mattone infinito (se lavori anche con Windows, vedi come Cambiare il nome del computer in Windows).
Ciò che a prima vista potrebbe sembrare un cambiamento banale, in realtà è molto più complesso: Non tutte le distribuzioni memorizzano il nome host nello stesso postoAlcuni servizi utilizzano una propria configurazione e, se il computer ottiene il suo indirizzo IP tramite DHCP o condivide risorse tramite Samba, ci sono alcuni dettagli aggiuntivi da considerare. Esamineremo tutti i modi per cambiare il nome del computer in Linux, dal metodo più rapido e temporaneo alle opzioni persistenti e specifiche della distribuzione.
Cos'è esattamente un nome host e perché è importante?
Il nome host è, in breve, il nome con cui un dispositivo si presenta sulla reteÈ l'identificatore che vedi quando esegui il ping su un'altra macchina, quello utilizzato internamente da molti servizi Unix e quello che appare nel prompt del terminale accanto al tuo nome utente.
Nell'installazione della maggior parte delle distribuzioni, se non viene specificato nulla, il sistema di solito configura un nome generico come localhost o localhost.localdomainFunziona, ma non appena si hanno più computer sulla stessa rete con lo stesso nome, iniziano conflitti e confusione: voci duplicate, messaggi poco chiari nei registri e caos generale quando si cerca di identificare quale macchina è quale.
Da una prospettiva DNS, il nome host può apparire da solo (ad esempio, server1) o come nome di dominio completamente qualificato (FQDN)Come server1.miodominio.localeÈ molto comune per il comando hostname restituire solo la parte breve (senza dominio), ma quella nel file /etc/hosts Esiste una voce che collega quel nome al nome di dominio completo (FQDN).
Inoltre, alcuni servizi di rete, come il client DHCP o Samba, potrebbero utilizzare nomi host specifici diverso da quello del sistema, quindi è importante sapere dove è configurato ciascuno di essi per evitare incongruenze.
Come vedere il nome host corrente in Linux
Prima di iniziare a cambiare qualsiasi cosa, è una buona idea controlla quale nome host sta effettivamente vedendo il sistemaEsistono diversi modi molto semplici per farlo dal terminale.
Il più classico è il comando hostname semplicemente, che visualizza il nome host corrente:
hostname
Sui sistemi moderni con systemd, puoi usare hostnamectlche fornisce informazioni più dettagliate, tra cui il nome host statico, il nome host di trasporto e altri dati del dispositivo:
hostnamectl
Se vuoi sapere da dove deriva quel nome a livello di file, puoi consultare lo pseudo-file del kernel. /proc/sys/kernel/hostname con un semplice cat:
cat /proc/sys/kernel/hostname
Un altro luogo comune è l'archivio /etc/hostnamePresente in molte distribuzioni moderne (Debian, Ubuntu e derivate, tra le altre), è solitamente il nome persistente che il sistema carica a ogni avvio.
cat /etc/hostname
Si noti che Non tutte le distribuzioni utilizzano esattamente gli stessi file.Ad esempio, in alcuni sistemi basati su Red Hat, il valore primario potrebbe essere in /etc/sysconfig/network al posto di /etc/hostname, come veremos más adelante.
Modificare temporaneamente il nome host utilizzando il comando hostname
Se hai solo bisogno di cambiare rapidamente il nome della macchina senza riavviare, ad esempio per un test una tantum, puoi usare comando hostname con un nuovo nomeQuesta modifica è immediata, ma non sopravvive a un riavvio.
La sintassi è molto semplice: basta eseguire il seguente comando come utente privilegiato (solitamente root o tramite sudo):
hostname nuevo_nombre
Ad esempio, se vuoi che il team venga rinominato hostinger Durante la sessione corrente, dovresti digitare:
hostname hostinger
Per confermare che la modifica è stata applicata, puoi eseguirla nuovamente. hostname senza argomenti:
hostname
Vedrai che il sistema ora restituisce il nuovo nome. Tuttavia, Non appena la macchina verrà riavviata, tornerà al nome host originale. definito nei file di configurazione. Questo metodo è ideale per attività minori o controlli rapidi, ma non per una modifica permanente.
Cambia il nome del computer in modo permanente con hostnamectl
Nella maggior parte delle distribuzioni moderne, il sistema di avvio e i servizi sono gestiti da systemdSe questo è il tuo caso, hai il comando a tua disposizione hostnamectl, che consente di modificare il nome host in modo persistente e molto pulito.
La prima cosa da fare è assicurarsi che systemd sia installato e funzionante sul sistema. Nelle distribuzioni moderne come Ubuntu, Debian, Fedora, CentOS o RHEL, è preinstallato. Negli ambienti più datati, potrebbe essere necessario installarlo tramite:
apt-get install systemd
Per visualizzare lo stato corrente del nome host, eseguire:
hostnamectl
All'output vedrai un blocco informativo con righe come:
Static hostname: mi-servidor
Icon name: computer-vm
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualization: kvm
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.4.0
Architecture: x86-64
Il valore che ci interessa è Nome host statico, che è il nome primario configurato per il sistema. Per modificarlo, è sufficiente utilizzare l'opzione set-hostname seguito dal nuovo nome. Ad esempio, se vuoi rinominare la squadra in LINUX-SYSADMIT-01:
hostnamectl set-hostname LINUX-SYSADMIT-01
Questo comando di solito non mostra alcun output se tutto funziona correttamente. Per verificare il risultato, eseguilo di nuovo. hostnamectl e verificare che Il nome host statico è stato aggiornato al valore appena impostato.
Uno dei grandi vantaggi di questo metodo è che il cambiamento è persistenteRimarrà attivo dopo il riavvio del sistema, senza dover toccare direttamente i file di configurazione, anche se è sempre consigliabile controllare in seguito /etc/hosts nel caso ci siano vecchi riferimenti.
Cambiare il nome host utilizzando nmtui (NetworkManager TUI)
Nei sistemi basati su Red Hat (RHEL, CentOS, Fedora e derivati) è abbastanza comune trovare installata l'interfaccia utente testuale NetworkManager, nota come ntui. Questo strumento consente Configurare la rete e il nome del computer utilizzando i menu in modalità testoQuesta opzione è molto comoda se non hai voglia di modificare manualmente i file.
Se nmtui non è disponibile, puoi installare il pacchetto corrispondente, normalmente NetworkManager-tuiIn un ambiente RHEL/CentOS, ciò verrebbe fatto con:
sudo yum install NetworkManager-tui
Una volta installato, assicurati che il servizio NetworkManager sia in esecuzione. Puoi verificarlo come segue:
service NetworkManager status
Se il servizio non è in esecuzione, puoi avviarlo con:
service NetworkManager start
Una volta eseguito NetworkManager, è possibile avviare l'interfaccia di testo dello strumento con:
sudo nmtui
Nella schermata che appare, vedrai diverse opzioni. Quella che ci interessa per il nome host è... “Imposta il nome host del sistema”Selezionalo con le frecce del cursore, premi Invio e potrai inserire il nuovo nome della squadra che desideri utilizzare.
Dopo aver salvato le modifiche e aver chiuso nmtui, il il nome host del sistema sarà cambiatoA seconda della configurazione e della versione della distribuzione, potrebbe essere necessario riavviare alcuni servizi di rete o persino il computer stesso per ottenere un allineamento perfetto, ma nella maggior parte dei casi la modifica è immediata.
Modifica i file di configurazione per cambiare il nome host
Se preferisci l'approccio tradizionale o lavori con sistemi in cui non vuoi fare affidamento su strumenti aggiuntivi, puoi sempre Cambia il nome host modificando direttamente i file di configurazioneQui è dove percorsi come /etc/hostname, /etc/hosts, /etc/sysconfig/network o anche file specifici come /etc/HOSTNAME in alcune distribuzioni.
In molte distribuzioni di tipo Debian/Ubuntu, il nome della macchina è memorizzato in /etc/hostnamePer modificarlo, puoi usare il tuo editor di testo preferito (vi, vim, nano, ecc.). Ad esempio, con vi:
vi /etc/hostname
All'interno del file vedrai il nome della macchina corrente, solitamente su una singola riga. Devi solo sostituisci quel valore con il nuovo nome che si desidera utilizzare, salvare il file e uscire dall'editor.
Ma non basta: è importante che il file /etc/hosts Assicurati che sia sincronizzato con il nuovo nome host. Apri anche quel file:
vi /etc/hosts
Dovrebbe includere almeno una riga che associ l'indirizzo IP 127.0.0.1 al nome di dominio completo (FQDN) e agli eventuali alias desiderati. Un esempio tipico potrebbe essere:
127.0.0.1 makina.dominio makina localhost localhost.localdomain
In questo caso, il nome host completo è makina.dominiomentre macchina, localhost y localhost.localdomain Sono degli alias. Grazie a questa voce, quando esegui hostname --fqdn otterrai il nome di dominio completo (FQDN) (makina.dominioe se usi hostname --aliasVedrai l'elenco degli alias.
Dopo l'aggiornamento /etc/hostname y /etc/hostsMolti sistemi applicano le modifiche al successivo avvio. Si consiglia vivamente di riavviare o almeno riavviare il servizio di rete. per evitare incongruenze.
Caso speciale: Fedora, Red Hat e derivati
Nel mondo Red Hat (RHEL, CentOS, Fedora e altri derivati), oltre agli strumenti già citati, esiste un percorso classico per configurare l'hostname: il file /etc/sysconfig/networkQuesto file definisce diverse variabili che vengono utilizzate all'avvio del servizio di rete.
Se modifichi /etc/sysconfig/networkTroverai voci simili a queste:
NETWORKING=yes
HOSTNAME=mi-equipo
NISDOMAIN=midominio
La variabile chiave è HOSTNAMEdove dovresti inserire il nuovo nome della tua macchina, solitamente senza la parte del dominio. Assicurati inoltre che NETWORKING=sìIn caso contrario, lo stack di rete potrebbe non attivarsi come previsto.
Se lavori con NIS, la variabile NISDOMAIN Questo sarà rilevante anche per l'integrazione con quel servizio, sebbene non influisca direttamente sul nome host. Gli altri parametri che potresti trovare nel file riguardano altri aspetti della rete e non è necessario modificarli solo per cambiare il nome del computer.
In distribuzioni come openSUSE/SuSE Le cose cambiano leggermente: lì il nome completo del sistema è solitamente memorizzato in /etc/HOSTNAME (in maiuscolo). Questo file contiene semplicemente l'FQDN della macchina e, ancora una volta, è sufficiente modificarlo e sostituire il valore con il nuovo nome.
In ognuno di questi casi è fondamentale ricordare che /etc/hosts dovrebbe riflettere la modifica affinché la risoluzione locale funzioni correttamente e comandi come hostname --fqdn restituire ciò che ci si aspettava.
Ambienti con cloud-init: preserva il nome host
In molti server cloud, in particolare nei VPS o nelle istanze create da immagini generiche, entra in gioco un ulteriore livello: cloud-initQuesto strumento può sovrascrivere il nome host a ogni avvio se non diversamente indicato, quindi è importante tenerlo presente quando si apportano modifiche manuali.
Se sospetti che il tuo sistema utilizzi cloud-init (molto comune tra i provider di hosting), dovresti controllare il file di configurazione. /etc/cloud/cloud.cfgPuoi aprirlo con:
sudo vim /etc/cloud/cloud.cfg
All'interno del file, cerca una riga simile a:
preserve_hostname: false
Per impedire a cloud-init di reimporre il proprio nome host a ogni avvio, cambia quel valore in true:
preserve_hostname: true
Una volta salvate le modifiche e riavviato il sistema, il nome host configurato utilizzando hostnamectl La modifica dei file non dovrebbe più causare la sovrascrittura da parte di cloud-init. Se non esiste sul tuo computer, /etc/cloud/cloud.cfgSemplicemente non devi preoccuparti di questo passaggio.
Modifica del nome host su un VPS con un pannello di controllo (ad esempio, Hostinger)
In alcuni provider VPS, come Hostinger, Il nome host permanente è gestito dal pannello di controllo E non solo dal sistema operativo stesso. Ciò significa che anche se si modifica il nome dal terminale, il valore effettivo utilizzato dal server potrebbe dipendere da quanto indicato nel pannello di controllo.
In questo tipo di ambiente, il processo sarebbe più o meno il seguente: si accede alla sezione VPS, si sceglie il server specifico che si desidera rinominare e si accede alla sezione per impostazioni o configurazioneDi solito c'è un campo specifico per "Cambia nome host" o simile, in cui puoi inserire il nuovo nome e confermare l'azione.
Dopo aver applicato la modifica al pannello, è normale che il sistema aggiorna il nome host statico e puoi verificarlo sia dall'interfaccia web che dalla macchina stessa con comandi come hostname o hostnamectlSi tratta di un dettaglio importante perché, anche se forzato a livello di sistema, alcuni provider reimpostano il valore del pannello durante eventi quali riavvii o riapprovvigionamenti.
Segnala il nome host corretto al server DHCP
Quando il computer ottiene il suo indirizzo IP tramite DHCP, potresti voler Il server DHCP registra il nome della tua macchina nel DNS automaticamente. In teoria, il client DHCP Linux dovrebbe usare il nome host del sistema, ma in pratica a volte non lo fa come previsto.
Nell'ecosistema Fedora/Red Hat, la configurazione del dispositivo di rete che effettua la richiesta DHCP è solitamente in /etc/sysconfig/network-scripts/ifcfg-<dev>Essere <dev> il nome dell'interfaccia (ad esempio, eth0, p2p1ecc.). In questi file è possibile definire variabili quali:
DHCP_HOSTNAME=mi-equipo
DHCP_CLIENT_ID=mi-equipo
In teoria, queste opzioni dovrebbero indicare al client DHCP quale nome host inviare al server. In effetti, in alcuni casi possono anche essere configurate tramite strumenti grafici di gestione della rete. Tuttavia, Non sempre funzionano come ci si aspetterebbe. e il server DHCP potrebbe ancora non registrare correttamente il nome.
Un approccio che spesso produce risultati migliori è quello di modificare il file di configurazione del client DHCP, solitamente /etc/dhcp/dhclient.confe aggiungi una riga esplicita con il nome che vuoi inviare:
send host-name "makina";
In questo modo, la prossima volta che il dispositivo rinnova il suo lease DHCP, informerà il server che il suo nome host è "makina"Questo di solito consente al server DNS di registrare la voce corretta. Questa impostazione può essere particolarmente utile in reti aziendali dove la registrazione dei nomi è controllata in dettaglio.
Nome del team per le reti Samba e Windows
Se la tua macchina Linux agisce come server di risorse condivise su una rete Windows utilizzando Samba (vedi come condividere unità e cartelle), c'è un altro nome da tenere a mente: quello che i computer Windows vedono in "Risorse di rete" o in Esplora risorse quando accedono alle risorse condivise.
In questo contesto, il nome rilevante è configurato nel file /etc/samba/smb.conf. All'interno della sezione Esistono diversi parametri chiave, tra cui:
netbios name = MI-SERVIDOR
workgroup = MI_GRUPO
server string = Servidor de archivos Linux
l'opzione netbios name definisce il nome con cui il server si pubblicizza sulla rete Windows. workgroup indica il gruppo di lavoro o il dominio NT in cui è integrato e server string Questa è una descrizione più intuitiva del server. Se si sta configurando un server Samba completo, questo argomento potrebbe essere discusso a lungo, ma per quanto riguarda il nome host, Il nome NetBIOS dovrebbe avere un senso ed essere coerente con l'uso dell'apparecchiatura..
Sebbene questo nome non sia esattamente lo stesso del nome host Unix, spesso viene configurato qualcosa di molto simile per coerenza. La modifica di questo non influisce sul nome restituito dal comando. hostnameMa ha un impatto sul modo in cui i clienti Windows ti vedono sulla rete.
Tra le tante configurazioni possibili, alla fine la cosa più pratica è avere chiaro quale nome si desidera utilizzare per la macchina e mantenerlo coerente in tutti i punti chiave: nome host del sistema, /etc/hosts, configurazione DHCP e, se applicabile, parametri SambaQuesto ti risparmierà futuri grattacapi e il tuo terminale visualizzerà un prompt chiaro e breve, senza infinite stringhe di user@team.domain che occupano metà dello schermo ogni volta che digiti un comando.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.