从零配置一台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:索引作为数据的标志量,可根据索引获…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
