Skip to content

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 Hubdocker pull ubuntu 即可下载最新的 Ubuntu 镜像

⛵️ 系统安装

Ubuntu 各版本的 发布周期 如下

版本号 (代号)发布结束支持
24.04 LTS (Noble Numbat)Apr 2024Apr 2029
23.10 (Mantic Minotaur)Oct 2023Jul 2024
22.04.4 LTS (Jammy Jellyfish)Apr 2022Apr 2027
20.04.6 LTS (Focal Fossa)Apr 2020Apr 2025
18.04.6 LTS (Bionic Beaver)Apr 2018Apr 2023

TIP

Ubuntu 各架构的下载链接:

系统加载镜像

install-2404-step-0-boot.png

Ubuntu 24.04 Desktop 的安装

选择语言

install-2404-step-1-choose_language.png

可访问性」设置可以跳过

install-2404-step-2-accessibility.png

键盘布局」选择默认

install-2404-step-3-keyboard_layout.png

在最后安装过程中,可能会从原始软件源更新软件,如果网络不好,会导致安装过程极慢,因此建议在「连接到互联网」设置中,(建议)暂时不连接互联网,等安装完成进入系统后,(如果有必要)换源后再进行更新

install-2404-setp-4-connect_network.png

安装类型」中,选择下「优化您的计算机」,「自动安装」应该是 Ubuntu24.04新加入的功能,可以通过配置文件自动安装

install-2404-setp-5-install_type.png

应用程序和更新」选择默认集合进行最小安装,需要的软件可以在安装完成后手动安装需求的软件

install-2404-setp-6-app.png

优化您的计算机」中勾选全部选项,

install-2404-setp-7-optimize_computer.png

安装类型」选择手动分区

install-2404-setp-8-install_type.png

接下来,是非常重要的分区设置

  1. 查看可用的安装空间,选择剩余空间中,点击左下角的「➕」键,新建分区

install-2404-setp-9-manual_partition_1.png

  1. 分区的选择,需要根据电脑的存储配置进行分配

一般有这几种情况:

  • 只有一个硬盘,假定为「SSD」
  • 有两个硬盘「 SSD+ HDD」,如果是「SSD+SSD」,那么选择读写较快的硬盘为「SSD」,另一个慢速硬盘假定为「HDD」
  • 三个硬盘「 SSD+ HDD1+HDD2」,其中还是将最快速的硬盘作为「SSD」

根据上述的情况假设,可以安装如下情况进行分区(仅供参考):

分区格式分配盘备注
/bootExt4SSD内核及引导系统程序所需要的空间,一般预留 512/1024MB 即可
Swap交换空间SSD根据需求配置,也可以不给。因为 swap 可以后续自己创建(创建在SSD上)
/Ext4SSD剩余全部分配给根目录
/homeExt4HDD/HDD1全部分配
/optExt4HDD2全部分配,一般是第三方软件默认安装位置,也可以安装一些自己的软件
/opt/dataExt4HDD3如果还有硬盘,一般就是用来存放训练数据集

install-2404-setp-9-manual_partition_2.png

  1. 完成分区后,Ubuntu 24.04会自动设置 /boot 引导分区,相比于前代更加方便了

install-2404-setp-9-manual_partition_3.png

设置您的账户」中,设置用户名

install-2404-setp-10-setup_account.png

选择时区」,默认即可

install-2404-setp-11-time_zone.png

准备安装」确认安装类型,点击安装进入下一步

install-2404-setp-12-ready_to_install.png

安装」比较久,建议断掉所有网络连接(有线),避免从互联网下载或更新软件,增加安装时间,安装或者更新软件都可以在安装完成后进行

install-2404-setp-13-installing.png

安装完成」,点击「立即启动」,按照提示「Please remove the installation medium, then press ENTER:」,移除安装介质,按下回车键重启

install-2404-setp-14-finish.png

Ubuntu 24.04 Server 的安装

安装桌面

bash
sudo apt install -y ubuntu-desktop-minimal

安装locales

bash
sudo apt install -y language-pack-zh-hans
sudo update-locale LANG=zh_CN.UTF-8

重启 ,安装文字

bash
sudo apt install -y ttf-wqy-microhei ttf-wqy-zenhei xfonts-intl-chinese

Ubuntu 22.04 Desktop 的安装

在系统加载镜像后,Ubuntu 22.04 会执行 Checking disks(检查完整性),然后进入安装流程

选择语言」英文或者中文均可

install-2204-step-1-choose_language.png

键盘布局」选择默认

install-2204-step-2-keyboard_layout.png

更新和其他软件」选择「最小安装」避免过多无用软件,取消勾选「安装Ubuntu时下载更新」加快安装,勾选☑️「为图形或无线。。。」确保驱动自动安装

install-2204-step-3-updates_and_other_software.png

安装类型」(推荐)选择「其他选项」确保清楚如何分区,参考 手动分区 进行分区

install-2204-step-4-install_partition.png

手动分区

install-2204-step-4-install_partition_1.png

手动分区

install-2204-step-4-install_partition_2.png

手动分区

install-2204-step-4-install_partition_3.png

手动分区

install-2204-step-4-install_partition_4.png

手动分区

install-2204-step-4-install_partition_5.png

手动分区

install-2204-step-4-install_partition_6.png

选择时区」选择默认

install-2204-step-5-time_zone.png

设置您的账户」设置用户名

install-2204-step-6-account.png

准备安装」确认安装类型,点击安装进入下一步

install-2204-step-7-installing.png

手动分区

🚀 初始化配置

更换软件源

TIP

事实上,更换软件源不是必须的,如果能稳定地连接到原始默认的源,那么是没有必要换源的,可能会获取不到某些软件;但是,如果连接不稳定的情况,那么换源是有必要的。

在换源之前应该先测试一下原始源的连接情况,如果连接状况良好,不需要换源,可以跳转至步骤 “更新软件包” 进行更新。

在更换软件源之前,需要先备份原始的软件源:

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

更换软件源应该按照对应源的手册进行操作:

ubuntu 软件源软件源使用帮助ports 源使用帮助
清华大学开源软件镜像站(TUNA)x86, x86_64ARM(arm64, armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等
中国科学技术大学开源软件镜像(USTC)AMD64(x86_64), Intel x86arm64, armhf, PowerPC, ppc64el, s390x
上海交通大学 Linux 用户组 (SJTUG)ubuntu

可以从上述软件源中选择一个并按照「使用帮助」进行换源,更换软件源完成后,按照 “更新软件包” 步骤更新软件包。

更新软件包

从软件源获取最新的软件包列表

bash
sudo apt update

更新(全部)已安装的软件包

bash
sudo apt upgrade -y

安装常用软件

安装基本的软件

  • net-tools:网络工具,可以通过 ifconfig 查看网络信息
  • openssh-server:SSH 服务端,安装后,可以通过 SSH 远程连接到该设备
  • git:版本控制工具,获取项目
  • curlwget:网络工具,可以通过网络下载文件
  • vimnano:文本编辑器

其中有一些软件已经默认安装了,安装命令如下:

bash
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 ,可以如下安装

shell
sudo apt install openssh-server -y

在登陆的时候,会自动将「本地私钥」和「服务器公钥」进行匹配,如果匹配成功,则可以免密登录。这在使用 VSCode 远程开发的时候非常有用,可以免去每次输入密码的麻烦。 (关于 VScode 远程开发可以参考 "Remote Development using SSH")

使用 ssh-copy-id 命令可以将「本地公钥」传输协议到远程服务器并存储在「公钥认证」文件中,例如:

shell
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 ,高亮部分需要自行修改:

查看完整代码
shell
# ========================================
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 ""