Linux server安装后的设置

文章内容

  • 添加nameserver
  • 修改时区
  • 添加中文支持
  • IPtables
  • externally-managed-environment 错误

添加nameserver

编辑sudo vim /etc/resolv.conf,添加下面内容

nameserver 8.8.8.8
nameserver 114.114.114.114

修改时区

先确认当前时区设置

# 输出中 Time zone 字段即为当前时区
timedatectl status

设置时区

# 列出所有时区(较多,可按地区筛选)
timedatectl list-timezones

# 筛选亚洲时区(快速找到中国时区)
timedatectl list-timezones | grep Asia

# 将时区改为 Asia/Shanghai
sudo timedatectl set-timezone Asia/Shanghai

验证时区是否生效

# 查看当前时间和时区
date

# 或详细信息
timedatectl status

# 开启网络时间同步
sudo timedatectl set-ntp true

添加中文支持

  • 如果修改后依然中文显示乱码
    可能是终端工具(如 Xshell、Putty)未启用 UTF-8 编码。在终端设置中,将 “字符编码” 改为 UTF-8 即可。
  • 部分命令输出仍为英文
    部分系统命令(如ls、cd)的提示信息依赖程序本身的国际化支持,并非所有命令都有中文翻译。

Debian/Ubuntu添加中文言包支持

# 首先确保系统包列表最新
sudo apt update

# 安装中文语言包
sudo apt install -y language-pack-zh-hans # 简体中文语言包
# 若需要繁体中文,可额外安装:sudo apt install -y language-pack-zh-hant

# 配置本地化环境
sudo dpkg-reconfigure locales
操作步骤:
进入界面后,按 方向键 浏览列表,找到 zh_CN.UTF-8 UTF-8(简体中文 UTF-8 编码),按 空格键 选中(前方会出现 *);
 Tab  切换到 OK,按回车确认;
接下来会提示选择 “默认系统 Locale”,选中 zh_CN.UTF-8 并回车确认。

# # 重新登录当前用户(非root的话)
exit

# 或重启服务器(推荐,确保所有服务生效)
sudo reboot

Fedora添加中文言包支持

录用户
sudo reboot
# 安装中文语言包
sudo dnf install langpacks-zh_CN # 简体中文语言包
sudo dnf install langpacks-zh_TW # 繁体中文语言包(可选)

# 安装中文字体(解决显示乱码)
sudo dnf install wqy-microhei-fonts # 文泉驿微米黑(轻量通用)
sudo dnf install wqy-zenhei-fonts # 文泉驿正黑(清晰易读)
sudo dnf install google-noto-sans-cjk-sc-fonts # 思源黑体(适合屏幕显示)

# 配置系统语言环境
# 设置系统语言为简体中文(全局生效)
sudo localectl set-locale LANG=zh_CN.UTF-8

# 验证配置是否生效
localectl status
# 输出应包含 LANG=zh_CN.UTF-8 表示配置成功。

echo "测试中文"
# 应输出测试中文

# 重启系统或重新登

验证中文支持

# 查看当前 Locale 设置
locale

# 若输出中 LANG、LC_ALL 等字段为 zh_CN.UTF-8,说明配置成功。
LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

# 测试中文显示
echo "中文显示测试:你好,Ubuntu Server!"

IPtables

在任何情况下都应该保持防火墙处于运行状态

Fedora

Fedora 自带的 firewall-cmd(即 firewalld 服务)和 iptables 不建议同时使用,它们之间存在潜在的冲突风险

firewalld 在后台实际上是通过生成 iptables 规则来工作的。
如果您直接使用 iptables 命令添加规则,而 firewalld 对此并不知情,
那么当 firewalld 服务重启或规则重载时,它可能会覆盖掉您手动配置的 iptables 规则,
导致规则丢失或出现非预期的行为

如果要关闭firewalld并使用IPtables

# 停止 firewalld 服务
sudo systemctl stop firewalld
# 禁止 firewalld 开机自启
sudo systemctl disable firewalld

之后,您安装 iptables-services包(如果需要持久化服务支持),然后使用 iptables 命令配置规则,并使用 service iptables save或 iptables-save命令保存规则

一般情况下Fedora会预装iptables命令

# 查看iptables是否安装
iptables -v
#如果有输出则不需要安装

Ubuntu

UFW 本质上是一个为了简化配置而设计的 iptables 前端工具。当您使用 UFW 的命令(如 sudo ufw allow ssh)时,它实际上是在后台自动生成并应用相应的 iptables 规则。

冲突的核心在于管理权的不明确。如果您在启用 UFW 的情况下,又直接使用 iptables 命令添加或修改规则,就会造成混乱

如果要关闭ufw并使用IPtables

sudo ufw disable
sudo systemctl disable ufw # 禁止 UFW 开机自启

"externally-managed-environment"错误

较新的Linux发行版会遇到 "externally-managed-environment"错误,是因为使用的 Python 环境受操作系统保护,以防止 pip 安装的包与系统包管理器(如 apt)安装的包发生冲突,这是一种安全措施,可以使用虚拟环境 (Virtual Environment)来解决这个安全提示。

# 安装venv(可选)
apt install python3.12-venv

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# 在虚拟环境中安装pip包
pip install 包名称

# (完成后)退出虚拟环境
deactivate