环境配置顺序
- 序言
- 1.Ubuntu 16.04 基本环境配置
- 1.1 系统盘制作
- 1.2 系统安装
- 2. 基本环境配置
- 2.1 网卡配置
- 2.2 镜像源配置
- 2.3 显卡驱动配置
- 2.4 搜狗拼音安装
- 2.5 ubuntu 与 windows 双系统时间不对
- 3. 学习环境配置
- 3.1 Anaconda
- 3.2 CUDA10.0+CUDNN7.3
- 3.2.1 CUDA10.0
- 3.2.2 CUDNN
- 3.3 PCL库安装
- 3.4 ROS安装
- 其他的一些问题
- 1. conda命令不能用sudo
- 2. pcl 在有anaconda下cmake编译问题
序言
换了一台新笔记本,想着给它配上之前常用的环境,但是这台电脑是AMD+NVIDIA的组合,和之前配置的intel+NVIDIA还有些不同,再加上硬件更新快,配置稍老版本一点的ubuntu还是会出不少问题的。如今就把问题汇总一下,方便以后查阅。
在此首先非常感谢这篇文章,为我一开始解决了不少问题
https://blog.csdn.net/xyt723916/article/details/106317594/
1.Ubuntu 16.04 基本环境配置
1.1 系统盘制作
这一部分就没什么好说的,用UltraISO制作即可,首先去官网下载ubuntu相关镜像文件,
这里给出几个镜像地址:
[官方] [中科大] [北理工] [阿里云]
这里就以北理工的为例子,选择
进行下载。
下载后利用UltraISO进行系统盘制作
UltraISO下载地址: https://cn.ultraiso.net/
下载好后打开软件选择继续试用即可。
找一个空u盘,先进行格式化,然后进行如下操作
(1)打开镜像
(2)写入硬盘参数
(3)按红色框选的顺序进行引导扇区写入,当出现扇区写入成功后,再点击写入,等待写入完成即可制作成系统盘。
1.2 系统安装
这里由于我安装的时候没有截图,可以直接参考最开始我引的那篇链接即可。
这里只说几个重点:
(1)安装之前关闭windows的快速启动
(2)硬盘分区,右键windows标志,选择磁盘管理,选择你要安装的磁盘,右键选择压缩卷,填入你想要用的磁盘大小即可。
进入BIOS 需要对照不同机型一般就是F12,F2之类的;
进入后记得讲boot order调整USB启动为第一个,这样就可以进入到系统安装中;
然后就是分区、安装即可,具体可看 https://blog.csdn.net/xyt723916/article/details/106317594/。
2. 基本环境配置
2.1 网卡配置
有时候会出现配置完后,没有WiFi模块的情况,因此需要进一步解决这个问题。
此处只针对型号为Intel WiFi 6 AX200 160MHz的无线网卡,其他型号可自行百度
首先打开终端,输入
rfkill list all
应该看到
本应该有四行,但一开始终端只显示两行,需要安装驱动,驱动下载链接:
https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-i-o/wireless-networking.html
但是要先更新内核,因为一般ubuntu安装的初始内核为4.15,而这个驱动需要5.1以上。因此首先要更新ubuntu的内核:
https://kernel.ubuntu.com/~kernel-ppa/mainline/
这里也参考之前链接,选择5.1.21,因为我试过后5.7的内核,发现会和显卡驱动冲突,导致一直会在登录界面无限重复。
首先先安装一个libssl1.1包,这个包原链接好像没了,我后续提供百度云吧
安装命令
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
之后选择内核下载中for amd64下载中的四个文件:
linux-headers-5.1.21-050121_5.1.21-050121.201907280731_all.deb
linux-headers-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb
linux-image-unsigned-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb
linux-modules-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb
放入一个文件夹下,执行命令
sudo dpkg -i *.deb
内核就安装完成,重启计算机
[bug 1] 重启后直接进入windows系统
解决方法:
进入BIOS,关闭security boot 即可
[bug 2] 重启进入ubuntu后在登录界面无线循环,发现内核5.1.21 recovery模式下可以进去,正常情况下内核4.15也可以,但是5.1.21不行
解决方法:
可以以内核5.1.21的recovery模式进去,或者以内核4.15进入系统,执行命令
sudo gedit /etc/default/grub
在
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 中加入nomodeset
如下
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
这时候再次重启即可进入系统。
进入系统后,执行:
wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi/iwlwifi-cc-46.3cfab8da.0.tgz
tar -xf iwlwifi-cc-46.3cfab8da.0.tgz
cd iwlwifi-cc-46.3cfab8da.0/
sudo cp * /lib/firmware
执行过后,再执行:
sudo gedit /etc/rc.local
添加:
echo "123" | sudo modprobe -r ideapad_laptop
重启电脑,wifi模块即可使用。
2.2 镜像源配置
可以进入系统后,我们希望首先能够更换掉其原本的下载镜像地址,因为默认的很慢,在后续安装或者update的时候浪费时间,所以先更新镜像源。
先备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
然后打开该文件
sudo gedit /etc/apt/sources.list
将文件内容替换为其他镜像源,如清华镜像源
https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
注意ubuntu的版本一定要选对。
更新完后,选择另开一个终端,执行
sudo apt-get update
来更新源。
2.3 显卡驱动配置
做完上述操作后,进行显卡驱动的配置,我的显卡是RTX2060MQ,相较于普通2060还有些特殊,所以要找驱动有些麻烦。
首先按照一些教程所述,添加nvidia镜像源:
sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update
然后通过软件更新即可搜索出驱动,但是发现这个方法不行,我的搜索不出
因此打算手动添加:
首先上英伟达驱动官网搜索相关驱动程序:
https://www.nvidia.cn/geforce/drivers/
搜索出一堆.run格式的驱动安装文件,然后你需要自己去试一下那个驱动是比较合适你显卡。
然后进行安装。
重启电脑,在登录界面,使用组合键
Ctrl+Alt+F1
进入非图形化界面,然后登录,输入你的用户名和密码。登录后,输入命令
sudo service lightdm stop
之后进入到你下载驱动程序的地方,执行
sudo bash NVIDIA-Linux-x86_64-460.39.run
进行安装。
此处注意有一个问题:
The kernel was built with gcc version with 9.1.0, but the current complie version is cc (Ubuntu5.4.0...)
这里主要是说当前核的gcc编译版本和现在的使用的编译版本不同,
这里我们选择忽略它,这里注意,一定要选择合适的内核版本,因为有时候不合适的内核版本会导致显卡驱动装不上去。
安装完成后,执行
reboot
进入设置查看
可以看到显卡版本和我电脑对应上了,注意这里一定要选择一个合适的驱动版本,否则可能那个驱动还不能很好适配你的显卡,比如我之前用430版本,它就不能够显示正确我的显卡型号。
2.4 搜狗拼音安装
这个直接去官网安装最新的即可
https://pinyin.sogou.com/linux/?r=pinyin
然后执行
sudo dpkg -i sogoupinyin_2.4.0.2942_amd64.deb
发现报错无法安装,然后执行
sudo apt-get install -f
然后再安装,发现能够成功安装。
安装完成后,进入语言设置里,注意他会有一个让你更新的选择,不要选择更新,否则会和之前安装的有冲突。
选择 remindm me later即可,然后这里选择 fcitx
重启电脑,选择configure
点击下方加号,不勾选only show current language,然后搜索sogou添加即可。
[bug 3] WiFi模块失效
注意,我们在选择语言的时候尽可能保持我们原有安装的语言即可,当我试图添加中文时,重启电脑发现wifi模块失效,删除掉中文模块后,wifi模块又恢复正常。
2.5 ubuntu 与 windows 双系统时间不对
执行
timedatectl set-local-rtc 1 --adjust-system-clock
3. 学习环境配置
3.1 Anaconda
直接从官网下载即可,然后运行
sudo bash Anaconda3-5.1.0-Linux-x86_64.sh
安装即可。
然后anaconda 再building environment的时候很慢,这时候需要对其更改镜像源
执行:
sudo gedit ~/.condarc
然后更新为新的镜像源即可,此处为清华镜像源:
https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
3.2 CUDA10.0+CUDNN7.3
3.2.1 CUDA10.0
CUDA从英伟达官网下载即可
https://developer.nvidia.com/cuda-10.0-download-archive
然后执行
sudo bash cuda_10.0.130_410.48_linux.run
注意不同cuda可能有不同安装界面,但无论如何都不要选择安装额外驱动,然后就可以安装成功。
安装完成后,执行
sudo gedit ~/.bashrc
在里面添加
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export
LD_LIBRARY_PATH=/usr/local/cuda10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/
执行nvidia-smi可查看
或者也可以进入cuda samples查看cuda是否安装正确,执行:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
可查看结果
3.2.2 CUDNN
cudnn一定要选择和cuda相对应的版本,英伟达官网上也有相关提示,仔细选择。
下载好后,进行解压
tar -xvzf cudnn-10.0-linux-x64-v7.3.0.29.tgz
然后执行
sudo cp cuda/include/cudnn.h /usr/local/cuda/include //复制头文件
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 //复制库文件
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* //给所有用户赋予读的权限
复制完成后,对库进行重新软连接
cd /usr/local/cuda/lib64/ //进入到 cuda 库文件的目录下
sudo rm -rf libcudnn.so libcudnn.so.7 //删除原先的符号链接
sudo ln -s libcudnn.so.7.3.0 libcudnn.so.7 //建立新的软连接
sudo ln -s libcudnn.so.7 libcudnn.so //建立新的软连接
至此,cuda与cudnn均安装完成。
3.3 PCL库安装
安装之前 ,先安装相关依赖库
sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-default-dev openmpi-bin openmpi-common sudo apt-get install libflann1.8 libflann-dev sudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev sudo apt-get install libqhull* libgtest-dev sudo apt-get install freeglut3-dev pkg-config sudo apt-get install libxmu-dev libxi-dev sudo apt-get install mono-complete sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
然后解压,进入pcl-master,执行
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON -DCMAKE_INSTALL_PREFIX=/usr ..
[bug4]
编译出现问题:
nvcc fatal : Unsupported gpu architecture ‘compute_20’ CMake Error at pcl_gpu_utils_generated_repacks.cu.o.cmake:209 (message): Error generating
Unsupported gpu architecture ‘compute_20’ CMake Error at pcl_gpu_utils_generated_repacks.cu.o.cmake:209 (message): Error generating
这是由于pcl版本本身对与高版本cuda不支持,由于我不需要用pcl的gpu版本,所以在编译的时候注释掉即可。
进入CMakeLists.txt,找到下图部分,将WITH_CUDA部分的TRUE改为FALSE即可
3.4 ROS安装
ros的安装就按照ros-wiki上的来就可以了
[bug5] rosdep init 会提示Website may be down的错误。
这就是github的网页链接出现了一些问题,执行
sudo gedit /etc/hosts
添加
151.101.84.133 raw.githubusercontent.com
即可解决上述问题。
其他的一些问题
1. conda命令不能用sudo
执行:
sudo gedit ~/.bashrc
添加
alias sudo='sudo env PATH=$PATH'
然后
source ~/.bashrc
即可。
2. pcl 在有anaconda下cmake编译问题
runtime library [libQt5Core.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:/home/xcy/anaconda3/libSome of these libraries may not be found correctly.
可以先把anaconda 声明的lib路径关闭
或者,执行:
conda install setuptools
pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools