一、win10下ubuntu安装
1、准备一个刻录好镜像的u盘,设置为uefi引导
2、在win10压缩磁盘,分出一块空闲空间。非常建议双硬盘分别安装系统
3、修改主板boot优先级,从u盘启动,之后选择 Try Ubuntu without install 进入Ubuntu PE系统
4、 点击安装Ubuntu注意断开网络,选择"最小安装";分配空间前,选择"其他选项"
5、 按照如下分配空间
分区 | 类型 | 位置 | 大小 |
---|---|---|---|
EFI | 主分区 | 起始 | 500MB |
swap | 逻辑分区 | 起始 | 根据内存 |
/ | 主分区 | 起始 | 建议128G |
/home | 逻辑分区 | 末端 | 多大都行 |
这样做可以在中间空出一块未分配的空间,便于以后调整
6 、 启动器选在 EFI对应的盘符,之后开机时候按F11(微星主板)就可以选择从哪个系统启动
7、 输入用户名密码、选好时区,完成安装。
8、 第一次启动进入ubuntu前,如果用的比较新的N卡(大约10系起),在选择系统时候,按e进入编辑,在quiet splash后添加nomodeset,以避免紫屏
二、N卡驱动安装
1、 第一次进入系统后,先解决nouveau的冲突问题
在终端中输入
sudo gedit /etc/modprobe.d/blacklist.conf
然后在最后插入
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
重启系统,验证是否禁用
lsmod | grep nouveau
一般能直接进系统就说明没问题了
2、 换源
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
sudo gedit /etc/apt/sources.list
推荐换成清华源,之前换过一次阿里源结果在版本上出了很大问题
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
重启 sudo reboot
更新
sudo apt-get update
sudo apt-get upgrade
3、开始安装N卡驱动
首先在知道自己显卡型号后,到nvidia官网查找自己显卡对应的linux 64位驱动的run文件,事先下好放在 /home
下, 然后开始安装一些依赖项
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential libc6:i386
完成后重启
重启成功后打开终端,输入如下命令:sudo telinit 3
。然后按快捷键:CTRL+ALT+F1
进入字符界面,输入用户名和密码,然后登录系统,进入我们保存下载 NVIDIA 驱动的目录,按前面说的是/home
,之所以放这,是应为有可能在命令行下无法显示或者输入中文路径。如果以前安装过驱动,先执行 sudo apt-get remove nvidia-*
,再开始安装
给驱动run文件赋予执行权限,"NVIDIA-Linux-x86_64-396.18"
具体的版本号应改为实际对应的:
sudo chmod a+x NVIDIA-Linux-x86_64-455.18.run
安装:
sudo ./NVIDIA-Linux-x86_64-455.18.run -no-opengl-files
-no-x-check
:安装驱动时关闭X服务
-no-nouveau-check
:安装驱动时禁用nouveau
-no-opengl-files
:只安装驱动文件,不安装OpenGL文件
这里只添加 -no-opengl-files
即可
安装过程中的几个问题,按照下面的回答(copy别人的):
- The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
- 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 继续。
- 问题没记住,选项是:install without signing
- 问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
- 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 继续
安装完之后 挂在Nvidia驱动:
modprobe nvidia
检查驱动是否安装成功:
nvidia-smi
得到显卡状态信息表就表示安装成功了,记住右上角的CUDA版本号,这是驱动支持的最高CUDA版本,之后安装的CUDA不能高于这边显示的版本。
重启,回到正常图形化界面。
笔者的系统是Ubuntu18.04,显卡是RTX2080,在图形化界面拖动窗口或者播放视频时会出现撕裂tearing,查找了网上诸多方法,目前也没有解决。只能勉强用着了。反正也不拿来娱乐,最多就是翻阅代码的时候比较难受。
三、安装CUDA
首先找到驱动对应cuda的版本:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/
下载所需CUDA的Linux-64版.run文件
安装:
sudo sh cuda_10.1.243_418.87.00_linux.run
在选项中去掉Driver的安装,之后一路确定
出现以下信息后,说明安装成功
添加环境变量:
打开文件:
sudo gedit .bashrc
在文件的最后位置复制一下内容, cuda-10.1
改成对应安装的版本
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
输入 source ~/.bashrc
,使配置生效。
添加环境变量, 打开文件:
sudo gedit .bashrc
在文件的最后位置复制一下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
输入 source ~/.bashrc
,使配置生效。
测试CUDA安装成功的Samples例子:
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
最后Result= PASS 为安装成功
输入命令:
nvcc -V
可以查看CUDA版本信息
CUDA 安装的要点
- 不得高于驱动支持的版本,具体的查看方面前面提到了
- 考虑好Tensorflow的版本,过高的CUDA可能没有对应的tf版本支持
- CUDA一般内置了显卡驱动,安装时候务必选不进行安装
四、Cudnn安装
在 https://developer.nvidia.com/rdp/cudnn-archive 里查找同时满足CUDA和Tensorflow版本的Cudnn
解压:
tar –zxvf cudnn-10.1-linux-x64-v7.6.5.32.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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
检测是否安装成功:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
此处应该能看到cudnn的版本
五、Tensorflow安装
安装,Anaconda 并创建虚拟环境
conda create -n tf2 python=3.8
创建一个名字是 tf2
, python版本是3.8的虚拟环境
激活 tf2
环境, 在 tf2
环境下输入:
pip install --upgrade tensorflow
或者pip安装从官网下载的tensorflow
测试:
import tensorflow as tf
tf.test.is_gpu_available()
六、ROS-Melodic 安装与配置
设置软件源:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
设置密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
安装:
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
之后执行
sudo rosdep init
rosdep update
这时候可能会出现不少问题:
- 执行
sudo rosdep init
,反馈没有该指令。解决方法,按照提示安装缺失的包,这里缺的应该是提示python-rosdep2
,输入下面的指令安装:
安装完成之后,会发现ros-melodic-desktop-full安装的包部分丢失,这时候重新执行:sudo apt install python-rosdep2
此时如果sudo apt-get install ros-melodic-desktop-full
sudo rosdep init
可以执行则问题解决。如果仍提示没有该指令,再输入:
一般就能解决问题sudo apt install rospack-tools
- 如果出现:
多半网络有问题,建议换个网络或者梯子试试。ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.
或者执行:
在末尾添加下面这一行,保存并退出:sudo gedit /etc/hosts
151.101.84.133 raw.githubusercontent.com
安装rosinstall
sudo apt-get install python-rosinstall
加载环境设置文件
source /opt/ros/melodic/setup.bash
创建并初始化工作目录
ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
cd ~/catkin_ws/
catkin_make
设置环境变量:
sudo apt install net-tools
gedit ~/.bashrc
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.89.135
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
完成以上步奏之后,用小海龟试一试是否安装正常:
打开三个终端:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key