Linux配置主机名

Linux主机名简介

HOSTNAME种类型:
statictransientpretty

  • static静态主机名,可由用户自行设置,并保存在/etc/hostname 文件中。
  • transient动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost” 。可由DHCPmDNS在运行时更改。
  • pretty灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。

说明:

  • statictransient主机名只能包含a-z、 A-Z、 0-9、“-” 、“_” 和“.” ,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。

查看主机名

# 查看当前的主机名
hostnamectl status

# 查看主机名
hostname

## 打印结果--Centos7默认主机名
localhost.localdomain

Centos7永久修改主机名

!!!注意: 主机名不能下划线_,可以带中划线-, 否则k8s会报错:could not convert cfg to an internal cfg
参考: https://www.cnblogs.com/xiao987334176/p/11899321.html

# 永久修改主机名
## hostnamectl set-hostname 主机名
hostnamectl set-hostname master

# 替换当前的shell进程为新Bash shell进程
exec bash

其他示例:
如果--static--transient--pretty选项一同使用时,则会将static(静态)transient(动态)主机名简化为pretty(灵活)主机名格式,使用“-” 替换空格,并删除特殊字符。
当设定pretty(灵活)主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下:

# 其中option可以是--pretty、 --static、 --transient中的一个或多个选项。
hostnamectl set-hostname name [option...]

更改远程主机名

# -H 远程更改主机名
hostnamectl set-hostname -H [username]@r_host_ip 新主机名

临时修改主机名

# 临时修改主机名
hostname www.qq.com

使用nmcli配置主机名

# 查询static主机名
nmcli general hostname

# 将static主机名设定为host-server
nmcli general hostname host-server

# 重启hostnamed服务
## 让系统hostnamectl感知到static主机名的更改
systemctl restart systemd-hostnamed

Centos6永久修改主机名

重启后才永久生效

# 编辑配置文件
vim /etc/sysconfig/network
# 修改配置文件中的HOSTNAME 为新的主机名

在这里插入图片描述

### 如何在Linux系统中设置或修改主机名Linux系统中,可以通过多种方法设置或修改主机名。以下是几种常见且有效的方法: #### 方法1:通过`hostnamectl`命令永久更改主机名 `hostnamectl` 是一种现代且推荐的方式,适用于 systemd 系统。使用以下命令可以永久更改主机名: ```bash sudo hostnamectl set-hostname new-hostname ``` 此命令会更新系统的主机名配置文件 `/etc/hostname`,并确保更改生效[^1]。 #### 方法2:手动编辑配置文件 如果需要更精细的控制,也可以直接编辑相关配置文件: 1. 编辑 `/etc/hostname` 文件,将旧主机名替换为新主机名。 ```bash sudo nano /etc/hostname ``` 2. 更新 `/etc/hosts` 文件中的主机名映射,确保新的主机名与 IP 地址正确关联。 ```bash sudo nano /etc/hosts ``` 示例内容: ```plaintext 127.0.0.1 localhost 192.168.1.10 new-hostname ``` 完成上述操作后,重启系统以使更改生效[^1]。 #### 方法3:使用`hostname`命令进行临时更改 `hostname` 命令可以快速更改主机名,但这种更改仅在当前会话中有效,重启后会恢复为原始主机名。 ```bash sudo hostname new-hostname ``` 这种方法适合于调试或临时测试场景。 #### 注意事项 - 在某些发行版(如 CentOS 7)中,如果启用了 `cloud-init`,可能需要额外检查 `/etc/cloud/cloud.cfg` 文件中的 `update_hostname` 设置。如果未注释或删除该选项,可能会覆盖手动设置的主机名[^2]。 - 修改主机名后,建议重启系统以确保所有服务和进程都使用新的主机名。 ### 示例代码 以下是一个完整的脚本示例,用于自动化更改主机名: ```bash #!/bin/bash NEW_HOSTNAME="new-hostname" # 使用 hostnamectl 更改主机名 sudo hostnamectl set-hostname $NEW_HOSTNAME # 更新 /etc/hosts 文件 echo "127.0.0.1 $NEW_HOSTNAME" | sudo tee -a /etc/hosts > /dev/null echo "主机名已更改为: $NEW_HOSTNAME" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值