Ubuntu 22.04服务器初始化
前言:
新装 或者 重装 Ubuntu 22.04服务器后可使用该教程快速实现初始化操作,本教程以局域网内虚拟机(IP:192.168.0.10, 修改host:local.vm / *.local.vm)为例演示,实操时请替换为真实的IP和域名。
一、简单初始化
1.1 基础修改
- 使用默认 “用户名+密码” 远程登录服务器:
ssh root@local.vm,回车后输入默认密码(系统中所有密码输入都不显示),输完密码后再次回车即可。 - 修改密码:
passwd,回车后输入两次新密码即可修改当前用户的密码。 - 修改 “主机名”、“用户密码”:
hostnamectl set-hostname vm10,将主机名改为vm10,具体表现为命令行窗口中每次输入命令的前方不再是root@ser740300353278:~#,而是root@vm10: ~#,当前终端不生效,需要新终端或者退出后重登后生效。 - 退出+重登:
exit,ssh root@local.vm,使用新密码登录即可。
1.2 APT源与软件更新
修改apt源(官方源在国外,下载较慢),更新系统软件与内核:
- 查看现有源:
cat /etc/apt/sources.list | grep archive.ubuntu.com(其中archive.ubuntu.com可能是cn.archive.ubuntu.com):
deb http://archive.ubuntu.com/ubuntu jammy main restricted
# deb-src http://archive.ubuntu.com/ubuntu jammy main restricted
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu jammy universe
# deb-src http://archive.ubuntu.com/ubuntu jammy universe
deb http://archive.ubuntu.com/ubuntu jammy-updates universe
# deb-src http://archive.ubuntu.com/ubuntu jammy-updates universe
deb http://archive.ubuntu.com/ubuntu jammy multiverse
# deb-src http://archive.ubuntu.com/ubuntu jammy multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
- 执行换源:
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list。如果上一条结果中是cn.archive.ubuntu.com,则执行:sed -i 's/cn.archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list。另外mirrors.ustc.edu.cn是清华源,也可以使用阿里源mirrors.aliyun.com。 - 执行更新:
apt update - 执行升级:
apt upgrade -y,该操作会更新很多内容,其中可能包括:- sshd服务,显示这个界面时建议保持当前版本的配置,也可以按 ↑ 键选择安装新版sshd,选中之后回车即可:

- 初始化云实例,建议直接回车:

- 系统内核更新,直接回车即可,后续需要重启以及卸载旧版内核(存储空间足够可以不用卸载):

- 重启服务,直接回车即可(等服务重启后即完成
apt upgrade -y所执行的内容更新过程):
- sshd服务,显示这个界面时建议保持当前版本的配置,也可以按 ↑ 键选择安装新版sshd,选中之后回车即可:
- 重启系统:
reboot,重启后会断开ssh连接,需要重新登录。注意:一定要先重启后再卸载旧版内核,因为重启时才能真正切换到使用新版内核。
1.3 顽疾卸载
- 卸载旧版内核:
- 列出相关已安装内容:
dpkg -l | grep linux-*,结果大致为:
- 卸载旧版内容:
apt purge linux-headers-5.15.0-30 linux-headers-5.15.0-30-generic linux-image-5.15.0-30-generic linux-modules-5.15.0-30-generic,其中5.15.0-30是旧版本。 - 卸载其它依赖:
apt autoremove - 更新 grub 引导:
update-grub
- 列出相关已安装内容:
- 卸载snap:
- 停止并禁用 Snap 服务:
systemctl disable snapd.service # 禁用服务 systemctl disable snapd.socket # 禁用套接字 systemctl disable snapd.seeded.service # 禁用预安装服务 systemctl stop snapd # 停止服务 - 列出并卸载所有已安装的 Snap 应用:
snap list,snap remove --purge(最后卸载core20、snapd)
- 清理残留文件:
rm -rf ~/snap /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd - 阻止 Snap 重新安装:
apt-mark hold snapd
- 停止并禁用 Snap 服务:
1.4 vim安装与配置
- 安装 vim:
apt install vim -y - 编辑 vim 配置文件:
tee ~/.vimrc < " 将按键组合 jj 映射为 ESC 键
set autoindent " 自动缩进
set number " 显示行号
set showmatch " 高亮显示括号匹配
set cursorline " 下划线显示当前行
set ruler " 在 Vim 窗口的右下角(状态栏)实时显示光标所在的行号和列号
set cindent " C语言风格的缩进
set smartindent " 智能缩进
set shiftwidth=4 " 自动缩进/代码块缩进的宽度
set tabstop=4 " 'tab' 字符的 **显示** 宽度
" 累计到 4 个空格时,会按一个 '逻辑 tab' 处理(删除时也会一次删除 4 个空格,等效于删除一个 'tab')
set softtabstop=4 " ↑:'tab' 的软宽度
" 在行首按 'tab' 时,使用shiftwidth缩进;在行中间按 'tab' 时,使用softtabstop缩进
set smarttab " ↑:智能 'tab'
set expandtab " 将 "tab" **转换** 为空格
syntax enable " 启用语法高亮
syntax on " 启用语法高亮
<
二、系统规格及性能测试
2.1 基础信息:
- CPU 核数/型号,执行
lscpu | grep -E "Model name|CPU(s):|Thread(s) per core|Core(s) per socket",输出:Model name: AMD EPYC 7K62 48-Core Processor Thread(s) per core: 1 Core(s) per socket: 8 - 逻辑 CPU 数,执行
nproc,输出8,表示该服务器为8核,同上一条中的Core(s) per socket。 - 内存大小,执行
free -h,输出(主要看总共8G内存,结合上一条表示该服务器为8C8G):total used free shared buff/cache available Mem: 7.8Gi 193Mi 7.2Gi 1.0Mi 361Mi 7.3Gi Swap: 0B 0B 0B - 磁盘空间,执行
df -h,输出(主要看该服务器硬盘有40G,挂载在/目录):Filesystem Size Used Avail Use% Mounted on tmpfs 794M 1.1M 793M 1% /run /dev/vda1 39G 1.5G 38G 4% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda15 105M 6.1M 99M 6% /boot/efi tmpfs 794M 4.0K 794M 1% /run/user/0
2.2 性能测试:
- CPU 性能测试:
- 安装 sysbench:
apt install sysbench -y - 执行测试:
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run(--cpu-max-prime为最大素数,建议取值在2000~5000):# ...通用信息省略 Number of threads: 8 CPU speed: events per second: 4809.06 # 关键值,越大越好 # ...其它信息省略 - 卸载
sysbench:apt remove sysbench -y
- 安装 sysbench:
- 读写速度测试:
- 测试写速度:
dd if=/dev/zero of=/tmp/test bs=1G count=1 oflag=direct:1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.23674 s, 868 MB/s - 测试读速度:
dd if=/tmp/test of=/dev/null bs=1G count=1 iflag=direct:1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.270031 s, 4.0 GB/s - 删除文件:
rm -rf /tmp/test
- 测试写速度:
- 网络带宽测试(也可以使用
iperf3测试网络带宽,但是感觉不太准1。):- 在服务器上启动http服务,依次执行:
cd /tmpdd if=/dev/zero of=file.bin bs=1M count=100python3 -m http.server 80:在/tmp目录中开启80端口的http服务
- 在本地浏览器访问:
http://local.vm/file.bin或者http://192.168.1.10/file.bin即可下载file.bin文件,观察文件下载速度,示例:

下载过程中的最大下载速度乘8(本例中大约为4.3*8=35.4,本例未截到最大下载速度,服务器带宽为50M)大概就是网络带宽。 - 下载完成后回到服务器命令行窗口:
- 按 ctrl + C 停止http服务
- 执行
rm -rf /tmp/file.bin删除临时文件。
- 在服务器上启动http服务,依次执行:
iperf3测试带宽:- 在服务器上依次执行:
apt install iperf3 -yiperf3 -s:开启iperf3服务
- 在本地(以windows为例)安装
iperf3:- 从 iperf3 github release 上下载最新版
iperf3(如iperf-3.20-win64.zip) 到本地 - 解压后进入文件夹,执行:
.iperf3.exe -c 192.168.1.10,即可测试网络带宽,结果参考(差距很大):
- 从 iperf3 github release 上下载最新版
- 返回服务器停止并卸载
iperf3:- 按 ctrl + C 停止
iperf3服务 - 执行
apt remove iperf3 -y,apt autoremove -y卸载iperf3
- 按 ctrl + C 停止
- 在服务器上依次执行:










