Voglio cambiare il nome host del sistema operativo ma non voglio riavviare.
Ho modificato /etc/hostname
ma richiede un riavvio per essere implementato. Come evitare questo?
Voglio cambiare il nome host del sistema operativo ma non voglio riavviare.
Ho modificato /etc/hostname
ma richiede un riavvio per essere implementato. Come evitare questo?
È facile. Basta fare clic sull'icona a forma di ingranaggio (situata nell'angolo in alto a destra dello schermo), aprire la schermata "Informazioni su questo computer" (situata sull'icona di Gear) e modificare "Nome dispositivo".
Oppure, in un terminale, utilizzare il seguente comando:
sudo hostname your-new-name
Questo imposterà il nome host al tuo nuovo nome fino al tuo riavvio. Vedi man hostname
e Come cambio il nome del computer? per ulteriori informazioni. Non utilizzare _
nel tuo nome.
Nota strong>
Dopo un riavvio verranno utilizzate le modifiche in /etc/hostname
, quindi (come hai detto nella domanda), dovresti comunque usare
sudo -H gedit /etc/hostname
(o qualche altro editor) in modo che il file contenga il nome host.
Per verificare che il file sia impostato correttamente, esegui:
sudo service hostname start
Dovresti anche modificare /etc/hosts
e cambiare la linea che legge:
127.0.1.1 your-old-hostname
in modo che ora contenga il nuovo nome host. (Questo è richiesto altrimenti molti comandi cesseranno di funzionare.)
Il comando hostnamectl
fa parte dell'installazione predefinita su entrambe le versioni Desktop e Server.
Combina l'impostazione del nome host tramite il comando hostname
e modifica /etc/hostname
. Oltre a impostare il nome host statico, è possibile impostare il nome host "carino", che non è utilizzato in Ubuntu. Sfortunatamente, la modifica di /etc/hosts
deve ancora essere eseguita separatamente.
hostnamectl set-hostname new-hostname
Questo comando fa parte del pacchetto systemd-services
(che, come da Ubuntu 14.04, include anche timedatectl
e localectl
comandi). Mentre Ubuntu migra verso systemd
, questo strumento è il futuro.
Modifica del nome host o del computer in ubuntu senza riavviare
Modifica / etc / hostname e passa al nuovo valore,
nano /etc/hostname
Modifica / etc / hosts e modifica la vecchia linea 127.0.1.1 nel nuovo nome host
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Nota strong>: l'ho letto su un forum & gt; Modifica / etc / hosts e cambia la vecchia linea 127.0.1.1 con il tuo nuovo hostname (se non lo fai, non sarai più in grado di usare sudo. Se lo hai già fatto, premi ESC nel menu di grub, scegli recovery e modifica il tuo file host con le impostazioni corrette)
Ora dopo il riavvio, il tuo nome host sarà il nuovo che hai scelto
Per cambiare senza un riavvio , puoi semplicemente usare hostname.sh dopo aver modificato / etc / hostname. È necessario mantenere entrambi i nomi host in / etc / hosts (127.0.0.1 newhost oldhost) fino a quando non si esegue il comando seguente:
sudo service hostname start
Nota strong>: comando precedente per rendere attiva la modifica. Il nome host salvato in questo file (/ etc / hostname) verrà conservato al riavvio del sistema (e verrà impostato utilizzando lo stesso servizio).
Il nome predefinito è stato impostato durante l'installazione di Ubuntu. Puoi facilmente cambiarlo con quello che vuoi sia in Desktop che in amp; Server modificando i file host e hostname. Di seguito è come:
sudo hostname NEW_NAME_HERE
Questo cambierà il nome host fino al successivo riavvio. La modifica non sarà visibile immediatamente nel tuo terminale corrente. Avvia un nuovo terminale per vedere il nuovo nome host.
Per cambiare il nome in modo permanente, esegui il comando per modificare i file host:
sudo -H gedit /etc/hostname
e sudo -H gedit /etc/hosts
Per il server Ubuntu senza una GUI, esegui sudo vi /etc/hostname
e sudo vi /etc/hosts
e modificali uno per uno.
In entrambi i file, cambia il nome in quello che vuoi e salvalo.
Infine, riavvia il computer per applicare le modifiche.
Ecco uno script che modifica il nome host nel modo prescritto. Garantisce che non solo sudo
ma anche applicazioni X11 continuino a funzionare senza necessità di riavvio.
Utilizzo: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub(,"\"&\""); print}')"
Senza riavvio:
/etc/hostname
/etc/hosts
di conseguenza sudo sysctl kernel.hostname=mynew.local.host
Controlla il tuo nome host attuale con hostname -f
Per ottenere il nome host corrente:
cat /etc/hostname
Questo può essere modificato in qualsiasi editor di testo. Dovresti anche aggiornare una voce diversa da localhost rispetto a 127.0.0.1 in / etc / hosts.
/etc/hostname
con il nome host desiderato (puoi modificare con sudo nano /etc/hostname
) /etc/hosts
, sostituisci la voce accanto a 127.0. 1 .1 con il nome host desiderato (puoi modificare con sudo nano /etc/hosts
) sudo service hostname restart; sudo service networking restart
Questo è senza restart e senza alcun utilizzo da terminale.
Apri terminale. Guardate voi stessi.
(Per le versioni precedenti, la casella di testo non è modificabile.)
sudo hostname your-new-name
sudo /etc/init.d/networking restart
Questo dovrebbe fare il lavoro che penso
Ho letto le risposte, ma penso che probabilmente stai cercando questo:
Esegui questi due comandi solo dopo aver modificato il file /etc/hostname
.
$ sudo service hostname restart
$ exec bash
Questo è tutto. Non è necessario riavviare. Assicurati inoltre di cambiare il nome in /etc/hosts
file.
La classica risposta alla domanda del poster originale è che, una volta modificato /etc/hostname
, lo fai applicare senza riavviare eseguendo hostname (1) con l'opzione -F
( --file
) come utente root:
sudo hostname -F /etc/hostname
Il hostname (5) gestione con /etc/hostname
e il suddetto programma ha è stato lo stesso in Debian e nei suoi derivati da oltre vent'anni ora, e il pacchetto che lo fornisce è stato taggato essential e richiesto , e IIRC gli script di init hanno letteralmente usato la stessa cosa per decenni ( /etc/init/hostname.conf
lo contiene ancora), quindi devo dire che sono sinceramente perplesso di come nessuno lo abbia già detto:)
Mentre gli approcci di cui sopra ( hostnamectl
, etc/hostname
, ecc.) funzionano per la modifica immediata del nome host, con l'avvento di cloud-init - che può controllare l'impostazione del nome host - tra molte altre cose. Quindi non si attaccherà dopo un riavvio se è installato cloud-init. Se vuoi che la modifica rimanga dopo il riavvio, dovrai modificare i file di configurazione di cloud-init , disattiva il modulo nome host / modulo aggiornamento di cloud-init:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
o disabilita completamente cloud-init:
sudo touch /etc/cloud/cloud-init.disabled