源本科技 | 码上会

Ubuntu 系统初始化配置

2025/12/24
100
0

镜像源推荐https://mirrors.aliyun.com(阿里云开源镜像站,国内访问速度快、稳定)


查看系统信息

在进行任何配置前,建议先确认当前系统版本和内核信息:

# 查看发行版名称与版本号(需安装 lsb-release)
lsb_release -a

# 通用方法:查看 /etc/os-release(所有现代 Linux 发行版支持)
cat /etc/os-release

# 查看内核版本
uname -r

若未安装 lsb_release,可运行:sudo apt install lsb-release -y


启用 Root 用户

安全提示:生产环境中不建议直接使用 root 远程登录。若必须启用,请确保网络隔离并设置强密码。

设置 Root 密码

sudo passwd root
  • 输入当前用户密码(sudo 权限验证);

  • 输入并确认新的 root 密码。

允许 Root 通过 SSH 登录

sudo vi /etc/ssh/sshd_config

找到以下行(取消注释并修改):

PermitRootLogin yes

更安全的做法是使用 PermitRootLogin prohibit-password 并配合密钥认证。

重启 SSH 服务并生效

sudo systemctl restart sshd

建议在本地终端操作,避免远程断连后无法登录。

重启系统(可选)

sudo reboot

配置系统时区

确保日志、定时任务、证书等时间敏感功能正常工作。

查看当前时区

date
timedatectl

设置为中国上海

sudo timedatectl set-timezone Asia/Shanghai

其他常用时区:Asia/Shanghai, Asia/Tokyo, Europe/London, America/New_York


关闭防火墙

警告:生产环境应配置精细规则,而非直接关闭防火墙。

# Ubuntu 默认使用 UFW(Uncomplicated Firewall)
sudo ufw disable

验证状态:

sudo ufw status verbose

禁用交换空间

许多分布式系统(如 Kubernetes)要求关闭 swap 以保证内存调度一致性。

查看当前 swap

free -h
swapon --show

临时关闭 swap

sudo swapoff -a

永久禁用 swap

编辑 /etc/fstab,注释或删除包含 swap 的行:

sudo vi /etc/fstab

示例(注释掉):

# /swapfile none swap sw 0 0
# /dev/sda2 none swap sw 0 0

修改后无需重启即可永久生效(因 swapoff -a 已关闭,且 fstab 不再挂载)。


配置静态 IP 地址

文件名可能因安装方式不同而异,常见有:

  • /etc/netplan/00-installer-config.yaml

  • 50-cloud-init.yaml

  • 01-network-manager-all.yaml

编辑 Netplan 配置

sudo vi /etc/netplan/50-cloud-init.yaml

示例配置

network:
  version: 2
  renderer: networkd  # 或 NetworkManager(桌面版常用)
  ethernets:
    enp3s0:           # 替换为你的实际网卡名(通过 `ip a` 查看)
      dhcp4: false
      dhcp6: false
      addresses: [192.168.31.33/24]
      routes:
        - to: default
          via: 192.168.31.1
      nameservers:
        addresses: [192.168.31.1, 114.114.114.114]
        search: []

应用配置

sudo netplan apply

若失败,可调试:

  • sudo netplan generate --debug

  • journalctl -u systemd-networkd -f


配置全局 DNS

即使 Netplan 中设置了 DNS,某些应用仍依赖 systemd-resolved

编辑配置文件

sudo vi /etc/systemd/resolved.conf
[Resolve]
DNS=114.114.114.114 8.8.8.8
#FallbackDNS=1.1.1.1
#Domains=cluster.local

重启服务

sudo systemctl restart systemd-resolved

验证 DNS 解析

resolvectl status
nslookup mirrors.aliyun.com

配置阿里云软件源

备份原始源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

获取系统代号

CODENAME=$(lsb_release -cs)
echo "当前系统代号: $CODENAME"

自动替换为阿里云

sudo sed -i "s|http://[a-z0-9\.]*\.archive\.ubuntu\.com|https://mirrors.aliyun.com|g" /etc/apt/sources.list
sudo sed -i "s|http://security\.ubuntu\.com|https://mirrors.aliyun.com|g" /etc/apt/sources.list

此命令兼容多区域官方源(如 us.archive.ubuntu.comcn.archive.ubuntu.com)。

清理缓存并更新

sudo apt clean
sudo apt update

后续可正常安装软件:sudo apt install -y vim git curl


测试网络性能(可选)

安装 Speedtest

sudo apt install speedtest-cli -y

执行测速

speedtest

输出将显示延迟、下载 / 上传速度,用于评估网络质量。


总结:初始化检查清单

项目

状态

主机名已设置且唯一

静态 IP 配置正确

DNS 可解析外部域名

时区为 Asia/Shanghai

Swap 已关闭

防火墙已关闭(实验环境)

APT 源已切换至阿里云

Root 登录策略已明确

⚠️(按需)

完成以上步骤后,你的 Ubuntu 节点已准备好作为分布式系统(如 Kubernetes、Hadoop、Spark)的成员节点!


如需批量部署,可将上述步骤编写为 Shell 脚本,并结合 Ansible/Terraform 实现自动化。