在Ubuntu中永久更改主机名

use*_*960 12 linux shell scripting ubuntu

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

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

Fiz*_*han 15

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

hostnamectl set-hostname <new-hostname>
Run Code Online (Sandbox Code Playgroud)


fue*_*ika 14

类型

echo "myNewHostName" > /etc/hostname
Run Code Online (Sandbox Code Playgroud)

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

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


KBI*_*IIX 6

在Ubuntu 18.04 LTS中

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

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

sudo nano /etc/cloud/cloud.cfg
Run Code Online (Sandbox Code Playgroud)

preserve_hostname设置为true

reserve_hostname:正确

2.运行hostnamectl

hostnamectl set-hostname new-host-name
Run Code Online (Sandbox Code Playgroud)

3.重新启动

sudo reboot
Run Code Online (Sandbox Code Playgroud)


Sur*_*ore 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
Run Code Online (Sandbox Code Playgroud)

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

$ 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
Run Code Online (Sandbox Code Playgroud)
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

Run Code Online (Sandbox Code Playgroud)