联想Y7000P重装Ubuntu16.04.7系列教程(Nvidia GeForce RTX 2060/driver Version 460.67/CUDA11.2/CUDNN8.1.1)

联想Y7000P 2020H重装Ubuntu16.04.7系列教程(Nvidia GeForce RTX 2060/driver Version 460.67/CUDA11.2/CUDNN8.1.1/Python3.6.5/Pytorch1.9+cu111)

为什么会有这篇blog?因为环境崩了,本来用的是ubuntu16,手残不小心升级到了ubuntu18,整个环境崩掉了,那一刻…人没了,毕竟搞了一年多的深度学习的项目内容就这么没了,还好有随手备份的习惯,不过近期的一些研究还没来得及备份,后来想想,问题不大。笔者打算后续学习一下如何把环境打包的内容,避免以后继续出现这样的问题。

写给各位看官的话:整个blog实际上在双系统下重装ubuntu16.04.7,当然同时也安装了Nvidia驱动、Cuda、cudnn等常用组件,各位看官各取所需,本人记录下整个过程,便于后续复盘。

写给未来自己的话:如果未来某一天手残又把环境搞崩了,恭喜你又和这篇blog见面了,首先请调整下心态,重装整套项目环境也还好,一步一步来就好。另外,在对照每个板块进行相关操作时,先把该板块提供的所有链接都过一次,文中可能提供不止一种解决方案,看过所有的内容之后选择一种解决方案执行即可。

首先给出本人电脑相关配置及最终成功环境配置

CPU:i7-10750H

GPU:GeForce RTX 2060

双系统:Ubuntu16.04.7

无线网卡:AX201(要求Linux内核为5.2+)

Nvidia显卡驱动:460.67

CUDA版本:11.2

CUDNN版本:8.1.1

Python版本:3.6.5

Torch版本:gpu1.9.0+cu111

V-REP版本:V4.0.0

PyRep版本:1.1

RLBench版本:1.0.5

后三个是本人深度学习项目所用到的环境,无需要的可以略过

https://typora.io/#linux

双系统下重装ubuntu16.04

一、重装Ubuntu16.04

1.彻底删除ubuntu EFI分区及启动项

首先要在windows系统下彻底删除之前所安装的ubuntu的EFI分区及启动项

参考Blog传送门

2.安装ubuntu系统

2.1 准备好ubuntu16.04.7镜像文件

传送门

2.2 下载软件制作系统启动盘

可使用软碟通、Rufus(传送门),建议使用rufus,rufus比较简单稳定,具体使用方式用的时候搜索一下就行了。

关闭win10的快速启动功能:关闭win10的快速启动功能

进入Bios关闭security boot->DISABLE 同时确保usb boot -> Enable

如果用软碟通的话:这里注意要把写入方式改为USB-HDD,同时设置便捷启动

传送门1

传送门2

否则后面usb启动时会有问题

制作系统镜像文件的过程

传送门3

传送门4

传送门5

如果后面发现怎么都找不到usb启动引导项的话,建议换个u盘重新制作镜像试一下

一定要保证镜像可用

2.3 安装ubuntu系统

这是之前安装ubuntu系统时所做的笔记,可参考:

建议:ubuntu系统分区时,可分为/boot /swap /efi / /home五个区,/分区一定要大,/home分区大小第二,存放一些文件 /efi 根据电脑实际情况是否采用uefi启动进行配置 /boot一般500M左右 /swap比较流行的说法是设置为物理内存空间大小的2倍

/ 主分区 空间起始位置 Ext4
/home 逻辑分区 空间起始位置 Ext4
/swap 逻辑分区 空间起始位置
/efi 逻辑分区 空间起始位置
/boot 逻辑分区 空间起始位置
/backup 自定义,做人留后路,/backup 自定义一个分区大小,用来存放一些数据文件,万一ubuntu系统崩溃,最起码数据还可以保留下来,经常更新该分区下的文件,做好备份

不同分区的作用和介绍:

传送门1

传送门2

本次安装盘符设置:

/boot 逻辑分区 空间起始位置

/efi 逻辑分区 空间起始位置

/swap 逻辑分区 空间起始位置

/ 主分区 空间起始位置 Ext4

安装过程中:可以先设置语言为简体中文,键盘布局时选择英文(美国)

安装完之后,联想Y7000P 2020H款电脑无法连接wifi并且触摸板失效,不慌,问题不大,后面基础环境搭好之后再慢慢解决,

暂且先使用usbWifi连接网络使用

终端查看系统发行版本号 lsb_release -a

查看系统内核 uname -r

更换源:本次先使用的是中科大的源

联想拯救者Y7000P安装Windows10+Ubuntu16.04双系统可能会出现的问题

传送门1

传送门2

传送门3

二、Ubuntu16.04.7安装基本软件

1.安装新立得软件管理包

sudo apt-get install synaptic

2.安装搜狗输入法

搜狗输入法安装传送门
安装好之后无法输入中文的解决方案:安装依赖包

出现问题及解决方案:

Ubuntu安装搜狗输入法后出现中文乱码 执行完上述操作后reboot

3.Ubuntu将中文文件夹名称转换为英文

由于安装系统最初选择的是简体中文,这里需要把文件夹名称转换为英文,便于后续终端操作,具体方式见传送门

4.Ubuntu安装google chrome浏览器

安装传送门

5.下载Panda

下载panda并登录

三、Ubuntu16.04.7安装Nvidia显卡驱动

首先查看显卡及相关的驱动信息:ubuntu查看显卡、驱动信息

1.安装Nvidia显卡驱动

本人电脑联想Y7000P 2020H / GeForce RTX2060 ,网卡为AX201,该网卡要求linux内核版本为5.2+,因此要想在ubuntu下使用电脑自带wifi网卡的话就必须升级linux内核版本.

**Step1:**首先根据该blog描述,首次安装的是5.2.16版本:Blog传送门

内核下载传送门:下载内核所需要的deb文件如果在ubuntu中下载很慢的话,可以转到windows进行下载,可以复制下载链接到迅雷下载,可加快下载速度,或者可以在windows下科学上网,然后在谷歌网页浏览器进行下载。(建议迅雷下载,速度超快)

**Step2:**Nvidia显卡驱动选择:传送门

**Step3:**这里记得选择电脑是独显直连模式,具体选择Discrete:原因见该blog

**Step4:**本次按照.run文件进行安装,先禁用这两个-no-x -nouveau(简单描述,并不准确,具体见blog)尝试安装,opengl这个不要禁

如果出现pre-install scipt failed 错误,不要理会,具体原因见:pre-install script failed

如果出现cc version不兼容的信息,注意看提示gcc哪个版本,然后根据该blog安装对应的gcc版本(传送门)这里不建议先更新gcc再安装显卡驱动,因为选择的驱动版本不一样可能导致编译其的gcc版本也不一样,可以根据提示安装对应的即可。(注:这里只尝试安装了了对应的大版本,并没有精确的根据提示进行安装,后续可能依然会报错,举个例子,报错提示gcc-9.4.1,但安装gcc时只指定了gcc-9)

如果安装完gcc版本之后依然报错,则忽略,继续进行后续安装

**Step5:**安装完之后右上角查看电脑详细信息发现图形已为nvidia显卡类型

**Step6:**初次运行nvidia-smi正常,初次运行nvidia-settings可能会报错,reboot一下即可

安装之后判断是否安装成功的检测方法之一:nvidia-smi --loop=1 ,看使用率是否始终为0,参考传送门

但是目前还有问题就是屏幕亮度无法调节,目前的办法是进入nvidia-settings传送门中进行调节,缺点就是每次进入ubuntu系统都需要进nvidia-setting一下

教训

为了避免后续出现比较dt的问题,这里先关闭内核自动更新

https://www.cnblogs.com/111testing/p/13668275.html

后续用到再手动打开即可。

走到这里,电脑触控板失效截止目前尚未解决

之前的解决方案本次无效:

关于联想电脑在ubuntu下触控板不能使用的解决方案:https://jingyan.baidu.com/article/e2284b2b966820e2e7118d7f.html

2.安装CUDA

**Step1:**cuda安装,首先要知道安装哪个版本,一般的通过nvidia-smi命令的输出信息的右上角即可得到对应nvidia驱动所对应的cuda版本号,同时也可查看传送门 这个网址, 然后到这个网址传送门

**Step2:**接着按照这个安装教程来就好:安装教程

中途记得不选择driver,因为之前已经安装过了,安装结束后会有warning信息不用管。然后设置bashrc文件并source一下,终端输入nvcc -V判断是否安装成功即可

3.安装cudnn

**Step1:**安装cudnn参考该blog,传送门

可能出现的问题及解决方案

编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory 传送门

至此 nvidia驱动+cuda+cudnn均安装成功

下一步先安装ros

四、Ubuntu16.04下安装个人项目/其他日常所用软件

1.安装ROS Kinect

安装流程传送门

在安装过程中可能会遇到两种问题,第一种是在sudo rosdep init时出现问题:

​ 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.

遇到这种问题参考blog的步骤:

传送门1

传送门2
这里要注意:在选择ip地址时,选择日本和美国的ip地址不会影响后续的rosdep update(这是之前做的笔记,本次安装时貌似并没有用到)

as

还有可能遇到的第二种问题就是rosdep update经常time out。解决的方案是按照这篇blog中的操作,修改某个文件中的time out时长,默认是15.0

参考blog

rosdep update多尝试几次,本人尝试了将近两个小时了,,,最后终于成了。对了,当在第五个Hit的时候可能会花一定时间,如果你发现你的终端输出卡在了第五个Hit输出时,先不要中断,还好,本人收住了不争气的手,也就是这一次终于成功了。

如果实在浪费了很久很久,只能使用终极办法,参考blog,也可参考其他类似的方法,原理大致就是把yaml文件所下载的文件提前下载到本地然后修改相关的配置文件地址路径

2.安装python3.6.5

由于之前的项目环境用到的是py3.6.5,为了避免后续繁琐的调整,后续所安装的与项目相关的软件包均按照之前的版本安装即可,尽可能快的重现之前的项目环境。

**Step1:**把之前下载好的python3.6.5的安装包解压到/usr/lib,(这个路径只是本人习惯,看官请随意)
sudo tar zxvf Python-3.6.5.tgz

**Step2:**先按照这个blog安装相关的依赖,这一步只安装对应的依赖,不要着急做其余步骤。传送门

**Step3:**然后参考这些blog,解决no module zlib的问题: 传送门1 传送门2 传送门3

其实就是在编译python3.6.5时,./configure后要加这么一句,变成: ./configure --with-zlib 即可

**Step4:**装完依赖之后,继续根据上述blog进行make&make install

之后会在/usr/lib/Python-3.6.5文件夹下生成一个叫python的可执行文件,将其更名为python3.6。(本人习惯)

**Step5:**然后看个人有道云笔记中关于python多版本切换的问题,配置好之后确保可以随意切换python版本

(顺便查看本人有道云笔记中关于重装系统的部分)

**Step6:**切换到python3.6.5版本下,并更新pip :sudo pip install --upgrade pip

3.安装torch

目前安装的是torch1.9+cu111,测试之后可以正常运行,目前没有什么问题。

目前torch官网上没有cuda11.2的官方适配版本,最高只有11.1,本着向下兼容的原则,本人尝试了下安装gpu@torch1.9+cu111

参考blog1

参考blog2

4.安装VREP&PyRep&RlBench

上述测试成功后,安装项目所必须的环境,这里为了避免后续出现问题或进行大幅度调整,直接将之前的vrep、pyrep以及rlbench直接copy过来进行环境变量的配置即可正常使用。

Step1: 安装vrep 看本人blog

**Step2:**安装pyrep 传送门

**Step3:**安装rlbench

5.安装Pycharm

安装教程

将软件安装包放到/opt文件夹下面(本人习惯)

安装安装教程2

6.安装Clion

安装教程

将软件安装包放到/opt文件夹下面(本人习惯)

安装安装教程

7.安装Vscode并配置python环境

安装教程

除了安装上述blog推荐安装的插件,还可以安装chinese汉化插件。另外关于lanuch.json/tasks.json文件的位置:分别在“运行->添加配置”"终端->添加任务"中。除此之外,python的路径一般选择/usr/bin/python,会根据系统当前的python版本进行选择。

//launch.json
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python3",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "python": "/usr/bin/python", //python3的安装路径
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": [
                "RedirectOutput"
            ]
        }, 
        {
            "name": "Python: Terminal (integrated)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "python": "/usr/bin/python",
            "program": "${file}",
            "cwd": "",
            "console": "integratedTerminal",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": []
        },
        {
            "name": "Python: Terminal (external)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "python": "/usr/bin/python",
            "program": "${file}",
            "cwd": "",
            "console": "externalTerminal",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": []
        },
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "python": "/usr/bin/python",
            "program": "${workspaceFolder}/manage.py",
            "cwd": "${workspaceFolder}",
            "args": [
                "runserver",
                "--noreload",
                "--nothreading"
            ],
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": [
                "RedirectOutput",
                "Django"
            ]
        },


    ]
}
{
    //tasks.json
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "python3",
            "type": "shell",
            "command": "/usr/bin/python",
            "args": ["${file}"]
        }
    ]
}

//settings.json
{
    "git.ignoreLegacyWarning": true,
    "workbench.iconTheme": "vscode-icons", //启用vscode图标
    "python.pythonPath": "/usr/bin/python", // python路径
    "editor.lineHeight": 26, // 编辑器中的行高
    "editor.fontSize": 18, // 编辑器中的字体
    "editor.wordWrap": "on",
    "editor.formatOnSave": true, //编辑器自动保存
    //"python.linting.flake8Enabled": true, //启用flake8,首先需要pip3 install falke8
    //"python.formatting.provider": "yapf", ///启用yapf,首先需要pip3 install yapf
    "editor.renderIndentGuides": false,
    "path-intellisense.autoSlashAfterDirectory": true,
    "path-intellisense.extensionOnImport": true,
    "workbench.colorTheme": "Monokai", // 配色方案
    "python.linting.pylintArgs": [
        "--load-plugins",
        "pylint_django",
        "--disable-msg=C0111"
    ], // 忽略的警告信息
    // 下面是topper的插入header配置
    "topper.customTemplateParameters": [
        {
            "personalProfile": {
                "@author": "name",
                "@website": "",
                "@copyright": "None \n None",
                "@license": "None",
                "@email": ""
            }
        },
        {
            "officeProfile": {
                "@author": "",
                "@department": "",
                "@email": ""
            }
        }
    ],
    "topper.headerTemplates": [
        {
            "defaultCStyled": {
                "headerBegin": "/**",
                "headerPrefix": "*",
                "headerEnd": "*/",
                "author": "asd",
                "template": [
                    "${headerBegin}",
                    "${headerPrefix} ${fileName}",
                    // "${headerPrefix} @author: ${author}",
                    "${headerPrefix} @author: eden.yj",
                    "${headerPrefix} @description: add a description",
                    "${headerPrefix} @version: V1.0.0",
                    "${headerPrefix} @created: ${createdDate}",
                    "${headerPrefix} @copyright: ${copyright}",
                    "${headerPrefix} @last-modified: ${lastModifiedDate}",
                    "${headerEnd}"
                ]
            }
        },
        {
            "python": {
                "headerBegin": "# -*- coding: utf-8 -*-",
                "headerPrefix": "#",
                "headerEnd": "#",
                "template": [
                    "${headerBegin}",
                    "${headerPrefix} ${fileName}",
                    "${headerPrefix} @author: eden.yj",
                    "${headerPrefix} @description: add a description",
                    "${headerPrefix} @version: V1.0.0",
                    "${headerPrefix} @created: ${createdDate}",
                    "${headerPrefix} @last-modified: ${lastModifiedDate}",
                    "${headerEnd}"
                ]
            }
        }
    ],
    "editor.fontFamily": "monospace",
    "terminal.integrated.fontFamily": "monospace",
    "editor.fontWeight": "500",
}

之前遇到的问题

​ 解决vscode找不到路径文件的问题:
​ 设置vscode的工作目录是在当前项目文件夹下 传送门
​ 但是有时候一个项目文件夹下面有很多子文件夹,子文件夹下又有很多子文件夹和子文件,此时如果调用子文件的话还是
​ 需要写很长一串文件路径,因此最好的办法是直接把当前所运行python文件所在的文件夹当做工作目录,需要加两行代码,

传送门

8.安装WPS

**Step1:**卸载自带的liberoffice:传送门

**Step2:**下载并安装。下载地址 安装教程及问题解决1 安装教程及问题解决2

9.安装录屏工具及截图软件

安装录屏工具kazam sudo apt-get install kazam

安装并配置shutter截图软件 安装 配置

插曲:走到这里,基本目前常用的环境都搭起来了,然而本人手残想试一下zsh、oh-my-zsh,的确之前在mac上用着很舒服,于是在ubuntu下按照教程安装了一波zsh,再然后重启之后鼠标键盘都不能用了,无法登录,慌了,花了两天时间倒腾的新环境又要凉了吗?还好广大网友各显神通,具体blog没有记录,当时是在手机找的。如果出现这样的问题不要慌,大概的思路就是,重启的时候按住esc进入grub,输入normal然后回车,此时再进入recovery mode,先选择network进行enable,然而无卵用,这种方式不能开启网络的话,就进入root使用ncmli手动连接wifi,必须先确保网络连接成功才能进行后续步骤。可以通过ping进行测试。确保网络正常之后,安装sudo apt-get install xsever-xorg-input-all,一切不会那么顺利,会发现终端输出说无法安装所有的包,因为有些包已经被破坏了,zsh干的好事,根据提示信息依次安装缺失的包即可,后续发现,其实最重要的是安装一个****core的包,这个包安装好之后再安装上述包基本就没有什么问题了。然后reboot就发现可以了。(复盘时查看资料,有些网友说,ubuntu下切换zsh不是简单的install就行了,还需要下载源码进行什么键盘布局的映射,总之经过这么一下打消了我安装zsh的念头,最起码目前不会了,先保证项目环境稳定,做完项目再说吧。)

先更新到这里,后续安装其他组件时再接着更新,先把资料hold住一份再说。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值