Ubuntu 24.04.2 LTS 桌面版系统安装、分区、配置全记录

引言

记录了一次完整的系统安装与环境配置过程,包括启动盘制作、安装引导、镜像源替换、中文输入法配置、驱动和CUDA安装、docker安装和完整配置过程、SSH配置、软件安装(App Store软件安装与其他软件安装,以VScode和Mathlab为例),包含过程中遇到的错误和修正方法,供参考,有错误的地方欢迎指正。

目录

引言

Ubuntu启动盘制作

Windows系统分区格式化步骤

制作启动盘

Ubuntu安装与磁盘分区

安装过程

分区参考

镜像源替换

根用户设置

 中文输入法配置

NVIDIA GPU驱动安装

安装方法

无法成功输出/因版本更新导致驱动不匹配的解决方法

​编辑

CUDA安装

Docker安装和配置

安装依赖工具

添加 Docker 官方 GPG 密钥

设置 Docker 仓库

安装 Docker 引擎

验证安装

连接报错问题

权限修改

镜像查看和容器运行状态查看

容器中使用Nvidia驱动配置

使用Tensorflow镜像

Anaconda安装

SSH配置

工作站SSH服务器开启和配置

远程连接SSH客户端连接方案

软件安装

从商店中安装软件(以安装VSCode为例)

网站下载软件(以安装Matlab为例)

安装过程

添加图标

DEB格式软件安装


Ubuntu启动盘制作

Windows系统分区格式化步骤

如果是电脑本身就安装了Windows系统,并且想要双系统,需要合理分区。

如果本身安装了Windows系统,之后只要Linux系统,建议先把C盘以外的所有硬盘格式化。C盘在后续Ubuntu安装过程的分区步骤中也要格式化掉。(之前没有格式化D盘,每次分区的时候格式化D盘都失败了,暂时不知道原因)

本身没有安装Windows系统直接跳过就可以。

在Windows系统中找到计算机管理-存储-磁盘管理,选择要用于Linux系统的分区,鼠标右键菜单选择格式化即可。

制作启动盘

制作启动盘可以参考以下文章,非常详细,没有什么雷点,在此不赘述。

参考:Ubuntu系统U盘启动盘的制作(UltralSO) - 知乎

Ubuntu下载:Ubuntu系统下载 | Ubuntu

软碟通下载:最新UltraISO官方免费下载 - UltraISO软碟通中文官方网站

Ubuntu安装与磁盘分区

安装过程

插入启动盘,开机时狂按Esc/Del/F2键(取决于主板型号),进入UEFI/BIOS菜单,将启动项的顺序改为启动盘为第一,即可进入安装程序。

语言选择,可选中文。这里为了后续文件夹管理方便选择的英文。后续可以更改,不用担心。

辅助功能选择,没有特殊需求直接Next。

选择键盘类型,之后可以改,后续会有添加拼音输入法的步骤:

是否联网安装,这里两个都可以选,不联网安装会快一些。

选择安装Ubuntu

可用更新直接跳过

选择自定义安装:

选择默认配置,这样安装会快一些,扩展程序可以以后自己安装

是否安装推荐软件,这一步可以什么都不选,后续再安装就可以。我这里选了第一项,如果没选第一项后续手动安装NVIDIA驱动即可。

选择手动安装

接下来就是硬盘分区

分区参考

基础分区方案(软件、包较少,不用docker/MySQL,不跑模型可以使用这个方案):

挂载点

大小

类型

备注

/

100GB

ext4

系统根目录

/home

剩余

ext4

用户数据

swap

内存2倍(4G/8G)

swap

休眠需要

/boot/efi

512MB

EFI

UEFI必选

发行版提供的程序会下载到/usr中(如果不单独分区,会在根目录中),Docker 容器存储在 /var/lib/docker,MySQL 数据默认在 /var/lib/mysql。同时,Debian 系的软件包数据库和APT 的元数据缓存都会存在这里。因此,如果需要使用Docker和MySQL,建议这两个区单独分区,否则根目录(/)(相当于Windows的C盘)很容易爆满。

我的分区方案(1TB硬盘):

挂载点

大小

类型

备注

/

100GB

ext4

系统根目录

/home

剩余

ext4

用户数据,如果使用conda,环境会存在这里

swap

8G

swap

休眠需要

/boot/efi

1.13GB

FAT32

UEFI必选,自动生成

/var300GBext4Docker 容器、MySQL 数据
/usr250GBext4发行版提供程序下载位置

左下角 - 号删除分区, + 号增加分区。

如果原来安装了Windows,后续不需要Windows系统,直接用 - 号删除原Windows的分区就可以了。注意,如果之后不需要Windows系统,并且Windows的分区(比如C盘)没有格式化的话,直接用 - 号把原来的C盘删掉就可以了。如果后续还需要用Windows系统,那么分给Windows的分区不要动。

/boot/efi会自动挂载在左下角"Device for boot loader installation"选中的磁盘中。

如果不小心删错了分区,右下角Revert一键还原。

(这里截图没有改,后来/var改成了300GB)

设置用户名和密码

选择时区,选择不正确的时区可能会导致后续包安装的认证错误等问题(忘记截图了QAQ)

确认信息:

点击Install开始安装。安装完成后按提示重启,拔出启动盘,按下Enter键,安装成功!

镜像源替换

国内有时候网络不好,这里添加清华镜像源。官方网站有引导:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Ubuntu 24.04已经把源的位置改到/etc/apt/sources.list.d/ubuntu.sources中(旧版本在/etc/apt/sources.list,使用vim修改),使用nano修改镜像源文件:

sudo nano /etc/apt/sources.list.d/ubuntu.sources

(如果没有安装nano,用以下指令安装即可)

sudo apt install nano

打开文件后,将网站中生成对应版本号的镜像源粘贴到文件中。按ctrl+X退出,Y保存。更新镜像源:

sudo apt update

检查镜像源是否变化:

sudo apt-cache policy vim

看到有来自tsinghua的镜像,说明成功添加镜像源。

根用户设置

Ubuntu默认没有开启root登录,如果有需求,按以下方法配置root用户:

sudo passwd root

按照提示设置密码。

验证:

su root

可以使用密码登入即成功。

 中文输入法配置

只有如果开头选择的是英文,进入后要添加中文输入法才能打中文。

先在右上角设置中找到"Region & Languague"

添加语言,找到中文,然后安装语言包(可能需要注销或重启才能生效,如果在这里把Chinese拖到English前面,整个系统都会变成中文的)。

选择"Keyborad"一项,点击添加键盘源。

找到中文,进入选择“Chinese(Intellengent Pinyin)”。右上角显示现在使用的输入法。shift键快速切换。

如果这一步找不到这一项,可以使用命令下载拼音包。

sudo apt update
sudo apt install fcitx fcitx-pinyin fcitx-config-gtk

NVIDIA GPU驱动安装

安装方法

查看显卡型号,确定可以检测到显卡:

lspci | grep -i nvidia  # 查看显卡型号

安装推荐驱动(如果前面安装Ubuntu时勾选了自动安装驱动,这一步可以不做)

sudo ubuntu-drivers autoinstall  # 自动安装推荐驱动
sudo reboot                      # 重启生效

测试安装:

nvidia-smi

成功输出示例:

无法成功输出/因版本更新导致驱动不匹配的解决方法

Tips:我安装完第二天Ubuntu自动更新,驱动不匹配。

解决方案

先检查是否是大版本有误。在Ubuntu桌面找到"Softare & Update"应用,选择Additional Drivers,查看选择的驱动是否匹配。

我这里大版本没有错误,是微版本不匹配。

卸载现有的驱动:

sudo apt purge nvidia* libnvidia*
sudo apt autoremove -y
sudo apt update

查看推荐驱动:

sudo ubuntu-drivers devices

输出:

我这里还是选择之前安装的550。

如果想要具体到微版本号的,查询方法(以550为例):

sudo apt search nvidia-driver-550

安装对应版本驱动:

sudo apt install nvidia-driver-550
#或者具体到微版本号:
sudo apt install nvidia-driver-550 = 550.144.03-0ubuntu1

我这里安装完之后有了新的错误:

解决方案参考:https://zhuanlan.zhihu.com/p/7299923217 

重新启动,按Esc或F2或Del(取决于主板类型)进入UEFI/BIOS,在菜单中禁用Secure Boot。

我的选项中没有禁用这一项,只有Standard/Custom,方法是将Secure Boot Mode改为Custom,然后选择Key Management,再选择Clear Secure Boot Keys,删除所有密钥,保存并退出。

测试安装:

nvidia-smi

成功调取:

为了防止再出现这种情况,可以锁定版本,禁止自动更新:

sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades

CUDA安装

网站:CUDA Toolkit 12.8 Update 1 Downloads | NVIDIA Developer

在网站上选择对应版本:

按照网站所给的代码进行安装:

安装验证:

nvcc --version

输出:

Docker安装和配置

安装依赖工具

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

添加 Docker 官方 GPG 密钥

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

设置 Docker 仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证安装

sudo docker run hello-world

连接报错问题

验证安装时出现了报错:

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

Run 'docker run --help' for more information

这里应该是因为校园网,无法连接docker hub。

使用阿里云或华为云的镜像验证:

#阿里云,似乎还需要登陆,不推荐:
sudo docker run registry.cn-hangzhou.aliyuncs.com/library/hello-world
#华为云:
docker run swr.cn-east-3.myhuaweicloud.com/library/hello-world

 输出:

说明Docker安装成功。(如果后续不需要拉取Docker仓库的其他镜像,这样就可以了,不用管。如果项目需要拉取仓库其他镜像,建议添加镜像源)

添加docker hub镜像源:

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

填写以下内容:

{
    "registry-mirrors": [
   "https://docker.m.daocloud.io"#或者可以改成、添加其他镜像源
    ]
}

重启docker服务:

sudo systemctl daemon-reload 
sudo systemctl restart docker

验证修改成功:

docker info

权限修改

此时发现只有root用户有使用docker的权限。使用命令:

sudo usermod -aG docker $USER

$USER替换为自己的用户名,将自己添加到docker用户组中,重启即可不加sudo也能使用docker。

镜像查看和容器运行状态查看

查看本地镜像:

docker images

这里可以看到之前拉取的hello-world镜像

查看容器运行状态:

docker ps -a

这里可以看到我们之前运行的hello world的容器

容器中使用Nvidia驱动配置

此时,我们还不能直接在容器中使用GPU驱动来加速模型训练。这一步我折腾了很久,尝试了很多方法更换容器仓库。网上攻略很乱,最后发现采用官方手册的方法就可以了。

官网:Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit

附上代码:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

安装完成之后,尝试拉取镜像:

docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

出现:

GPU可用。

使用Tensorflow镜像

拉取Tensorflow镜像:

docker pull tensorflow/tensorflow:latest-py3#或改成自己需要的版本

使用docker images查看镜像:

建议使用以下方法运行容器,方便管理:

docker run --gpus '"device=0,1"' -dit --privileged --pid=host --name <user>-<info> \
-v /home/<user>/docker_share:/home/<user>/docker_share \
-w /home/<user>/docker_share \
<docker image>:<tag>

“device=0,1” 是GPU序号,在“docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi”命令中可以看到对应的序号,我这里只有一个GPU,填写0就可以,如果有多块GPU,可以在这里进行设置;

<user>-<info>是容器名,为方便管理建议这样命名,尤其在多人一起使用一个工作站的情况下

-v是挂载目录路径

-w是工作目录路径

<docker image>:<tag>两个变量前者对应docker images中的第一列,后者对应第二列,按需求填写即可。

运行示例:

docker run --gpus device=0 -dit --privileged --pid=host --name lyq-dcase2023 \
-v /home/lyq/docker_share:/home/lyq/docker_share \
-w /home/lyq/docker_share \
tensorflow/tensorflow:2.5.1-gpu

运行后可以在镜像运行状态中看到:

进入容器:

docker exec -it <name> /bin/bash

使用ctrl + D退出容器。

Anaconda安装

下载网址:Download Now | Anaconda

按自己的需求选择anaconda或miniconda。

在终端导航到下载目录,并运行安装脚本。

注,Conda安装的默认路径通常为/home/<用户名>/anaconda3,环境会存储在/home/<用户名>/anaconda3/.conda/envs,环境会存储在/home/<用户名>/anaconda3/conda/pkgs中。如果安装到根目录中,普通用户将没有使用权限。因此,推荐不要修改默认安装路径,不要改到根目录中,这样也方便版本管理。

安装命令如下,$PATH改为脚本所在路径即可,后续依照指令安装。

bash $PATH/Anaconda3-2024.10-1-Linux-x86_64.sh

添加到系统变量:

echo 'export PATH="$HOME/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

一般只要出现(base)就说明以及安装好了,也可以验证安装:

conda list

SSH配置

SSH配置可以方便远程使用GPU,只要和Work Station连在一个局域网下,就可以使用笔记本电脑或者其他设备登入工作站进行训练等操作。如果觉得有需要可以进行配置。

工作站SSH服务器开启和配置

在终端安装ssh服务器、客户端:

sudo apt update
sudo apt install openssh-server openssh-client

开启ssh服务器和开机自启:

sudo systemctl start ssh
sudo systemctl enable ssh

配置服务器(可选):

 sudo nano /etc/ssh/sshd_config

这里我只改了两个地方:

禁止根用户登录:

允许密码登录:

Ctrl+X,Y,回车保存后重启ssh服务:

sudo systemctl restart sshd

查看地址:

ifconfig
#或
ip a

远程连接SSH客户端连接方案

可以使用VScode/MobaXterm进行远程登录,临时传文件用终端也可以连接。这里演示MobaXterm的连接方法。注意,如果没有云服务器或公网IP,需要和服务器在同一个局域网下才可以连接成功。

在左上角找到Session

输入服务器地址:

会显示“login as”,按提示输入用户名和密码即可(和服务器上的用户名密码相同)

登录成功:

软件安装

从商店中安装软件(以安装VSCode为例)

在桌面上找到App Center,找到自己想要的软件进行安装即可。这里安装路径默认位于\usr\local文件夹。

网站下载软件(以安装Matlab为例)

安装过程

先下载Linux 版安装包,Matlab下载地址:https://www.mathworks.com/downloads/

解压下载的压缩包,在终端机中运行:

cd $PATH #Matlab解压路径
sudo ./install

然后按照提示激活许可证,安装需要的工具即可。

安装完成后在终端机中输入指令运行:

cd /usr/local/MATLAB/R20XXx/bin #进入安装路径
./matlab

添加图标

想要使用桌面图标,需要手动添加。

创建快捷方式文件:

sudo gedit /usr/share/applications/matlab.desktop

文件内容:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/MATLAB/R2024b/bin/matlab -desktop #记得改成对应的安装位置,如果是默认安装只需要版本号对应
Name=MATLAB
Icon=/usr/local/MATLAB/R2024b/toolbox/shared/dastudio/resources/MatlabIcon.png #这里的图标可以在usr/local/MATLAB/R2024b/文件夹中搜索MatlabIcon,在提供的几个图标里找到自己喜欢的那个。把路径复制上来就可以了
Categories=Math;Science
Comment=Scientific computing environment
StartupNotify=true
StartupWMClass=com-mathworks-util-PostVMInit

重启即可通过桌面图标进入Matlab

DEB格式软件安装

从网上下载安装包,在终端中输入:

sudo apt install $PATH/XXXXX.deb  # 从Path安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值