This page explains how to change a system's hostname (i.e rename a computer/server)

Executive summary: hostname(1) isn't enough.

Rename a computer

Core networking

Application specific

avahi

Avahi is used to publish (announce) local services. If you tweaked /etc/avahi/* you should run:

ssmtp

Ssmtp is a light weight, send-only smtp server.

Adjust /etc/ssmtp/ssmtp.conf (hostname=, etc.). You don't need to restart the service.

Exim

Adjust /etc/exim4/update-exim4.conf.conf (hostname=). You need to restart the service.

Message Of The Day

Adjust /etc/motd. You don't need to restart a service.

Cups

Adjust /etc/printcap . You need to restart the service.

Mailname

Adjust /etc/mailname. You don't need to restart the service.

Openssh server

Adjust /etc/ssh/ssh_host_rsa_key.pub and /etc/ssh/ssh_host_dsa_key.pub (root@hostname at the end). You need to restart the service.

other

Idea of script to help you on

Intrusive script

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

Take care you'd better do a grep before...

Not-so intrusive script

#!/bin/bash
 
usage() {
   echo "usage : $0 nouveau_nom_hote"
   exit 1
}

[ -z $1 ] && usage

ancien=`hostname`
nouveau=$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:$ancien:$nouveau:g' $file
done

Take care you'd better do a grep before...


See also