|
Size: 3586
Comment: formating
|
Size: 3541
Comment: simplify the proposed code
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 80: | Line 80: |
| #!/bin/bash | #!/bin/bash |
| Line 82: | Line 82: |
| usage() { | usage() { |
| Line 102: | Line 102: |
| [ -f $file ] && sed s:$ancien:$nouveau:g $file > ${file}.tmp [ -f $file ] && mv ${file}.tmp $file |
[ -f $file ] && sed -i.old -e 's:$ancien:$nouveau:g' $file |
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
Update /etc/hostname
Update /etc/hosts, so local address(es) resolves with the new system name.
- Reload the network configuration. You have two options
Reload configuration files
This will temporarily disconnect your system from the network (ssh usually resists short disconnection) invoke-rc.d hostname.sh start invoke-rc.d networking force-reload invoke-rc.d network-manager force-reload
ToDo: is it useful to reload network-manager?
or the lazy way: Restart the system.
Application specific
avahi
Avahi is used to publish (announce) local services. If you tweaked /etc/avahi/* you should run:
invoke-rc.d avahi-daemon force-reload
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
(to be written) there must be others...
Charlie: It was me who took you. Not the Others...
Idea of script to help you on
Complexe or unusual old hostname (albator, qskdfjh, turlututu, ...)
Take care you'd better do a grep before...
Well linux spread old hostname (linux, debian, lenny, etc...)
#!/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
doneTake care you'd better do a grep before...
See also
?Howto Clone a System - system unique identifiers, to be changed when cloning a system.
