从零配置一台linux主机
1. Linux软件安装方式
软件安装教程
设置国内源
因为 linux 本身自带的下载源资源有限,所以在使用 apt 命令下载的时候,有些包可能找不到,所以要添加国内源。方法如下:
打开文件 /etc/apt/sources.list
sudo gedit /etc/apt/sources.list
在文件头部加入一下内容:
#阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
#测试版源
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
#源码
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
#测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse#清华大学源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
#测试版源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#源碼
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
#测试版源
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse#中科大源
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
关闭文件后执行
sudo apt-get update
sudo apt-get upgrade
执行完成就完成了软件库的更新,后面的操作会更加顺利,减少找不到包的问题。
2. 输入法安装
安装教程
3. 配置VPN
非广告,不负责,我只是放出我自己使用的这个网址,可以在linux上使用。
按照里面的linux系统使用教程即可,亲测有效。
按照教程操作下载 .AppImage 文件之后,有两个问题需要解决
-
更改软件权限为可运行文件
sudo chmod +x weitu_0.2.7_linuxx86_64.AppImage -
运行 .AppImage 文件
./weitu_0.2.7_linuxx86_64.AppImage
在执行运行的命令时遇到了这个问题: “ AppImages require FUSE to run. “
解决办法:安装 FUSE。
具体做法:去这个网址查看当前系统对应的版本,然后运行对应版本下的命令即可安装。
安装 FUSE 的时候,遇到网络问题,第二条命令 git clone 执行失败,解决办法是选择更好的下载源。操作如下:
1. 打开终端并输入"sudo software-properties-gtk"命令。
2. 在弹出的窗口中选择"Download from"选项卡。
3. 选择"Other"并点击"Select Best Server"按钮,系统将自动测试并选择最佳的更新源。
4. 点击"Choose Server"并关闭窗口,然后运行"sudo apt-get update"命令再次尝试更新。
使用这个方法安装之后,进入到 .AppImage 文件所在文件夹,运行命令 ./weitu_0.2.7_linuxx86_64.AppImage 即可启动APP,和windows系统下APP一样的使用方法,亲测可行。
每次都使用命令打开是非常不方便的,所以最后还需要为 .AppImage 文件生成桌面快捷方式。
sudo touch /usr/share/applications/WeiTu.desktop
然后在 .desktop 对应位置执行 sudo gedit WeiTu.desktop 打开,写入以下内容:
[Desktop Entry]
Name=Vnote # 名字,最好跟软件一样
Comment=Vnote #描述,随便写
Exec=/opt/vnote/vnote-linux-x64_v3.16.0.AppImage #文件绝对路径,下载的文件存在哪就写哪
Icon=/opt/vnote/vnote_pic.jpeg #图标绝对路径,下载的文件存在哪就写哪
Terminal=false
Type=Application
Categories=Developer;
执行完了之后,按键盘上的窗口键,在里面就能找到 WeiTu 了,点击即可打开。
4. 一个好用的终端
zsh、oh-my-zsh、tmux
Zsh:Zsh是一个强大的Shell,支持自动补全和语法高亮等功能,是Bash的替代品。
安装: sudo apt-get install zsh
应用:将默认SHELL修改为 zsh
oh-my-zsh: 安装教程
按照这个教程安装时,我出现了 git clone 执行超时的问题,我通过安装 VPN 解决了这个问题(注意,要使用全局连接,而不是PAC连接),另一个解决办法是,直接去github 上下载 oh-my-zsh.zip,解压之后进入目录 /master/tools 运行 install.sh 进行安装。
另一个教程,这个教程里不使用git clone,有国内源。
tmux:tmux是一个终端复用器,可以在一个终端窗口中同时运行多个终端会话。
安装:sudo apt-get install tmux
启动:在终端输入命令 tmux 即可
相关快捷键:https://blog.csdn.net/gongdiwudu/article/details/129317682
5. Anaconda && Python
Anaconda安装教程
Ubuntu系统一般自带Python3
6. 安装显卡驱动、CUDA、Pytorch
查看系统版本
uname -a
ubuntu 18.04 安装之后WiFi连接教程。
安装之前,让我们先看一下操作系统、显卡驱动、CUDA、Pytorch 的关系

如图所示:
- 显卡驱动是连接操作系统和显卡的平台,使得操作系统能够正常使用和管理显卡资源;
- cuda是英伟达提供的计算平台,方便用户利用显卡进行计算,为用户提供了接口,显卡除了计算还有一个很大的功能是图形显示;
- pytorch是深度学习框架,为了方便用户使用的一种深度学习框架,方便用户使用相关服务,其中包括cuda服务。
如果显卡驱动和系统版本不适配,则显卡直接使用不了,甚至导致系统异常;如果显卡驱动、CUDA、Pytorch三者版本不匹配,则会导致cuda计算无法使用。
在配置深度学习环境时,显卡驱动、CUDA、Pytorch三个组件的版本适配非常重要,安装顺序也要注意,否则会出很多的问题。
在以下我也会给出卸载的方法,如果装错了,可以按照卸载重新装。
1)如何选择版本?
显卡驱动:越新越好
CUDA 和 pytorch 版本: 要适配
对于显卡驱动和CUDA版本,越新的显卡驱动能兼容的CUDA版本就越多,具体可以查看Nvidia官网。
然而,在pytorch框架中使用 CUDA 时,pytorch支持的 CUDA 版本是有限的,必须先确定清楚版本再安装,具体可以看Pytorch官网。
2)安装顺序是怎样的?
先装显卡驱动,然后查看CUDA版本,然后安装 CUDA,最后安装对应 Pytorch。
3)安装教程:
显卡驱动安装
教程1
教程2,有卸载教程
CUDA安装
(1)从CUDA官网找到对应版本。
(2)选择 ranfile(local) 下载运行即可安装,这里切记不可使用 dev 版本,会自动装显卡驱动,覆盖掉之前装的

在这一步千万要注意,只安装CUDA Toolkit 11.8 即可,否则会再次安装驱动导致失败,其他的也没有必要安装。
(3)安装完要在 .bashrc 文件中添加 PATH
export PATH=$PATH:/usr/local/cuda/binexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
添加完了执行 source ~/.bashrc。
(4)通过命令 nvcc --version 查看版本,输出版本即为成功
cuda卸载:
sudo apt clean
sudo apt update
sudo apt purge nvidia-*
sudo apt autoremove
Pytorch安装
进入到相应环境之后,在Pytorch官网选择合适版本,然后运行官网命令即可安装。
cuDNN安装
cuDNN是英伟达研究的为深度学习训练加速的工具,是可选项,如果不下载,也并不会影响cuda的使用。
安装方法如下:
从官网下载对应版本的包,我这里用的是 .deb,在网上有很多的教程,但是我发现英伟达简化了安装,下载 .deb 文件之后,直接进入文件夹中,运行命令 sudo dpkg -i xxxx.deb,然后就可以了,如果运行后有提示,按照提示操作即可。
验证是否安装成功:运行语句 print(torch.backends.cudnn.version),输出 8700 即表示安装成功。
7. 关闭 Linux 系统和 NVIDIA 显卡驱动的自动更新
这一部分非常重要,因为前面已经说了版本不匹配会出现很多问题,但只指出了显卡驱动、cuda、pytorch的关系,另外一个重要关系是操作系统和显卡驱动的关系,如果让系统和显卡驱动自己更新,就可能会出现很多意外情况,比如我就出现了直接开不了机的问题,导致重新装系统。所以最好禁用自动更新,把主动权掌握在自己手上。
Linux 系统自动更新关闭方法。
Nvidia 驱动自动更新关闭方法。
8.远程连接服务器
1)向日葵软件
2)通过 SSH
查找 linux 主机 IP 和 端口 的方法
运行 ifconfig 命令,其中的 inet 字段后为IP地址,通过SSH命令连接时,默认端口号为22。如果找不到 ifconfig 命令,使用 sudo apt install net-tools 进行安装。
在linux主机上安装 openssh-server、ssh 的教程。也可以看B站的这个视频。
最后设置开机启动时,可能会出现 failed to enable unit 的错误,这个时候可能是因为已经是 enable 的了。
可以使用 sudo systemctl status sshd 命令查看,在输出中找到 loaded 这一行,后面会看到已经是enabled。
9.问题记录
1)显卡驱动自动更新导致开不了机,提示 failed to start nvidia-powered service?
在开机后按 shift 或 esc 键,进入系统高级选项,注意不是 BIOS,而是操作系统的高级选项。

选择系统高级选项,进入选择 recovery 模式。

然后先选择network恢复网络,然后选择 dpkg 恢复包,恢复下载包时间根据需要下载的包的多少。然后重启即可。
暴力解决:重新装系统
相关文章:
从零配置一台linux主机
1. Linux软件安装方式 软件安装教程 设置国内源 因为 linux 本身自带的下载源资源有限,所以在使用 apt 命令下载的时候,有些包可能找不到,所以要添加国内源。方法如下: 打开文件 /etc/apt/sources.list sudo gedit /etc/apt/s…...
【蓝桥每日一题]-倍增(保姆级教程 篇1)
今天讲一下倍增 目录 题目:忠诚 思路: 题目:国旗计划 思路: 查询迭代类倍增: 本质是一个一个选区间使总长度达到 M,类似凑一个数。而我们会经常用不大于它最大的二的次幂,减去之后,再重复这…...
CNN(卷积神经网络)、RNN(循环神经网络)和GCN(图卷积神经网络)
CNN(卷积神经网络): 区别:CNN主要适用于处理网格状数据,如图像或其他二维数据。它通过卷积层、池化层和全连接层来提取和学习输入数据的特征。卷积层使用卷积操作来捕捉局部的空间结构,池化层用于降低特征图…...
在markdown中怎么画表格
2023年11月5日,周日上午 下面是一种常用的方式来编写表格: | 列1标题 | 列2标题 | 列3标题 | |:------:|:------:|:------:| | 内容 | 内容 | 内容 | | 内容 | 内容 | 内容 |在这个示例中,第一行用于定义表格的列标…...
每天五分钟计算机视觉:搭建手写字体识别的卷积神经网络
本文重点 我们学习了卷积神经网络中的卷积层和池化层,这二者都是卷积神经网络中不可缺少的元素,本例中我们将搭建一个卷积神经网络完成手写字体识别。 卷积和池化的直观体现 手写字体识别 手写字体的图片大小是32*32*3的,它是一张 RGB 模式的图片,现在我们想识别它是从 …...
【React】【react-globe.gl】3D Objects效果
目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖,但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…...
目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】SLAM(补充篇)
目录 前言 知识储备 SLAM基础知识 算法原理 什么是SLAM SLAM算法框架...
Pytorch 缓解过拟合和网络退化
一 添加BN模块 BN模块应该添加 激活层前面 在模型实例化后,我们需要对BN层进行初始化。PyTorch中的BN层是通过nn.BatchNorm1d或nn.BatchNorm2d类来实现的。 bn nn.BatchNorm1d(20) # 对于1D输入数据,使用nn.BatchNorm1d;对于2D输入数据&am…...
【算法】昂贵的聘礼(dijkstra算法)
题目 年轻的探险家来到了一个印第安部落里。 在那里他和酋长的女儿相爱了,于是便向酋长去求亲。 酋长要他用 10000 个金币作为聘礼才答应把女儿嫁给他。 探险家拿不出这么多金币,便请求酋长降低要求。 酋长说:”嗯,如果你能够替我…...
hackergame2023菜菜WP
文章目录 总结Hackergame2023更深更暗组委会模拟器猫咪小测标题HTTP集邮册Docker for everyone惜字如金 2.0Git? Git!高频率星球低带宽星球小型大语言模型星球旅行日记3.0JSON ⊂ YAML? 总结 最近看到科大在举办CTF比赛,刚好我学校也有可以参加,就玩了…...
ubuntu20.04.6使用FTP-及相关安全配置
前言: 作为一名运维,对文件系统,网络,文件共享,内存,CPU,以及一些应用服务及监控相关的知识需要 了解。今天是自己第一次搭建FTP(以前用过smb,windows共享,FT…...
C++中不允许复制的类
C中不允许复制的类 假设您需要模拟国家的政体。一个国家只能有一位总统,而 President 类面临如下风险: President ourPresident; DoSomething(ourPresident); // duplicate created in passing by value President clone; clone ourPresident; // dup…...
使用Python 脚自动化操作服务器配置
“ 有几十台特殊的服务器,没有合适的批量工具只能手动,要一个一个进行点击设置很耗费时间呀\~”,使用 Python 的简单脚本,即可模拟鼠标键盘进行批量作业 01 — 自动化示例 以某服务器中的添加用户权限为例,演示过程皆未触碰鼠标…...
DL Homework 6
目录 一、概念 (1)卷积 (2)卷积核 (3)特征图 (4)特征选择 (5)步长 (6)填充 (7)感受野 二、探究不同卷…...
软考高项论文-绩效域
干系人绩效域 预期目标指标及检查方法建立高效的工作关系干系人参与的连续性干系人认同项目目标变更的频率支持项目的干系人提高了满意度,并从中收益;反对项目的干系人没有对项目产生负面影响干系人行为干系人满意度干系人相关问题和风险团队绩效域 预期目标指标及检查方法共…...
设计模式之装饰模式--优雅的增强
目录 概述什么是装饰模式为什么使用装饰模式关键角色基本代码应用场景 版本迭代版本一版本二版本三—装饰模式 装饰模式中的巧妙之处1、被装饰对象和装饰对象共享相同的接口或父类2、当调用装饰器类的装饰方法时,会先调用被装饰对象的同名方法3、子类方法与父类方法…...
前端vue,后端springboot。如何防止未登录的用户直接浏览器输入地址访问
前端,使用Vue框架来实现前端路由拦截: 设置需要登录校验的页面: 登录成功后,去设置LocalStorage里面的IsLogin为true:...
linux安装Chrome跑web自动化
添加 Chrome 源: 打开终端并执行以下命令,将 Google Chrome 的 APT 源添加到系统: bashCopy code wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 安装 Chrome: 执行以下命令来安装 Chrome&…...
linux环境下编译,安卓平台使用的luajit库
一、下载luajit源码 1、linux下直接下载: a、使用curl下载:https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz b、git下载地址;https://github.com/LuaJIT/LuaJIT.git 2、Windows下载好zip文件,下载地址:https…...
indexedDB笔记
indexedDB 该部分内容主要源于https://juejin.cn/post/7026900352968425486 常用场景:大量数据需要缓存在本地重要概念 仓库objectStore:类似于数据库中的表,数据存储媒介索引index:索引作为数据的标志量,可根据索引获…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
