centos

centos hostname配置技巧

小樊
39
2025-11-22 02:48:23
栏目: 智能运维

CentOS 主机名配置技巧

一、核心概念与查看方式

二、按版本的高效做法

三、实用技巧与排错清单

四、一键标准化脚本示例

#!/usr/bin/env bash
set -Eeuo pipefail

NEW_HOST="$1"
[[ -z "$NEW_HOST" ]] && { echo "Usage: $0 <new-hostname>"; exit 1; }

# 设置静态主机名(立即生效,持久化)
hostnamectl set-hostname "$NEW_HOST"

# 备份并替换 /etc/hosts 中的旧主机名(若存在)
HOSTS=/etc/hosts
BACKUP=${HOSTS}.bak.$(date +%F-%T)
cp -a "$HOSTS" "$BACKUP"

# 简单策略:替换 127.0.0.1 与 ::1 行中的旧主机名;追加本机IP映射(可按需调整)
sed -i.bak "/^127\.0\.0\.1[[:space:]]/ s/\\<$(hostname)\\>/$NEW_HOST/g" "$HOSTS"
sed -i     "/^::1[[:space:]]/   s/\\<$(hostname)\\>/$NEW_HOST/g" "$HOSTS"

# 可选:如本机有固定 IP,追加一行(示例 eth0,请按实际网卡名调整)
# IP=$(ip -4 addr show scope global | awk '/inet /{print $2; exit}' | cut -d/ -f1)
# [[ -n "$IP" ]] && ! grep -qE "^$IP[[:space:]]" "$HOSTS" && \
#   echo "$IP $NEW_HOST $(hostname -d 2>/dev/null || echo '')" >> "$HOSTS"

echo "Hostname set to: $(hostname)"
echo "Backup created: $BACKUP"
echo "Please re-login or open a new terminal to see the updated prompt."

0
看了该问题的人还看了