当前位置: 首页 > news >正文

从零配置一台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 文件之后,有两个问题需要解决

  1. 更改软件权限为可运行文件

     sudo chmod +x weitu_0.2.7_linuxx86_64.AppImage
    
  2. 运行 .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:索引作为数据的标志量,可根据索引获…...

系统提示缺少或找不到emp.dll文件的详细解决方案

我今天打开一款《游戏》。然而,在游戏中遇到了一个非常棘手的问题:游戏报错找不到emp.dll,无法继续执行代码。这让我们非常苦恼,因为这个问题严重影响了我们的游戏体验。 在经过一番努力之后,我终于找到了4个解决方法&#xff0c…...

Python实现自动化网页操作

1 准备 推荐使用Chrome浏览器 1.1 安装selenium程序包 激活虚拟环境,打开新的Terminal,输入以下代码: python -m pip install selenium 如下图所示,表示安装成功,版本为4.7.2 安装成功 关闭虚拟环境,打…...

03 矩阵与线性变换

矩阵与线性变换 线性变换如何用数值描述线性变换特殊的线性变换反过来看总结 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 线性变换 如果一个变换具有以下两个性质,我们就称它是线性的: 一是直线在变换后仍然保持为直线二是原点必须…...

MySQL InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读…...

【数据结构】数组和字符串(十五):字符串匹配2:KMP算法(Knuth-Morris-Pratt)

文章目录 4.3 字符串4.3.1 字符串的定义与存储4.3.2 字符串的基本操作4.3.3 模式匹配算法0. 朴素模式匹配算法1. ADL语言2. KMP算法分析3. 手动求失败函数定义例1例2例3 4. 自动求失败函数(C语言)5. KMP算法(C语言)6. 失败函数答案…...

STM32 PWM可控制电压原理

PWM可控制电压原理 主要通过PWM 输入模式根据控制单位时间内输出的平均电压,以调节电压大小。而PWM输出模式通过调节占空比,控制平均电压大小; 设置TIM为PWM输出模式 第一步:时钟使能: GPIO,TIM; 第二步&a…...

angular、 react、vue框架对比

借鉴:Web前端开发:三大主流框架 (baidu.com) AngularReactVue公司ChromeFaceBook尤雨溪写法有指令、模板的概念比较灵活,没有要求使用特定的架构和模式有指令和模板的概念性能低有虚拟Dom,性能高有虚拟Dome,性能高学习门槛 高&am…...

GNSS常用数据源汇总

本文整理汇总了GNSS数据处理过程中常用的数据源,路径中的占位符具体含义如下: -YYYY-年-YY-年的后两位数-DOY-年积日-MM-月-HH-小时-WWWW-GPS周 一、RINEXO观测值与RINEXN星历小时文件 1、CDDIS:ftp://gdc.cddis.eosdis.nasa.gov/pub/gnss…...

01|LangChain | 从入门到实战-介绍

​ ​ by:wenwenc9 一、基本知识储备 1、什么是大模型,LLM? 大模型(Large Language Model)是近年来一个很热门的研究方向。 使用大量的数据训练出一个非常大的模型。一般是数十亿到上万亿的参数规模。 这些大模型可以捕捉到非常复杂的语言…...

【小白专用】PHP基本语法 23.11.04

PHP基本语法 PHP是超文本预处理器 由服务器解析执行 可以与 html 进行混编(嵌入) ,PHP是一种弱类型语言 1.1 PHP标记 PHP和其他Web语言一样,都是用一对标记将PHP代码包含起来,以便和HTML代码区分开来。PHP支持4种风格的标记,如表所示。 标…...