在 Ubuntu 20.04 上如何修改主机名


理解主机名


        一个主机名就是在网络上标记一个设备的标签名称。在同一个网络中,你不应该有两台或者更多机器拥有同样的主机名。在 Ubuntu 中,你可以使用hostnamectl命令编辑系统主机名以及相关设置。这个工具识别三种不同的主机名:


    static - 传统主机名。它存储在/etc/hostname文件中,并且可以被用户设置
    pretty - 一个自由形态的 UTF8 主机名,用来代表用户。例如: Linuxize's desktop。
    transient - 由 kernel 维护的动态主机名。 在运行过程中,DHCP 或者 mDNS 服务器可以改变 transient 主机名。默认情况下,它和 static 主机名一模一样。


    我们强烈推荐使用完整域名(FQDN)来设置static和transient名称,例如host.example.com。仅仅 root 或者有 sudo 权限的用户可以修改系统主机名。


显示当前主机名


想要查看当前主机名,运行hostnamectl命令,不带任何参数: hostnamectl


        Static hostname: xxx (xxx)为主机名


例如,想要修改系统今天主机名到neptune.linuxize.com,你可以使用下面的命令:

sudo hostnamectl set-hostname neptune.linuxize.com



你也可以设置 pretty 主机名:


        sudo hostnamectl set-hostname "Linuxize's laptop" --pretty


        静态主机名被存储在/etc/hostname,并且 pretty 主机名被存储在/etc/machine-info文件。你不应该在同样的网络不同的机器上使用相同的主机名。在大多数系统中,主机名在/etc/hosts中被映射到127.0.0.1。打开文件,并且修改旧的主机名到新的主机名。如果你在一个云实例上运行 Ubuntu,并且安装了cloud-init软件包,你也可以编辑/etc/cloud/cloud.cfg文件。这个软件包由云服务器厂商提供,通常默认被安装,并且它可以被用来处理云服务器实例的初始化。如果文件存在于你的系统上,打开它:


        sudo nano /etc/cloud/cloud.cfg


搜索"preserve_hostname”,并且将值从false修改到true


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


保存文件,并且关闭编辑器。



验证修改


想要验证主机名是否被完全修改,输入hostnamectl命令:


        hostnamectl



总结


        我们已经向你展示如何很简单地在 Ubuntu 20.04 上修改主机名,并且不需要重启机器。还有很多理由你需要修改主机名。最普遍的理由就是,主机名需要在实例创建的时候进行自动设置。



更新时间: 2023-06-08 Tag:ubuntu_note
相关文章
Top