针对《Linux系统CUDA环境配置》一文的补充与学习记录

一、针对《Linux(Ubuntu)下适配Open3D_ML库的CUDA环境配置》一文的补充说明

***1 Linux(Ubuntu)下适配Open3D_ML库的CUDA环境配置-CSDN博客一文虽然完成了Linux内核-NVIDIA显卡驱动-CUDA-cudnn的版本匹配并成功运行,但是仅仅在第一次切换内核的时候可以实现运行要求。

问题类型:不同版本内核切换后(即切回原始版本再切入目的版本)出现,原始版本内核可以随意切回,但是目的版本内核却卡在图形界面验证前黑屏。

***2 参考资料[7][8]所述的apt-get方法虽然简单,仅需联网直接下载目的版本的image、header文件,但是却出现较多严重问题。

问题类型:(1)目的版本Linux内核出现系统硬件驱动掉包的情况,例如无法连接蓝牙/WIFI等;(2)可以随意切换目的版本Linux内核,但是原始版本则卡在用户验证界面循环。

技术总结

1、如果能直接利用Linux自带的Software&Update进行更新达到目的,那么可以减少很多麻烦(例如,自主查阅手册进行版本对应、源码人工编译等),因为Software&Update可以实现自动查询匹配版本;

2、尽可能关闭Linux的自动更新,因为内核自动更新后有些时候会出现驱动程序不兼容等导致的系统无法进入图形界面问题[6];

3、软件及系统并不是版本越新越好,因为其可能还存在较多使用Bug,还未经过使用群大量的检验。软件及系统在符合需求的情况下应尽可能选择稳定的版本。

这里提供一种亲测系统运行正常的方法

(一)在Ubuntu-Official CD Mirrors for Ubuntu镜像官网下载Ubuntu低版本系统。下载地址详见文末;

(二)在Software&Update(软件和更新)中进行NVIDIA显卡驱动下载安装并更换,其显示的驱动均是适配当前内核版本。具体细节详见参考资料[9];

(三)充分利用自带的Ubuntu Software下载软件;充分借助Ubuntu-wiki查阅使用技巧。

二、新版本Linux_Ubuntu系统重装

(一)旧Linux_Ubuntu系统装载固态硬盘格式化

        打开DiskGenius软件 -> 右键对应移动固态硬盘 -> 删除所有分区。

(二)启动U盘制作、固态硬盘分区及系统下载安装

Windows/Linux双系统安装(双系统独立分盘)

三、Ubuntu系统的学习杂记

(一)Linux系统下的目录树结构

Linux系统下的目录树结构_网络结构的目录树-CSDN博客

(二)Memtest86/Memtest86+

        MemTest86和Memtest86+是内存测试软件程序,旨在通过将测试模式写入大多数内存地址、读回数据并比较错误来对×86架构计算机的随机存取内存(RAM)进行错误测试和承载力测试。每处都尝试验证RAM是否接受并正确保留写入其中的任意数据模式、不同内存位交互时不存在错误以及内存地址之间不存在冲突[1]。

        Memtest86+内存测试程序内置于Ubuntu 22.04版本中,其包括文件分别为memtest86+.bin、memtest86+.elf和memtest86+_multiboot.bin,所属三个文件位于/boot文件夹下。

(三)Linux系统中添加环境变量

        在Linux系统中添加环境变量的方法如下[4][5]:(通常解决成功安装但找不到命令的问题)

        1、编辑系统配置文件。打开终端,使用命令‘sudo gedit /etc/environment‘打开系统变量的配置文件,在其中添加‘export PATH=$PATH:环境变量 ‘,然后保存并退出,之后通过命令‘source /etc/environment‘使更改生效(修改单次有效);

        2、编辑用户目录下的‘.bash_profile‘文件。在用户目录下,通常为‘/home/用户名‘,打开‘.bash_profile‘文件,添加或修改所需的变量,添加的格式为‘export PATH=$PATH:环境变量 ‘,修改后,通过命令‘source .bash_profile‘使更改生效(修改单次有效);

        4、编辑‘/etc/profile‘文件。在‘/etc/profile‘文件中添加或修改所需的变量,添加的格式为‘export PATH=$PATH:环境变量‘,修改后,通过命令‘source /etc/profile‘使更改生效(修改单次有效)。

环境变量表示形式:

PATH=$PATH:环境变量

PATH=“环境变量”

(四)Linux无法定位安装包

        使用“sudo apt install 安装包“命令报错无法定位时,通常使用命令“sudo apt update”更新软件源且确保系统可以访问到最新的软件包信息即可解决[5]。

(五)不同版本Linux内核安装与切换

        不同版本Linux内核安装后,可以通过Advanced Option for Ubuntu(Ubuntu高级选项)选择内核进入。由于不同版本Linux内核的切换需要注重内核锁定,但目前初入Linux未能有效解决。

(六)Linux无法显示shared library文件

        问题描述:双击启动文件,弹出提示信息“没有安装处理“shared library”文件的程序“;

        解决办法:在其所在文件夹下进入终端,直接使用命令 ./文件名打开即可。

参考资料:

[1] https://en.wikipedia.org/wiki/Memtest86

[2] https://www.cnblogs.com/ljdblog/p/7805179.html

[3] Linux安装CMake

[4] https://www.cnblogs.com/liyuanhong/articles/17666075.html

[5] linux无法定位安装包怎么解决 - 问答 - 亿速云

[6] https://www.cnblogs.com/carle-09/p/11363020.html

[7] linux内核替换之ubuntu(apt-get方式)_sudo apt-get install linux-image-`uname -r | cut --CSDN博客

[8] https://www.cnblogs.com/CQzhangyu/p/17336068.html

[9] 【亲测有效】Linux系统安装NVIDIA显卡驱动_linux安装nvidia显卡驱动-CSDN博客

Ubuntu-releases官网下载(These releases of Ubuntu are available)

Ubuntu Releases

Ubuntu-Official CD Mirrors for Ubuntu官网镜像下载

Mirrors : Ubuntu

Ubuntu-wiki

Home - Ubuntu Wiki

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.下载安装ESP32开发环境ESP-IDE

ESP32简介 ESP32介绍 说到ESP32,首先ESP32不是一个芯片,ESP32是一个系列芯片, 是乐鑫自主研发的一系列芯片微控制器。它主要的功能就是支持WiFi和蓝牙, ESP32指的是ESP32裸芯片。但是,“ESP32”一词通常指ESP32系列芯…

Python保留格式复制多个Excel工作表到汇总表并生成目录(附源码下载)

要实现这个功能,你可以使用openpyxl库来操作Excel文件。以下是一个简单的示例: 1. 首先,安装openpyxl库,如果你还没有安装的话。在命令行中输入以下命令进行安装: bash pip install openpyxl2. 然后,使用…

Unity之PUN实现多人联机射击游戏的优化

目录 🎮一、 跳跃,加速跑 🎮二、玩家自定义输入昵称 🍅2.1 给昵称赋值 🍅2.2 实现 🎮三、玩家昵称同步到房间列表 🍅3.1 获取全部玩家 🍅3.2 自定义Player中的字段 &#…

Altair® RapidMiner®数据分析与人工智能平台

无论您的组织处于数据旅程的哪个阶段,Altair RapidMiner 都能帮助您克服前进道路上的挑战性障碍。我们为成熟的数据分析团队提供现代化之路,也为刚刚起步的团队提供自动化之路。我们不需要您的组织从根本上改变人员、流程、计算环境或现有数据状况&#…

圈内大佬呕心之作,一年后斩获腾讯T3,这份Java学习笔记有多厉害

说这句话的人其实有一些误解,误解就在于,安逸的生活并不等于不需要奋斗,这要看你的家底。 某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本&#…

SQL中的distinct的使用方法

1. distinct含义与使用方法 distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。 注意事项 distinct 【查询字段】,必须放…

压缩json字符串

GZIPOutputStream 需要关闭,而 ByteArrayOutputStream 不需要关闭。具体原因如下: GZIPOutputStream:GZIPOutputStream是一种过滤流,它提供了将数据压缩为GZIP格式的功能。当使用此类的实例写入数据时,它会对数据进行压…

L1-039 古风排版(C++)

中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字符串&a…

阿里云数据湖存储加速套件JindoData

计算存储分离已经成为云计算的一种发展趋势。在计算存储分离之前&#xff0c;普遍采用的是传统的计算存储相互融合的架构&#xff0c;但是这种架构存在一定的问题&#xff0c;比如在集群扩容的时候会面临计算能力和存储能力相互不匹配的问题。用户在某些情况下只需要扩容计算能…

[MYSQL数据库]- 索引

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、认识索…

opencalib的标定代码学习

一、源码 opencailb的源代码 代码地址:https://github.com/PJLab-ADG/SensorsCalibration/blob/master/README.md /** Copyright (C) 2021 by Autonomous Driving Group, Shanghai AI Laboratory* Limited. All rights reserved.* Yan Guohang <yanguohang@pjlab.org.cn…

力扣--课程表--bfs+dfs

整体思路&#xff1a; 这是一道拓扑序列的题目&#xff0c;我们将边的方向定义成从先修课指向后修课的方向&#xff0c;借一下官方的题解图片&#xff0c;我们需要判断的是形成的这个图结构是否存在环&#xff0c;如果存在环&#xff0c;那么代表不能完成所有课程的学习。 bfs思…

强推游戏爱好者!雾锁王国联机服务器部署教程

继《幻兽帕鲁》游戏爆火之后&#xff0c;与它同类型的《雾锁王国》也是强力刷屏&#xff0c;不分伯仲&#xff0c;在 Steam 上的评分一直稳定在“特别好评”&#xff0c;让小伙伴们很“上头”。就在两者游戏玩家反响爆火的同时&#xff0c;官方服务器人数爆满&#xff0c;卡顿频…

C# event的使用

在C#中&#xff0c;事件&#xff08;Event&#xff09;是一种特殊的成员&#xff0c;它允许类或对象以类型安全的方式向外界发出通知&#xff0c;表明某个特定的行为或状态变化已经发生。 订阅该事件的其他类可以定义处理方法来响应这些通知。 事件主要基于委托机制实现&…

JavaScript进阶2之执行上下文、作用域链、函数创建、函数激活、checkScope的执行过程、闭包、this

JavaScript进阶 执行上下文执行上下文中的属性变量对象全局上下文的变量对象函数上下文执行过程进入执行上下文代码执行思考题 作用域链函数创建函数激活checkScope的执行过程总结 闭包分析闭包 this 执行上下文 执行上下文中的属性 每一个执行上下文都有三个核心属性 变量对…

【趣味项目】一键生成LICENSE

【趣味项目】一键生成LICENSE 项目地址&#xff1a;GitHub(最新版本) | GitCode(旧版本) 项目介绍 一款用于自动生成开源项目协议的工具&#xff0c;可以通过 npm 进行安装后在命令行使用&#xff0c;非常方便 使用方式 npm install xxhls/get-license -gget-license --l…

python的函数与类的定义

目录 1.函数 1.函数的定义 2.输入参数与输出参数的类型 3.输入和输出多个参数 1.普通参数 2.含有任意数量的参数 3.关键字参数 4.普通参数与多个参数的结合 2.类 1.类的定义 2.类的实例化 3.继承 1.函数 1.函数的定义 def 函数名(输入参数): 文档字符串 函数体 …

第七届国际通信与网络工程会议(ICCNE 2024)即将召开!

2024年第七届国际通信与网络工程会议&#xff08;ICCNE 2024&#xff09;将于7月26-28日在越南岘港召开。本次会议由维新大学主办&#xff0c;岘港大学、胡志明市科技大学协办。ICCNE 2024旨在为来自行业和学术界的研究人员、从业者和专业人士提供论坛&#xff0c;分享其最新研…

基于boost库的搜索引擎项目

文章目录 一、项目背景二、什么样的搜索引擎三、搜索引擎的宏观图原理四、Parse模块4.1下载boost库源代码4.2提取boost库中以.html为结尾的文件4.2.1 boost库的简单使用 4.3数据清洗(去标签化)4.3.1数据清洗的具体实现 4.4将清洗后的数据写入到raw.txt文件中 五、正排索引 vs 倒…

C++面试问题收集

0 持续更新中 目录 0 持续更新中 1 C语言相关 1.1 malloc/free和new/delete区别 1.2 内存泄漏 1.3 堆区和栈区的区别 1.4 宏定义和const的区别 1.5 多态 1.6 类中的静态成员变量 2 操作系统相关 2.1 进程和&#xff08;用户&#xff09;线程的区别 2.2 系统调用 2.3…