Linux 中的 hostnamectl 命令及示例
hostnamectl命令提供了一个适当的 API,用于控制 Linux 系统主机名并更改其相关设置。该命令还有助于更改主机名,而无需实际定位和编辑给定系统上的 /etc/hostname 文件。
句法:
hostnamectl [OPTIONS...] COMMAND ....
其中COMMAND可以是以下任何一项:
- status :用于检查当前的主机名设置。
- set-hostname NAME :用于设置系统主机名。
- set-icon-name NAME :用于设置主机的图标名称。
- set-chassis NAME :设置主机的机箱类型。
主机名类型:
- 静态:由系统管理员分配,用于在启动时初始化内核主机名。
- 动态或瞬态:在运行时由 mDNS服务器或DHCP 服务器分配。
- Pretty :这是系统管理员或最终用户分配的高级主机名。
示例 1:运行hostnamectl命令查看当前主机名。我们可以执行hostnamectl或hostnamectl status ,如果没有给出选项,结果将与自动假定 status 选项相同。
示例 2:将静态主机名更改为geeksforgeeks 。它可能需要 root 权限。
hostnamectl set-hostname geeksforgeeks --static
现在,让我们使用hostnamectl命令验证更改后的主机名。
如您所见,静态主机名已更新为geeksforgeeks 。
选项:
- -h , –help : 显示帮助文本并退出。
- –version :显示包版本并退出。
- –transient :当我们特别想只设置瞬态主机名时使用此选项。
示例:将临时名称设置为ubuntu 。
现在,让我们使用hostnamectl 检查临时名称。
- –static :当我们只想设置静态主机名时使用此选项。
现在,让我们使用hostnamectl验证更改。
- –pretty :当我们只想设置漂亮的主机名时使用此选项。要设置的名称需要在双引号 (" ") 中。
使用以下命令验证更改:
hostnamectl --pretty status
- –no-ask-password :此选项不会在任何特权操作中提示输入密码进行身份验证。
- -H –host=[USER@]HOST :此选项用于远程更改主机名。执行时可能需要 root 权限。
hostnamectl set-hostname -H [username]@HostName
这里, HostName是我们要配置的远程主机。
示例:要将 server3 设置为名为 172.102.2.24 的远程服务器上的主机名,我们可以使用以下命令:
hostnamectl set-hostname server3 -H root@172.102.2.24