Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2011-02-22 17:56:10
Size: 3836
Editor: ?skizzhg
Comment: first translation
Revision 9 as of 2015-01-24 11:48:27
Size: 3841
Comment: sync with English master
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[HowTo/ChangeHostname|English]] - Italiano-~
#language it
~-[[DebianWiki/EditorGuide#translation|Traduzioni]]: [[HowTo/ChangeHostname|English]] - Italiano-~
Line 16: Line 16:
  * ricaricare i file di configurazione <<BR>> <!> Ciò disconnetterà temporaneamente il sistema dalla rete (di solito {{{ssh}}} resiste alle disconnessioni brevi) {{{   * ricaricare i file di configurazione
 
<!> Ciò disconnetterà temporaneamente il sistema dalla rete (di solito {{{ssh}}} resiste alle disconnessioni brevi)

  <!> Ciò potrebbe disconnettere definitivamente il sistema dalla rete in quanto non è in grado di ripristinare le connessioni; in questo caso riavviare, non perché sia la via più semplice ma perché accerta che la configurazione sia corretta {{{
Line 34: Line 37:
Vedere la domanda frequente su [[http://www.ejabberd.im/node/641|come cambiare il nome del dominio]] nel libro di ejabberd.

La modifica temporanea del valore di {{{ERLANG_NODE}}} in {{{/etc/default/ejabberd}}} per includere il vecchio hostname può essere utilizzata per ristabilire la funzionalità dei servizi per l'esecuzione di un backup del database.
Fare riferimento alla sezione [[http://www.process-one.net/docs/ejabberd/guide_en.html#htoc80|Change Computer Hostname]] della "Installation and Operation Guide" di ejabberd.
Line 48: Line 49:
Modificare i file {{{/etc/ssh/ssh_host_rsa_key.pub}}} e {{{/etc/ssh/ssh_host_dsa_key.pub}}} ({{{root@hostname alla fine}}}); è necessario riavviare il servizio. Modificare i file {{{/etc/ssh/ssh_host_rsa_key.pub}}}, {{{/etc/ssh/ssh_host_dsa_key.pub}}} e {{{/etc/ssh/ssh_host_ecdsa_key.pub}}} ({{{root@hostname alla fine}}}); è necessario riavviare il servizio.
Line 51: Line 52:
Ssmtp è un server SMTP leggero. Ssmtp è un server SMTP leggero in sola uscita.
Line 59: Line 60:
=== Invadente ===
Questo script è '''pericoloso'''. Bisogna controllare che tutti i file elencati da ''grep -rl "$vecchio" /etc'' siamo realmente modificati '''prima''' di eseguirlo:
=== Invasivo ===
Questo script è '''pericoloso'''. Bisogna controllare che tutti i file elencati da ''grep -rl "$vecchio" /etc'' debbano realmente essere modificati '''prima''' di eseguirlo:
Line 69: Line 70:
[ -z $1 ] && usage [ "$1" ] || usage
Line 71: Line 72:
vecchio=`hostname` vecchio=$(hostname)
Line 74: Line 75:
grep $vecchio /etc/ -rl 2>/dev/null | while read file
   do
      sed s:$vecchio:$nuovo:g $file > ${file}.tmp
      mv ${file}.tmp $file
   done
grep "$vecchio" /etc/ -rl 2>/dev/null |
while read file
do
      sed "s:$vecchio:$nuovo:g" "$file" > "$file.tmp"
      mv -f "$file.tmp" "$file"
done
Line 83: Line 86:
=== Non così invadente === === Non così invasivo ===
Line 88: Line 91:
   echo "uso: $0 nuovo_hostname"    echo "uso: $0 <nuovo nomehost>"
Line 92: Line 95:
[ -z $1 ] && usage [ "$1" ] || usage
Line 94: Line 97:
vecchio=`hostname` vecchio=$(hostname)
Line 117: Line 120:
## * [[Howto/CloningASystem#UUIDs|Howto Clone a System]] - system unique identifiers, to be changed when cloning a system.

Traduzioni: English - Italiano


Rinominare un computer

Questa pagina spiega come cambiare l'hostname di un sistema (cioè rinominare un computer o un server).

Sintesi: hostname(1) non è sufficiente.

Rete

  • Aggiornare /etc/hostname.

  • Aggiornare /etc/hosts in modo che gli indirizzi locali risolvano con il nuovo nome del sistema.

  • Ricaricare la configurazione della rete; sono possibili due opzioni:
    • ricaricare i file di configurazione

      <!> Ciò disconnetterà temporaneamente il sistema dalla rete (di solito ssh resiste alle disconnessioni brevi)

      <!> Ciò potrebbe disconnettere definitivamente il sistema dalla rete in quanto non è in grado di ripristinare le connessioni; in questo caso riavviare, non perché sia la via più semplice ma perché accerta che la configurazione sia corretta

      invoke-rc.d hostname.sh start
      invoke-rc.d networking force-reload
      invoke-rc.d network-manager force-reload

      ToDo: è utile ricaricare network-manager?

    • oppure il metodo facile: riavviare il sistema.

Applicazioni specifiche

avahi

Avahi è utilizzato per pubblicare (annunciare) servizi locali; se si modifica /etc/avahi/* bisogna eseguire:

  • invoke-rc.d avahi-daemon force-reload

CUPS

Modificare il file /etc/printcap; è necessario riavviare il servizio.

ejabberd

Fare riferimento alla sezione Change Computer Hostname della "Installation and Operation Guide" di ejabberd.

Exim

Modificare il valore di hostname= nel file /etc/exim4/update-exim4.conf.conf; è necessario riavviare il servizio.

Mailname

Modificare il file /etc/mailname; non è necessario riavviare il servizio.

Message Of The Day

Modificare il file /etc/motd; non è necessario riavviare il servizio.

OpenSSH server

Modificare i file /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub e /etc/ssh/ssh_host_ecdsa_key.pub (root@hostname alla fine); è necessario riavviare il servizio.

ssmtp

Ssmtp è un server SMTP leggero in sola uscita.

Modificare il valore di hostname= nel file /etc/ssmtp/ssmtp.conf; non è necessario riavviare il servizio.

sysklogd

Al fine di rendere visibile il nuovo hostname sul syslog è necessario riavviare il servizio sysklogd.

Idea di script per aiutare nel passaggio

Invasivo

Questo script è pericoloso. Bisogna controllare che tutti i file elencati da grep -rl "$vecchio" /etc debbano realmente essere modificati prima di eseguirlo:

   1 #!/bin/bash
   2 #
   3 usage() {
   4    echo "uso: $0 nuovo_hostname"
   5    exit 1
   6 }
   7 
   8 [ "$1" ] || usage
   9 
  10 vecchio=$(hostname)
  11 nuovo=$1
  12 
  13 grep "$vecchio" /etc/ -rl 2>/dev/null |
  14 while read file
  15 do
  16       sed "s:$vecchio:$nuovo:g" "$file" > "$file.tmp"
  17       mv -f "$file.tmp" "$file"
  18 done

È meglio fare un grep prima...

Non così invasivo

#!/bin/bash
# 
usage() {
   echo "uso: $0 <nuovo nomehost>"
   exit 1
}

[ "$1" ] || usage

vecchio=$(hostname)
nuovo=$1

for file in \
   /etc/exim4/update-exim4.conf.conf \
   /etc/printcap \
   /etc/hostname \
   /etc/hosts \
   /etc/ssh/ssh_host_rsa_key.pub \
   /etc/ssh/ssh_host_dsa_key.pub \
   /etc/motd \
   /etc/ssmtp/ssmtp.conf
do
   [ -f $file ] && sed -i.old -e "s:$vecchio:$nuovo:g" $file
done

È meglio fare un grep prima...


Si veda anche