查看和修改Linux的主机名称
一、为什么需要修改Linux的主机名称
主机名称是Linux在网络中的标识符;之所以需要修改Linux的主机名称是因为【在多机环境中快速区分识别】【方便某些依赖主机名称的服务认证】【便于权限控制与日志审计】。
二、查看和修改主机名称的多种方法
修改Linux主机名称的一些建议:
《1》尽量避免使用特殊字符和空格
《2》在修改前做好对应文件的备份
《3》推荐使用域式命名(如:db01.ck.com)
《4》批量修改建议使用自动化工具(如Ansible)
2.0、查看系统当前的主机名称
#查看系统当前的主机名称#1-查看系统当前的主机名称命令
hostname
hostname -s
uname -n#2-查看系统当前的主机详情
hostnamectl status
2.1、使用hostnamectl命令永久修改主机名称
hostnamectl命令修改是systemd最推荐的方式,修改后立即生效且立即保存。
#systemd最推荐的修改Linux系统的主机名称命令【hostnamectl set-hostname 新主机名】#1-如:将当前系统的名称修改为IP地址最后一位+server
ip addr
hostnamectl set-hostname 10server#2-让修改的主机名称生效
systemctl restart systemd-hostnamed
exec bash
2.2、直接编辑/etc/hostname文件永久修改主机名称
直接编辑【/etc/hostname】文件修改的主机名称需要重启系统后才会生效:
#先备份原有的/etc/hostname文件
cp -p /etc/hostname /etc/hostname.bak#方法一:直接编辑【/etc/hostname】文件修改主机名称
vi /etc/hostname#方法二:使用echo覆盖原有主机名称
echo "10server" > /etc/hostname
注意:
> 表示直接覆盖文件内容(即:会清空文件原有内容,然后将现在的内容写入)。
>> 表示追加内容到文件末尾(即:保留文件原有内容,然后将现在的内容添加的文件已有内容末尾)。
2.3、临时修改主机名称
临时修改的主机名称,重启后就失效了,适用于测试环境。
#临时修改主机命令【hostname 临时主机名称】
hostname testdb
2.4、实现修改主机名称的脚本
#实现脚本修改Linux的主机名称
#1-新建修改主机名称的脚本
vi modifyhostname.sh#1.1-修改主机名称的的具体脚本内容
#!/bin/bashNEW_HOSTNAME=$1if [ -z "$NEW_HOSTNAME" ]; thenecho "Usage: $0 new-hostname"exit 1
fi#1-使用hostnamectl修改主机名
cp -p /etc/hostname /etc/hostname.bak
sudo hostnamectl set-hostname $NEW_HOSTNAME#2-修改hosts文件的对应内容
cp -p /etc/hosts /etc/hosts.bak#echo -e "127.0.0.1\tlocalhost $NEW_HOSTNAME\n ::1\t\tlocalhost $NEW_HOSTNAME" > /etc/hosts
sed -i "s/^\(127.0.1.1\|127.0.0.1\).*/\1\tlocalhost $NEW_HOSTNAME/; s/^\(::1\).*/\1\t\tlocalhost $NEW_HOSTNAME/" /etc/hosts
#3-重启hostname服务
sudo systemctl restart systemd-hostnamedecho "系统当前的主机名称已修改为: $NEW_HOSTNAME"
echo "请重新登录或执行 'exec bash' 使更改完全生效"#2-修改该脚本的权限
chmod 755 modifyhostname.sh#3-修改主机名称的示例
./modifyhostname.sh 10server
三、修改主机名称后的操作
3.1、修改主机名称后必须修改hosts文件
我们修改Linux的主机名称后必须修改hosts文件,以实现主机名称的正确映射,若不修改可能会导致某些服务异常;但在修改hosts文件前需要先备份一份该文件,以防止出现问题后可以还原,相信操作如下图所示:
#编辑hosts文件前先备份
cp /etc/hosts /etc/hosts.bak
vi /etc/hosts#修改Linux的主机后/etc/hosts文件的修改内容
127.0.0.1 localhost 新主机名
::1 localhost 新主机名#若该Linux的IP地址是固定的,则还需要配置上【固定IP地地址 新主机名】
192.168.1.10 10server
3.2、让修改后的主机名称不重启就生效的方法
#修改Linux的主机名称后不重启就生效的方法#1-重启网络服务
systemctl restart systemd-hostnamed
systemctl restart NetworkManager#2-重启sshd服务
systemctl restart sshd#3-替换当前 Shell 进程或重定向文件描述符
exec bash
3.3、修改主机名称的的注意事项
修改Linux主机名称后的注意事项:
《1》若修改主机名称后,ssh登录异常,则需要将客户端known_hosts文件的旧记录清除。
《2》主机名称修改后,有些服务启动失败,则需要让修改的主机名称生效后再次重启服务。