从零配置一台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:索引作为数据的标志量,可根据索引获…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...