在Ubuntu中永久更改主机名

时间:2014-01-18 10:52:46

标签: linux shell ubuntu scripting

我想创建一个可以永久更改我的Ubuntu主机名的shell脚本。每当我使用hostname New_hostname命令时,它会在重新启动计算机后返回到原始主机名。

我发现我可以永久更改此内容的唯一方法是修改/etc/hostname中的文件并保存。有没有办法只使用shell脚本才能做到这一点?我也有密码。

9 个答案:

答案 0 :(得分:13)

hostnamectl结合了通过hostname命令设置主机名和编辑/etc/hostname。不幸的是,编辑/etc/hosts仍然需要单独完成。

hostnamectl set-hostname <new-hostname>

答案 1 :(得分:12)

类型

echo "myNewHostName" > /etc/hostname

在您附近有root权限的任何shell中..

您可能还想查看文件/etc/hosts,参见http://pricklytech.wordpress.com/2013/04/24/ubuntu-change-hostname-permanently-using-the-command-line/

答案 2 :(得分:5)

如何在不重新启动系统的情况下更改Ubuntu服务器的主机名?

键入以下命令:

下一步编辑/ etc / hostname文件并更新主机名:

$ sudo nano /etc/hostname

最后,编辑/ etc / hosts文件并更新读取您的旧主机名的行:

$ sudo nano /etc/hosts

发件人:

127.0.1.1 newhost.example.com

收件人:

127.0.1.1 myhost.example.com

保存并关闭文件。

Ubuntu Linux使用hostnamectl更改主机名

$ hostnamectl

样本输出:

   Static hostname: ip-10-x-xx-xxx.us-west-2.compute.internal
Transient hostname: newhost.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec23eca3540747b9c3648dc0fNXXXXXX
           Boot ID: 603fff5ef0b040bbaXXXXXXXXe87bf5e
    Virtualization: kvm
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
            Kernel: Linux 4.14.133-113.112.amzn2.x86_64
      Architecture: x86-64

设置或更改您的计算机名称

$ hostnamectl set-hostname 'myhost.example.com'

样本输出:

   Static hostname: ip-10-x-xx-xxx.us-west-2.compute.internal
Transient hostname: myhost.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ec23eca3540747b9c3648dc0fNXXXXXX
           Boot ID: 603fff5ef0b040bbaXXXXXXXXe87bf5e
    Virtualization: kvm
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
            Kernel: Linux 4.14.133-113.112.amzn2.x86_64
      Architecture: x86-64
ec2-user@host.example.com:~$ hostname
host.example.com
ec2-user@host.example.com:~$ sudo hostname myhost.example.com
ec2-user@host.example.com:~$ hostname
myhost.example.com

答案 3 :(得分:3)

在Ubuntu 18.04 LTS中

在Ubuntu 18.04中重新引导后,将还原通过SSH更改的主机名。按以下方式进行永久更改。

1。编辑 /etc/cloud/cloud.cfg

sudo nano /etc/cloud/cloud.cfg

preserve_hostname 设置为 true

  

preserve_hostname:true

2。修改 / etc / hostname

sudo nano /etc/hostname

设置新主机名

  

新主机名

3。运行hostnamectl

hostnamectl set-hostname new-host-name

4。重新启动

sudo reboot

答案 4 :(得分:1)

永久更改主机名而无需重新启动

/ etc / hosts

127.0.0.1    persistent_host_name

/ etc / hostname

persistent_host_name

立即应用更改

$ sudo hostname persistent_host_name

检查更改

$ hostname
persistent_host_name

答案 5 :(得分:1)

如果您只想更改主机名,因为它会在终端中显示为命令提示符。然后,您可以将\h中的PS1替换为~/.bashrc中的“ desired_host_name”

~/.bashrc类似,将此行放在文件末尾:

export PS2="continue-> ";
export PS1="\u@3050:~$ ";

答案 6 :(得分:0)

通常,您需要在这些文件中进行更改:

/etc/hostname
/etc/hosts

如果您使用的是某些高级打印机,请点击此处:

/etc/printcap

这就是为什么我建议手动执行此操作 - 但首先搜索旧的主机名。要查找/ etc中的所有匹配项:

sudo grep -iRI "_OLDHOSTNAME_" /etc 2>/dev/null

然后在每次出现时更改_OLDHOSTNAME_。 完成。

答案 7 :(得分:0)

在ubuntu机器中使用主机名permanet

转到:

 #vim /etc/hostname

在要为机器设置的文件中键入主机名

然后保存和文件

保存文档后运行此命令

 # hostname -F /etc/hostname

然后编辑 / etc / hosts 文件

 #vim /etc/hosts

在文件中输入 ip 主机名

然后退出机器并重新登录机器

答案 8 :(得分:0)

在Ubuntu 18.04上更改主机名

定义

主机名是用于标识网络上计算机的标签。您不应在同一网络中的两台不同计算机上使用相同的主机名。

先决条件

  • 用户应具有sudo权限

更改主机名

使用hostnamectl命令更改主机名。如果要将主机名更改为new_hostname

sudo hostnamectl set-hostname new_hostname

它不会直接更改主机名。您要永久保存更改,则必须编辑cloud.cfg文件

sudo nano /etc/cloud/cloud.cfg

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true

保存文件并关闭编辑器。

验证您的更改

您可以使用命令hostnamectl验证更改,该命令将在静态主机名

下显示 new_hostname

PS:来源Link