admin 管理员组

文章数量: 1184232

因为各种原因第三次重新配置台电脑的Ubuntu环境了,记录一下在配置的过程中踩的坑

Ubuntu安装:

去Ubuntu官网下载对应的镜像,尽量避免使用多线程下载器或者阿里等提供的镜像,下载完成后最好校验一下MD5码。

Ubuntu Releaseshttps://releases.ubuntu/下载完成后使用rufus或者UltraISO刻录进U盘,默认设置MBR,建议改为GPT分区,参考文章:Linux系统MBR和GPT分区的区别-CSDN博客MBR与GPT:你的新硬盘应该选择哪一个? - 知乎 (zhihu)

具体选择如下:

  1. 如果使用GRUB legacy作为bootloader,必须使用MBR。
  2. 如果使用传统的BIOS,并且双启动中包含 Windows (无论是32位版还是64位版),必须使用MBR。
  3. 如果使用 UEFI 而不是BIOS,并且双启动中包含 Windows 64位版,必须使用GPT。
  4. 非常老的机器需要使用 MBR,因为 BIOS 可能不支持 GPT.
  5. 如果不属于上述任何一种情况,可以随意选择使用 GPT 还是 MBR。由于 GPT 更先进,建议选择 GPT。
  6. 建议在使用 UEFI 的情况下选择 GPT,因为有些 UEFI firmware 不支持从 MBR 启动

刻录完成后,在BIOS中关闭Secure Boot和Fast  Boot,调整U盘启动顺序为第一位,进行Ubuntu安装。

建议全英文系统,同时安装完整的第三方软件,可以在后续的CUDA安装中省去很多麻烦:

安装类型选择其他, 自行配置分区和容量,如果是全新机器装系统需要预留EFI分区,有其他操作系统的则不需要:

各个分区设置
分区类型容量分区格式挂载点
Primary

100M

EFI System Partition-
Logical与内存相同大小swap area-
Logical512MExt4/boot
Logical1/5磁盘大小Ext4/
Logical余下所有空间Ext4/home

Ubuntu 备份与恢复:

参考资料:

​​​​​​​Timeshift系统备份与还原-CSDN博客

https://itsfoss/backup-restore-linux-timeshift/#how-to-restore-your-linux-system-from-timeshift-backup

可用的有两种方法,TimeShift 和 Clonezilla,TimeShift 已经有过成功恢复记录,Clonezilla 还在探索。

TimeShift:

首先准备好一个 ext4 格式的硬盘或者将硬盘再新建一个 ext4 分区作为备份,插入待备份的主机,可以使用 Ubuntu 自带的软件 Disks 进行格式化,也可以使用 fdisk 等命令行操作。

首先配置源,下载软件:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift

 启动软件后,快照类型选择 RSYNC,在位置选择刚刚新建的 ext4 分区,计划选项按需选择,在用户选项建议全部选择最后一栏包含一切,筛选一栏可以将回收站的路径排除,避免备份垃圾文件(也可在备份前清空),然后等待备份完成即可,最后使用 lsblk 命令记录下每个分区的挂载点和大小

在恢复的时候,首先按照原有硬盘的分区容量重新在新硬盘上装好系统(一定要重装!!),每个分区容量大小建议只大不小,系统关机后使用USB镜像系统作为操作系统,在USB系统中按照上述步骤安装 TimeShift,初始化后点击对应的备份文件进行恢复,在进行到下图步骤的时候,请将新硬盘的分区和挂载点与原有系统的分区与挂载点严格对应,剩下的等待恢复完成即可。

​​​​​​​

Clonezilla:

使用Clonezilla可以按照参考链接中的方法进行备份,但是在恢复的时候遇到了由于新硬盘的空间小于原有硬盘导致的恢复失败,后续可以继续尝试更换硬盘解决。

配置硬件:

网卡驱动:

 参考资料:ubuntu18.04 安装网卡i219-LM驱动_ubuntu安装i219-lm驱动-CSDN博客

怀疑是W580芯片组对于Ubuntu的支持不太好,刚安装好Ubuntu需要重新配置网卡驱动,偶尔重启后也没法正确驱动网卡,需要补打驱动。

通用网卡驱动下载:Intel® Network Adapter Driver for PCIe* Intel® Gigabit Ethernet Network Connections under Linux* - FINAL RELEASEhttps://www.intel/content/www/us/en/download/14611/intel-network-adapter-driver-for-pcie-intel-gigabit-ethernet-network-connections-under-linux-final-release.html?wapkw=e1000e

lspci | grep net #查看网卡信息
cd Downloads #去到下载的文件路径下就可以
sudo tar zxf e1000e-3.8.4-tar.gz # xxx就是具体的版本号
sudo mv e1000e-3.8.4 /usr/local/src/e1000e #移动到根目录并重命名
cd /usr/local/src/e1000e/src #切换目录
sudo make install 
#如果报错没有make就先sudo apt-get install make; sudo apt-get install gcc; sudp apt update
sudo modprobe e1000e
#如果报错操作没有权限就去BIOS检查security boot的状态,关闭后再次执行即可
ifconfig #查看当前网络状态

显卡驱动:

1.CUDA安装:

参考资料:ubuntu 18.04 从零开始复现 OpenPCDet 训练kitti数据集并评估 可视化 损失函数_kitti在线评估-CSDN博客Linux安装CUDA的正确姿势_cuda linux 安装-CSDN博客ubuntu 18.04 从零开始复现 OpenPCDet 训练kitti数据集并评估 可视化 损失函数_kitti在线评估-CSDN博客

若非最新的GPU尽量不用最新的驱动,以免其他组件未适配,CUDA可以向下兼容,但是torch向上兼容有风险,(pytorch对应的CUDA版本需要小于等于已经安装的CUDA版本),3080和1660Super在515+cu117下使用pytorch可用,具体版本参考文末。

首先下载驱动,建议选择.run文件:CUDA Toolkit Archive | NVIDIA Developer​​​​​​https://developer.nvidia/cuda-toolkit-archive

sudo sh cuda_xxxxxxx_linux.run #下载完成后安装,如果之前没有安装驱动全选所有组件即可
nvidia-smi #新开终端输入可以检查驱动是否安装

sudo gedit ~/.bashrc #安装完成后添加路径

#路径添加如下,将里面的CUDA版本改为之前安装的版本号
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.7/bin:$PATH
export CUDA_HOME=/usr/local/cuda-11.7

source ~/.bashrc #更新路径

nvcc -V #路径添加完成后新开终端输入,检查CUDA安装情况

安装完成后查看CUDA版本:

 


2.cuDNN安装:

接下来安装cuDNN,对应Ubuntu版本和CUDA版本,需要登陆Nvidia账号:

cuDNN Archive | NVIDIA Developerhttps://developer.nvidia/rdp/cudnn-archive

tar -xvf cudnn-linux-x86_64-8.9.0.131_cuda11-archive.tar.xz #解压缩,gz结尾的文件需要在参数加上一个z,即-zxvf
cd cudnn-linux-x86_64-8.9.0.131_cuda11-archive #转到解压缩后的文件夹

#复制文件至CUDA文件夹,并加上权限
sudo cp include/cudnn*.h /usr/local/cuda/include/  #没*的话后面会报错
sudo cp lib/lib* /usr/local/cuda/lib64/   #根据目录修改,只用复制两个文件夹内的所有文件过去就行
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

#建立软连接
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.8.9.0
sudo ln -sf libcudnn.so.8.9.0 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ldconfig  

#如果报错非符号连接,执行改名
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo mv /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8

sudo ldconfig#完成后再次输入不会报错,无返回

#二选一,查看cuDNN安装版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2


安装完成后查看cuDNN版本:


相关问题1 —— Failed to start User Manager for UID 121:

之前开机的时候在grub引导结束后偶会遇到花屏的情况,大概率是因为显卡驱动掉了没法正常驱动

解决方法:拔掉接在独显上的视频线,使用主板的视频输出接口,重新开机。

重新开机后报错Failed to start User Manager for UID 121

网上的教程第一种是因为存储空间不足,进recovery mode后使用命令行删除一些文件即可正常开机,但是我的刚装好的系统,各个分区容量很足。【解决解决】Ubuntu 18.04开机报错“Started User Manager for UID 121“无法启动_create slice user slice of gdm_JavonPeng的博客-CSDN博客https://blog.csdn/p1279030826/article/details/115322896

另一种则是容量充足,仍出现此种情况,先确保电脑有网络连接,进recovery mode后,选择network等待网络配置,再选择dpkg修复可能会影响开机的包,完成修复后选择resume normal boot重新启动。但是这样每次开机都需要走一遍流程,无法根治问题。

Ubuntu开机报错“Started User Manager for UID 121“解决办法-CSDN博客https://blog.csdn/weixin_38765304/article/details/108462032联想到之前机器偶尔就会掉显卡驱动,因此选择第二种方法正常进系统后,按照上文打驱动的流程走一遍,问题解决,证明是显卡驱动的问题。 

相关问题2——未禁用nouveau,手动安装CUDA

安装驱动过程中发现频繁报错,发现是未禁用nouveau导致,同时缺乏gcc等相关包,同时由于Ubuntu安装时相关第三方软件未完整安装,缺失很多依赖,因此手动完整安装CUDA。

1. 更新软件列表,安装相关依赖

sudo apt-get update   
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
sudo apt upgrade

2. 查看GPU型号(通用查看命令:lspci | grep -i vga)

lspci | grep -i nvidia

 3. 下载驱动同时赋权

sudo chmod 777 cuda_11.8.0_520………….run #给最高权限,补充完后面的文件名即可

4.  卸载原有驱动(可选)

sudo apt-get remove --purge nvidia*   # 或者nvidia-*

 5. 禁用nouveau(nouveau是通用的驱动程序)(必须

sudo gedit /etc/modprobe.d/blacklist.conf #或者(blacklist-nouveau.conf)

#在打开的blacklist.conf末尾添加如下,保存文本关闭
blacklist nouveau
options nouveau modeset=0

sudo update-initramfs –u #在终端输入更新,更新结束后重启电脑

lsmod | grep nouveau #重启后在终端输入如下,没有任何输出表示屏蔽成功

6. 安装lightdm

lightdm是显示管理器,主要管理登录界面,ubuntu20.04、21.04、22.04需要自行安装,然后上下键选择lightdm即可。

(这一步也可以不安装lightdm,使用ubuntu20.04、21.04、22.04自带的gdm3显示管理器,直观的区别就是gdm3的登陆窗口在显示器正中间,而lightdm登录窗口在偏左边,正常使用没有区别。其他的区别这里不做探究;原文作者亲测需要注意的是,如果你有控制多屏显示的需要,gdm3可能更适合你,亲测使用lightdm设置多屏,可能会出现卡屏,死机,无法动弹情况,仅供参考)

sudo apt-get install lightdm

7. 停止当前的显示服务器

为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。在终端输入以下linux命令后,显示服务器将停止。(必须

sudo telinit 3

#退出文本界面到图形界面,输入sudo telinit 5或者Ctrl + Alt + F1/F7/F8 (联想部分电脑:Ctrl + Alt + Fn + F1)

8. 在文本界面中,禁用X-window服务,在终端输入(必须

sudo /etc/init.d/gdm3 stop #如果是默认的gdm3显示管理器,命令为

sudo /etc/init.d/lightdm stop #二选一
sudo service lightdm stop

9. cd命令进入到你存放驱动的目录,输入命令:

sudo ./NVIDIA-Linux-x86_64-430.26.run –no-opengl-files   #安装

第二句命令的参数介绍:
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数原作者亲测台式机不加没问题,笔记本不加有可能出现循环登录,也就是loop login。 看个人需求。

显卡驱动安装过程中一些选项(有一些问题记不清楚了,只给出需要选择的选项:):
 
        1.The distribution-provided pre-install script failed! Are you sure you want to continue?
 
        选择continue installation
 
        2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  
 
        选择 No 继续。
 
        3.问题没记住,选项是:install without signing
 
        4.问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
        5.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  
        选择 Yes  继续

10. 重启X服务

sudo  service  lightdm  start 安装结束后输入重启x-window服务,即可自动进入登陆界面,不行的话,输入sudo reboot重启,再看看。

(重启后不行,尝试在bios中去掉安全启动设置,改成 secure boot:disable)

11. 终端输入nvidia-smi 检查是否装好

12. 注意

1.如果是替换显卡驱动的话(也就是说你这台机子不是第一次在ubuntu下安装英伟达显卡驱动,这一次是升级或者替换),先进入TTY文本模式,然后在sudo /etc/init.d/lightdm stop
2.安装完驱动,记得sudo service lightdm start

这部分教程来自下方的链接,此处仅作存档整理,原文还有多CUDA共存的安装介绍可以参考。Ubuntu18.04下安装pytorch步骤&多cuda版本共存(啰嗦版)_ubuntu18.04安装pytorch_九三久久的博客-CSDN博客https://blog.csdn/weixin_54489145/article/details/129940366?spm=1001.2014.3001.5506

配置软件:

新建文本文档配置:

cd /home/yke/Templates/
touch Untitled.txt #以后就可以右键新建文本文档

1. 常用软件下载:

  1. QQ QQ Linux版-新不止步·乐不设限https://im.qq/linuxqq/index.shtml
  2. Edge-Dev https://www.microsoft/en-us/edge/download/https://www.microsoft/en-us/edge/download/
  3. Zotero Zotero | Downloadshttps://www.zotero/download/
  4. Todesk ToDesk远程桌面软件-免费安全流畅的远程连接电脑手机https://www.todesk/download.html
  5. VSCodeVisual Studio Code - Code Editing. RedefinedVisual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.https://code.visualstudio/

下载 .deb 或者 .run 文件,安装如下: 

sudo dpkg -i xxx.deb #安装deb文件
sudo sh xxx.run #安装run文件
sudo dpkg -r xxx #卸载xxx应用

#zotero安装方法如下
wget -qO- https://raw.githubusercontent/retorquere/zotero-deb/master/install.sh | sudo bash
sudo apt update
sudo apt install zotero
#或者也可按照官网的方式进行安装:
chmod 666 set_launcher_icon #赋权
./set_Launcher_icon #运行脚本替换图标
ln  -s ~/ProgramFiles/Zotero/Zotero_linux-x86_64/zotero.desktop ~/.local/share/applications/zotero.desktop #添加软链接
#参考https://blog.csdn/qq_39779233/article/details/128159835?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170186996416800180636299%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170186996416800180636299&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-128159835-null-null.142^v96^pc_search_result_base7&utm_term=zotero%20Ubuntu%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

2. 输入法配置:

使用ibus作为输入法框架进行配置,除了打字的词汇预测不太好之外,没遇到什么别的问题。

参考资料:

ubuntu18.04下安装中文输入法_ubuntu1804中文输入法安装-CSDN博客文章浏览阅读2.4w次,点赞37次,收藏155次。阅读目录阐述第一步:首先需要给Ubuntu18.04安装Chinese语言包支持gnome界面unity界面第二步:ibus输入法安装 (先 Ctrl+Alt+T 调出 Terminal 窗口)第三步 在键盘输入来源(Input sources)中添加中文拼音输入法阐述Ubuntu 18.04系统想安装中文输入法(利用ibus输入法配置)只要三步。注意:你的Ubuntu需要可以上网!!!因为要下载一系列安装包第一步:首先需要给Ubuntu18.04安装Chinese语言包支持先打开Setting_ubuntu1804中文输入法安装https://wgchen.blog.csdn/article/details/122522271?spm=1001.2014.3001.5506

第一步,依次点击 Settings - Region & Language - Manage Installed Languages - Install / Remove Languages - 勾选Chinese(simplified)

在点击 Manage Installed Language 后可能需要安装完整的语言包,点击安装即可。

第二步,安装 IBus 框架

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 #安装IBus框架
im-config -s ibus #切换到IBus框架
sudo apt-get install ibus-pinyin #安装中文拼音引擎
sudo ibus-setup #调起 IBus Preference 界面

在 IBus Preference 中依次选择 Input Method - Add - Chinese - Pinyin(Intelligent Pinyin) - Add,如果没有 pinyin 的选项,重启 Ubuntu。

第三步,依次点击 Settings - Region & Language - Manage Installed Languages 上方的加号 - Chinese - Chinese(Intelligence Pinyin)

完成安装,使用 win + space 切换中英文输入法。


3. CFW配置:

看文件夹内的Readme.Before.Installation.txt配置。


4. Anaconda配置:

官网下载:https://www.anaconda/downloadhttps://www.anaconda/download

sh Anaconda3-2023.09-0-Linux-x86_64.sh 
#阅读完后记得输入yes,选择路径后开始安装。

#如果默认python非conda自带,使用以下命令
sudo gedit ~/.bashrc
export PATH="/home/xupp/anaconda3/bin:$PATH"
source ~/.bashrc

接下来是迁移之前的旧环境,base环境由于不能直接打包,需要先复制一份环境再打包。

conda env list #查看conda下的环境
conda create -n new_env --clone old_env  #克隆环境
conda install -c conda-forge conda-pack  #安装打包工具,若无法安装可以使用pip替代
conda pack -n new_env -o new_env.tar.gz  #打包新环境,如果报错Cannot pack an environment with editable packages,则使用下一条语句替代
conda pack -n new_env -o new_env.tar.gz --ignore-editable-packages # 若仍然报错,尝试使用管理员权限打开shell/terminal运行
#打包完成的环境会在conda的env文件夹下,找不到就用下一条命令查找
sudo find new_env.tar.gz / | grep new_env.tar.gz
tar -zxvf new_env.tar.gz  #找到后将压缩包复制到新系统的conda的env目录下解压
#如果缺失组件则再次编译一遍即可
conda activate new_env  #激活新环境

5. PyTorch配置: 

官网查看曾经发布的版本,注意安装的PyTorch要求的CUDA版本一定要比已经安装的CUDA版本低同时尽量避免跨大版本,优先满足项目对PyTorch版本的要求,同时尽量贴近已经安装的CUDA版本。Previous PyTorch Versions | PyTorchInstalling previous versions of PyTorchhttps://pytorch/get-started/previous-versions/如果下载速度太慢也可以用仓库里面的历史版本下载,然后安装。

如果使用官网给的链接安装的时候提示无法在仓库中找到,则有可能是python版本过低导致,可以在下面的仓库中去检查对应python版本下是否有相应的pytorch。

pytorch + torchvision  + torchaudio 的版本尽量和官网给的贴近。

https://download.pytorch/whl/torch_stable.htmlhttps://download.pytorch/whl/torch_stable.html接下来是各种验证环境的脚本:

###检查CUDA###
nvidia-smi
nvcc -V

###检查cuDNN(二选一)###
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 #cudnn check
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 #cudnn check

###检查CUDA和PyTorch安装###
conda activate env #激活安装了PyTorch的环境
python 
import torch    # 如正常则静默
torch.__version__ #查看torch版本
import torchvision
torchvision.__version__ #查看torchvision版本
torch.cuda.is_available() #正常的话返回“True”
a = torch.Tensor([1.])    # 如正常则静默
a.cuda()  # 如正常则返回"tensor([ 1.], device='cuda:0')"
from torch.backends import cudnn # 如正常则静默
cudnn.is_acceptable(a.cuda())    # 如正常则返回 "True"++


附一份OpenPCDet的环境版本号,实测可用

Ubuntu:18.04

CUDA:11.7

cuDNN:8.6.0/8.9.0

PyTorch:1.13.0 + cu117

python:3.9

6. ROS1安装

务必挂上ladder,同时使用Rules模式,使用除了校园网之外的网络进行安装

参考资料:noetic/Installation/Ubuntu - ROS Wikihttps://wiki.ros/noetic/Installation/Ubuntu
noetic/Installation/Ubuntu - ROS Wikihttps://wiki.ros/noetic/Installation/Ubuntu

参考资料中的链接和公钥可能已经过期了,建议参考官网提供的链接, 同时注意ROS的版本和Ubuntu的版本对应,安装时记得修改对应的名字。

sudo sh -c 'echo "deb http://packages.ros/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' #添加源

sudo apt install curl #如果未安装curl

curl -s https://raw.githubusercontent/ros/rosdistro/master/ros.asc | sudo apt-key add - #设置公钥

sudo apt update #更新源,如果能成功更新则说明网络不会影响安装

sudo apt install ros-melodic-desktop-full #安装ROS,Ubuntu18.04对应的是melodic,Ubuntu20.04对应的是noetic

依赖项的安装可选,便于构建自己的ROS工作区、编译依赖项等,详情参考官网教程1.6。

安装完成后使用乌龟进行验证,分别打开三个终端,分别输入:

roscore

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

在第三个终端中使用方向键控制乌龟的前进后退和左右移动,说明安装成功。

本文标签: dell Workstation