侧边栏壁纸
博主头像
BvBeJ的小站 博主等级

行动起来,活在当下

  • 累计撰写 37 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

在 Debian 13 中修改主机名 (hostname)

BvBeJ
2025-12-02 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

方法1:使用 hostnamectl 命令(推荐)

1. 查看当前主机名

hostnamectl
# 或
hostname

2. 设置新的主机名

# 永久修改主机名(重启后生效)
sudo hostnamectl set-hostname 新主机名

# 例如:
sudo hostnamectl set-hostname debian-server

方法2:手动编辑配置文件

1. 编辑主机名文件

sudo vim /etc/hostname

删除原有内容,只写入新的主机名,例如:

debian-server

2. 更新 /etc/hosts 文件

sudo vim /etc/hosts

找到包含 127.0.1.1 的行,将其修改为:

127.0.1.1    debian-server

或者确保有一行是这样的:

127.0.0.1    localhost
127.0.1.1    debian-server

方法3:临时修改(重启后失效)

# 临时修改主机名(立即生效,但重启后恢复)
sudo hostname 新主机名
# 或
hostname 新主机名  # 如果没有 sudo

完整示例:将主机名改为 “mydebian”

步骤1:永久修改

# 使用 hostnamectl
sudo hostnamectl set-hostname mydebian

# 如果没有 sudo(作为 root)
hostnamectl set-hostname mydebian

步骤2:更新 hosts 文件

sudo vim /etc/hosts

确保包含:

127.0.0.1       localhost
127.0.1.1       mydebian

# IPv6
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

步骤3:立即生效(可选)

# 重新登录或重启系统
# 或者立即生效(部分系统)
sudo systemctl restart systemd-hostnamed
# 或
sudo service hostname restart

验证修改

# 方法1:检查当前主机名
hostnamectl status
# 或
hostname

# 方法2:查看主机名文件
cat /etc/hostname

# 方法3:查看完整信息
hostnamectl

# 方法4:查看内核主机名
cat /proc/sys/kernel/hostname

批量修改示例

# 1. 设置新的静态主机名
sudo hostnamectl set-hostname my-debian-server

# 2. 更新 /etc/hosts 文件
sudo sed -i "s/127.0.1.1.*$/127.0.1.1\tmy-debian-server/" /etc/hosts

# 3. 立即生效(重新读取配置文件)
sudo systemctl restart systemd-hostnamed

# 4. 验证
hostname

注意事项

  1. 主机名格式要求

    • 只能包含字母、数字、连字符(-)和点(.)
    • 不能以下划线开头或结尾
    • 建议使用小写字母
    • 长度不超过 253 个字符
  2. 常见问题

    • 如果修改后不生效,请重启系统
    • 确保 /etc/hosts 中的映射正确
    • 某些服务(如 SSH、Apache)可能需要重启才能识别新主机名
  3. 特殊字符处理

    # 如果要设置包含空格的名称(不推荐)
    sudo hostnamectl set-hostname "My Debian Server"
    

一键修改脚本

#!/bin/bash

# 设置新主机名
NEW_HOSTNAME="debian-server"

# 永久修改
sudo hostnamectl set-hostname $NEW_HOSTNAME

# 更新 hosts 文件
sudo sed -i "/127.0.1.1/c\127.0.1.1\t$NEW_HOSTNAME" /etc/hosts

# 重新加载
sudo systemctl restart systemd-hostnamed

echo "主机名已修改为: $NEW_HOSTNAME"
echo "请重新登录或重启系统使更改完全生效"

总结

最简单的方法:

# 作为 root 用户
hostnamectl set-hostname 新主机名
vim /etc/hosts  # 更新 127.0.1.1 那一行

这样修改后,下次登录时命令行提示符就会显示新的主机名了。

0

评论区