如何以 root 用户身份在多个主机名上永久更改主机名的一部分?

如何以 root 用户身份在多个主机名上永久更改主机名的一部分?

我正在为uni做一个项目,不确定如何继续,我被赋予了将unix机器上的主机名从一个事物更改为另一个事物的任务,我以root身份登录到该盒子

主机名是garnet.bct.bolton.ac.uk garnet 我需要更改.bct.amt

新的主机名应该是garnet.amt.bolton.ac.uk garnet

我有多个主机名cat /etc/hosts,它们都需要从 更改bctamt

我想我需要使用,grep但据我所知

cat /etc/hosts | grep bct

答案1

你还没有说明你的 *nix 是什么。但...

据我所知,你有两个任务:

  1. 更改unix盒子的主机名
  2. 更改该 UNIX 机器解析网络上其他系统的方式。

首先,您需要编辑文件/etc/hostname并更改它。

nano /etc/hostname

对于第二个,您需要将所有实例更改bctamtin /etc/hosts。您可以使用交互式编辑器来完成此操作,也可以使用sed.

互动式:

nano /etc/hosts

sed

第一次运行:

sed 's/\.bct\.bolton/\.amt\.bolton/g` /etc/hosts

并确保它看起来没问题。这只是向您展示了它将改变什么。要进行更改,请添加-i选项:

sed -i 's/\.bct\.bolton/\.amt\.bolton/g` /etc/hosts

答案2

运行这个:

sed -i 's/\.bct/\.amt/g' /etc/hosts

另外,请注意,如果您要更改登录计算机的主机名,那么仅在 /etc/hosts 中进行更改是不够的。如果您使用的是 Centos/Fedora/RHEL,则还必须在文件 /etc/sysconfig/network 中更改主机名。

相关内容