马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
弁言
记录了一次完整的体系安装与环境设置过程,包括启动盘制作、安装引导、镜像源替换、中文输入法设置、驱动和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必选,自动天生
| | /var | 300GB | ext4 | Docker 容器、MySQL 数据 | | /usr | 250GB | ext4 | 发行版提供步骤下载位置 | 左下角 - 号删除分区, + 号增加分区。
假如原来安装了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,用以下指令安装即可)
打开文件后,将网站中天生对应版本号的镜像源粘贴到文件中。按ctrl+X退出,Y保存。更新镜像源:
检查镜像源是否厘革:
- sudo apt-cache policy vim
复制代码
看到有来自tsinghua的镜像,分析乐成添加镜像源。
根用户设置
Ubuntu默认没有开启root登录,假如有需求,按以下方法设置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 # 重启生效
复制代码 测试安装:
乐成输出示例:
无法乐成输出/因版本更新导致驱动不匹配的解决方法
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,删除全部密钥,保存并退出。
测试安装:
乐成调取:
为了防止再出现这种环境,可以锁定版本,避免自动更新:
- sudo systemctl stop unattended-upgrades
- sudo systemctl disable unattended-upgrades
复制代码 CUDA安装
网站:CUDA Toolkit 12.8 Update 1 Downloads | NVIDIA Developer
在网站上选择对应版本:
按照网站所给的代码进行安装:
安装验证:
输出:
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
复制代码 验证修改乐成:
权限修改
此时发现只有root用户有使用docker的权限。使用命令:
- sudo usermod -aG docker $USER
复制代码 $USER替换为自己的用户名,将自己添加到docker用户组中,重启即可不加sudo也能使用docker。
镜像查看和容器运行状态查看
查看本地镜像:
这里可以看到之前拉取的hello-world镜像
查看容器运行状态:
这里可以看到我们之前运行的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)就分析以及安装好了,也可以验证安装:
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
复制代码 查看地址:
远程连接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安装
复制代码
|