“linux hostname 报错”这个说得太笼统了,不同场景报错原因不一样。下面我按常见情况给你排查思路,你对照看看是哪一种。
hostname 命令本身报错hostname: command not found原因:最小化安装,没装 inetutils 或 coreutils
解决:
# Debian / Ubuntu
apt install inetutils-tools
# CentOS / RHEL
yum install hostname
# 或
dnf install hostname
hostname: you must be root原因:改主机名需要权限
解决:
sudo hostname 新主机名
hostname xxx
只是临时生效
永久修改:
# 通用(推荐)
hostnamectl set-hostname xxx
# 或手动改
vi /etc/hostname
并确认:
cat /etc/hosts
里面有:
127.0.0.1 xxx
hostnamectl 报错如:
Failed to set hostname: org.freedesktop.DBus.Error
原因:
systemd解决:
hostname xxx
或
echo xxx > /etc/hostname
常见:
sudo: unable to resolve host xxx
原因:/etc/hosts 没配
解决:
sudo vi /etc/hosts
加:
127.0.1.1 xxx
你可以直接贴:
hostname
hostnamectl
cat /etc/hostname
cat /etc/hosts
或者完整报错信息
我可以直接告诉你“这一条命令该怎么敲”。