Safe way to rename my computer/hostname? [duplicate]

When I connect to my server (ubuntu server 10.10), I get this:

[email protected] ~>

How can I remove ".belkin"?


Solution 1:

You need to edit the computer name in two files:

/etc/hostname 

and

/etc/hosts

These will both need administrative access, so run

gksu gedit /path/to/file

Replace any instances of the existing computer name with your new one. When complete run

sudo service hostname start

The name will also be changed if you restart your computer.

See also:

  • How do I change the hostname without a restart?

Solution 2:

hostnamectl set-hostname on 13.10+ desktop

This is the best way if you have systemd (13.10 onwards) and if cloud-init is not active (see below):

hostnamectl set-hostname 'new-hostname'

It:

  • does not require rebooting
  • persists after reboots

More info at: https://askubuntu.com/a/516898/52975

18.04 onwards: cloud-init

18.04 Introduced cloud-init which can control setting of the hostname so hostnamectl changes it won't stick after a reboot if cloud-init is installed. TODO: how to check if it is installed, is it installed by default on the desktop image or just server?

If you want hostnamectl changes to stay after a reboot, then you'll need to edit the cloud-init config files, disable cloud-init's hostname set/update module:

sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

or disable cloud-init entirely:

sudo touch /etc/cloud/cloud-init.disabled

See also: How do I change the hostname without a restart?

Solution 3:

It's quite easy:

  1. Edit /etc/hostname, make the name change, save the file.

  2. You should also make the same changes in /etc/hosts file

  3. Run sudo service hostname start

As long as you have no application settings depending on the 'old' hostname, you should be ok ;-)

Solution 4:

It is safe to do, you just need to be sure you edit both the system hostname configuration file (/etc/hostname) and the hostname name resolution file (/etc/hosts). From a terminal execute the following:

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now

Solution 5:

In addition to editing /etc/hosts and /etc/hostname, various services might have issues with the change as well. Mysql and postfix are installed by default in ubuntu. A broken postfix won't affect most ubuntu users, since it's a background email server that isn't used by much.

Postfix:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

The default config for mysql doesn't use hostname, so it will work fine as-is. If you have customized it, edit the files in /etc/mysql/ and restart the service.

You may also want to edit /etc/motd (message of the day), which is shown on virtual terminals and remote logins. That one won't harm anything though.

Other services that you may have installed that would need fixing are apache, bind9, etc. In each case, find and edit the hostname in their config and restart the service.