实战
hostname # 看
hostname myserver # 临时改(重启失效)
sudo hostname myserver
# 永久改
sudo hostnamectl set-hostname myserver
几种主机名
hostnamectl
# Static hostname: myserver ← /etc/hostname
# Pretty hostname: My Server ← 显示用
# Transient hostname: ... ← 动态(如 DHCP 设的)
sudo hostnamectl set-hostname myserver --static # 永久
sudo hostnamectl set-hostname "My Server" --pretty # 友好名
/etc/hostname / /etc/hosts
cat /etc/hostname # 系统主机名
cat /etc/hosts # 本地解析(127.0.0.1 一行通常含主机名)
改了 hostname 后**/etc/hosts 也得对应更新**——否则 sudo 等命令可能慢:
127.0.0.1 localhost
127.0.1.1 myserver ← 加这行
看 FQDN
hostname -f # 全限定域名(如 myserver.example.com)
hostname -d # 域部分
hostname -i # IP(来自 /etc/hosts,不准)
hostname -I # 所有非回环 IP(更准)
坑
sudo hostname newname临时改——重启回去- 改完已打开的 shell 提示符不会变——重新登录或
exec bash - 改 hostname 可能让某些服务(如 PostgreSQL)启动失败——它们记了旧 hostname