Ubuntu 系统安装和初始化
⛵️ 环境准备
安装 Ubuntu 系统,可以在物理机上安装,也可以在虚拟机上安装
物理机安装
物理机安装,需要准备一个 U 盘,将系统镜像写入 U 盘,然后通过 U 盘启动安装,烧写系统的工具推荐使用 balenaEtcher,这是一个开源、跨平台的烧写工具
将镜像烧写到 U 盘之后,重启电脑,(一般需要长按F10/F12或者其他,不同电脑不一样)进入 BIOS 设置,将 U 盘作为启动项进入,即可引导进入安装界面
虚拟机安装
虚拟机安装,需要借助虚拟机软件,然后导入系统镜像进行安装,不同操作系统下的虚拟机软件有所不同
- 在 Windows 上安装
2024年5月14日,VMware 推出了桌面虚拟化平台的最新版本 Workstation Pro 17.5.2 和 Fusion Pro 13.5.2,并且宣布 Workstation 和 Fusion 对个人使用完全免费,企业许可转向订阅 (博通收购了 VMware 后干的一大好事)
可以参考上述的连接下载 VMware Workstation Pro 17.5.2 及以上版本的,需要注册一个 Broadcom 账号,下载时选择「VMware Workstation Pro for Personal Use (For Windows)」版本
- 在 macOS 上安装
在 Mac 上会推荐使用 UTM 虚拟机,可以在 App Store 上下载,也可以在 UTM 官网 下载
在 Docker 上安装
参考 ubuntu - Official Image | Docker Hub,docker pull ubuntu
即可下载最新的 Ubuntu 镜像
⛵️ 系统安装
Ubuntu 各版本的 发布周期 如下
版本号 (代号) | 发布 | 结束支持 |
---|---|---|
24.04 LTS (Noble Numbat) | Apr 2024 | Apr 2029 |
23.10 (Mantic Minotaur) | Oct 2023 | Jul 2024 |
22.04.4 LTS (Jammy Jellyfish) | Apr 2022 | Apr 2027 |
20.04.6 LTS (Focal Fossa) | Apr 2020 | Apr 2025 |
18.04.6 LTS (Bionic Beaver) | Apr 2018 | Apr 2023 |
TIP
Ubuntu 各架构的下载链接:
- AMD64: These releases of Ubuntu are available
- ARM: ARM 架构除了树莓派之外的不提供桌面版下载,在 Ubuntu Server for ARM -> Alternative and previous releases ›
- 树莓派: Install Ubuntu on a Raspberry Pi | 在树莓派上安装Ubuntu
- RISC-V: Download Ubuntu for RISC-V Platforms
系统加载镜像
Ubuntu 24.04 Desktop 的安装
「选择语言」
「可访问性」设置可以跳过
「键盘布局」选择默认
在最后安装过程中,可能会从原始软件源更新软件,如果网络不好,会导致安装过程极慢,因此建议在「连接到互联网」设置中,(建议)暂时不连接互联网,等安装完成进入系统后,(如果有必要)换源后再进行更新
「安装类型」中,选择下「优化您的计算机」,「自动安装」应该是 Ubuntu24.04新加入的功能,可以通过配置文件自动安装
「应用程序和更新」选择默认集合进行最小安装,需要的软件可以在安装完成后手动安装需求的软件
「优化您的计算机」中勾选全部选项,
「安装类型」选择手动分区
接下来,是非常重要的分区设置
- 查看可用的安装空间,选择剩余空间中,点击左下角的「➕」键,新建分区
- 分区的选择,需要根据电脑的存储配置进行分配
一般有这几种情况:
- 只有一个硬盘,假定为「SSD」
- 有两个硬盘「 SSD+ HDD」,如果是「SSD+SSD」,那么选择读写较快的硬盘为「SSD」,另一个慢速硬盘假定为「HDD」
- 三个硬盘「 SSD+ HDD1+HDD2」,其中还是将最快速的硬盘作为「SSD」
根据上述的情况假设,可以安装如下情况进行分区(仅供参考):
分区 | 格式 | 分配盘 | 备注 |
---|---|---|---|
/boot | Ext4 | SSD | 内核及引导系统程序所需要的空间,一般预留 512/1024MB 即可 |
Swap | 交换空间 | SSD | 根据需求配置,也可以不给。因为 swap 可以后续自己创建(创建在SSD上) |
/ | Ext4 | SSD | 剩余全部分配给根目录 |
/home | Ext4 | HDD/HDD1 | 全部分配 |
/opt | Ext4 | HDD2 | 全部分配,一般是第三方软件默认安装位置,也可以安装一些自己的软件 |
/opt/data | Ext4 | HDD3 | 如果还有硬盘,一般就是用来存放训练数据集 |
- 完成分区后,Ubuntu 24.04会自动设置
/boot
引导分区,相比于前代更加方便了
「设置您的账户」中,设置用户名
「选择时区」,默认即可
「准备安装」确认安装类型,点击安装进入下一步
「安装」比较久,建议断掉所有网络连接(有线),避免从互联网下载或更新软件,增加安装时间,安装或者更新软件都可以在安装完成后进行
「安装完成」,点击「立即启动」,按照提示「Please remove the installation medium, then press ENTER:」,移除安装介质,按下回车键重启
Ubuntu 24.04 Server 的安装
安装桌面
sudo apt install -y ubuntu-desktop-minimal
安装locales
sudo apt install -y language-pack-zh-hans
sudo update-locale LANG=zh_CN.UTF-8
重启 ,安装文字
sudo apt install -y ttf-wqy-microhei ttf-wqy-zenhei xfonts-intl-chinese
Ubuntu 22.04 Desktop 的安装
在系统加载镜像后,Ubuntu 22.04 会执行 Checking disks
(检查完整性),然后进入安装流程
「选择语言」英文或者中文均可
「键盘布局」选择默认
「更新和其他软件」选择「最小安装」避免过多无用软件,取消勾选「安装Ubuntu时下载更新」加快安装,勾选☑️「为图形或无线。。。」确保驱动自动安装
「安装类型」(推荐)选择「其他选项」确保清楚如何分区,参考 手动分区 进行分区
「手动分区」
「手动分区」
「手动分区」
「手动分区」
「手动分区」
「手动分区」
「选择时区」选择默认
「设置您的账户」设置用户名
「准备安装」确认安装类型,点击安装进入下一步
手动分区
🚀 初始化配置
更换软件源
TIP
事实上,更换软件源不是必须的,如果能稳定地连接到原始默认的源,那么是没有必要换源的,可能会获取不到某些软件;但是,如果连接不稳定的情况,那么换源是有必要的。
在换源之前应该先测试一下原始源的连接情况,如果连接状况良好,不需要换源,可以跳转至步骤 “更新软件包” 进行更新。
在更换软件源之前,需要先备份原始的软件源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
更换软件源应该按照对应源的手册进行操作:
ubuntu 软件源 | 软件源使用帮助 | ports 源使用帮助 |
---|---|---|
清华大学开源软件镜像站(TUNA) | x86, x86_64 | ARM(arm64, armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等 |
中国科学技术大学开源软件镜像(USTC) | AMD64(x86_64), Intel x86 | arm64, armhf, PowerPC, ppc64el, s390x |
上海交通大学 Linux 用户组 (SJTUG) | ubuntu |
可以从上述软件源中选择一个并按照「使用帮助」进行换源,更换软件源完成后,按照 “更新软件包” 步骤更新软件包。
更新软件包
从软件源获取最新的软件包列表
sudo apt update
更新(全部)已安装的软件包
sudo apt upgrade -y
安装常用软件
安装基本的软件
net-tools
:网络工具,可以通过ifconfig
查看网络信息openssh-server
:SSH 服务端,安装后,可以通过 SSH 远程连接到该设备git
:版本控制工具,获取项目curl
和wget
:网络工具,可以通过网络下载文件vim
和nano
:文本编辑器
其中有一些软件已经默认安装了,安装命令如下:
sudo apt install -y \
net-tools openssh-server git curl wget vim nano btop tree \
python3-dev python3-pip python3-venv
配置 SSH
使用 SSH 登陆远程服务器前,需要确保远程服务器安装并且开启了 SSH 服务,一般来说 Linux 服务器会默认安装 openssh-server
,而一些桌面版的 Linux 系统可能没有安装 SSH 服务,需要手动安装。对于 Ubuntu ,可以如下安装
sudo apt install openssh-server -y
在登陆的时候,会自动将「本地私钥」和「服务器公钥」进行匹配,如果匹配成功,则可以免密登录。这在使用 VSCode 远程开发的时候非常有用,可以免去每次输入密码的麻烦。 (关于 VScode 远程开发可以参考 "Remote Development using SSH")
使用 ssh-copy-id
命令可以将「本地公钥」传输协议到远程服务器并存储在「公钥认证」文件中,例如:
ssh-copy-id -i <identity_file> <user>@<hostname>
-i
指定「本地公钥」的路径,例如-i ~/.ssh/sshkey.pub
<user>@<hostname>
远程服务器的用户名和主机名,例如ubuntu@192.168.1.1
-p
如果远程服务器的 SSH 端口不是默认的 22 端口,可以通过-p <port>
指定端口
(对于 win 系统,没有 ssh-copy-id
命令,)也可以手动将「本地公钥」复制到远程服务器的 ~/.ssh/authorized_keys
文件中 (如果不存在,需要手动创建) ,但是推荐使用 ssh-copy-id
命令(win 可以使用 git bash),因为该命令会自动创建文件,并自动设置权限
这里提供一个生成密钥并自动上传至服务器的脚本 ssh-keygen-auto.sh
,高亮部分需要自行修改:
查看完整代码
# ========================================
key_name="server" # 生成的密钥名称
username="ubuntu" # 服务器用户名,如果仅生成密钥,此项可忽略
server_ip="192.168.1.6" # 服务器 IP
port="22" # 服务器端口,默认 22
# ========================================
# 生成密钥文件路径,密钥名称为 sshkey-<key_name>
key_file="$HOME/.ssh/sshkey-${key_name}"
[ ! -d "$HOME/.ssh" ] && mkdir -p $HOME/.ssh
# 生成本地密钥
if [ -f ${key_file} ]; then
echo "密钥已存在: ${key_file}"
else
comment=${comment:-"${key_file}"} # 如果 comment 为空,则注释为 key_file
ssh-keygen -t rsa -f ${key_file} -C "${comment}" -N ""
fi
# 上传公钥 至 服务器
ssh-copy-id -i ${key_file}.pub -p ${port} ${username}@${server_ip}
echo ""
echo " SEE :${key_file}"
echo ""