必须修改系统主机名和计算机名以区分局域网设备或统一标识身份;提供五种方法:一、hostnamectl命令永久修改;二、手动编辑/etc/hostname和/etc/hosts;三、图形界面右键属性修改;四、通过“设置”应用修改;五、Python脚本批量修改。

如果您在使用麒麟操作系统时需要区分局域网内多台设备,或因管理需要统一标识系统身份,则必须修改系统主机名和计算机名。以下是针对不同使用场景的多种操作方式:
一、使用 hostnamectl 命令永久修改主机名
该方法通过 systemd 提供的标准工具直接更新内核运行时主机名与持久化配置文件 /etc/hostname,适用于麒麟OS V10 SP1 及后续版本,修改后立即生效且重启不丢失。
1、以管理员权限打开终端。
2、执行命令:sudo hostnamectl set-hostname 新主机名,例如 sudo hostnamectl set-hostname kylin-server-01。
3、验证状态:hostnamectl status,确认 “Static hostname” 行已更新为新名称。
4、同步更新 /etc/hosts 文件中对应条目:用 sudo vim /etc/hosts 打开,将形如 127.0.1.1 原主机名 的行替换为 127.0.1.1 新主机名,保存退出。
二、手动编辑 /etc/hostname 和 /etc/hosts 文件
此方法不依赖 systemd 工具,兼容所有麒麟OS版本(含旧版无 systemd 环境),通过底层文件写入实现主机名变更,需同步修正 hosts 映射以避免本地解析失败或服务异常。
1、以 root 权限编辑主机名文件:sudo vim /etc/hostname。
2、清空原有内容,输入新主机名(仅一行,不含空格及特殊字符),例如:kylin-desktop,按 Esc 键,输入 :wq 保存退出。
3、编辑 hosts 映射文件:sudo vim /etc/hosts。
4、定位到含原主机名的行(如 127.0.1.1 old-hostname),将其修改为 127.0.1.1 kylin-desktop。
5、立即应用新主机名至当前会话:sudo hostname -F /etc/hostname。
三、图形界面方式修改计算机名(仅限桌面版)
麒麟桌面版提供可视化入口,调用系统级 API 更新主机名配置,适合不熟悉命令行操作的用户,部分版本需重启后完全生效。
1、在桌面空白处右键,选择“属性”选项。
2、在弹出窗口中点击“关于”标签页。
3、点击“计算机名”右侧的编辑图标(铅笔形状)。
4、在输入框中输入新名称,例如:user-desktop,点击确定。
5、系统提示需重启以完成更改,执行:sudo reboot。
四、通过“设置”应用修改计算机名(桌面版另一路径)
该路径使用系统预置设置模块,与控制面板深度集成,修改结果同步写入主机名配置及系统信息展示层,无需额外编辑 hosts 文件。
1、点击左下角“开始菜单”,选择“设置”。
2、进入“系统信息”或“关于”页面,找到“设备名称”或“计算机名”选项。
3、点击右侧编辑图标,输入新主机名,确认修改。
4、系统提示需重启生效;若暂无法重启,可临时执行:sudo hostname 新主机名 更新当前会话。
五、使用 Python 脚本批量修改主机名
适用于运维人员在多台麒麟OS终端上统一部署主机名策略,脚本自动完成权限校验、配置双写(/etc/hostname 与 /etc/hosts)及运行时主机名刷新,规避人工误操作风险。
1、创建 Python 脚本文件:sudo nano /tmp/change_hostname.py。
2、粘贴以下内容(注意缩进):
#!/usr/bin/env python3 import os, sys if os.geteuid() != 0: print("请以 root 权限运行") sys.exit(1) new_name = sys.argv[1] if len(sys.argv) > 1 else "kylin-host" with open("/etc/hostname", "w") as f: f.write(new_name + "\n") with open("/etc/hosts", "r+") as f: content = f.read().replace("127.0.1.1.*", f"127.0.1.1\t{new_name}") f.seek(0) f.write(content) f.truncate() os.system(f"hostname -F /etc/hostname")
3、赋予执行权限:sudo chmod +x /tmp/change_hostname.py。
4、执行脚本:sudo /tmp/change_hostname.py my-server-01。


















