【2024最新】 服务器安装Ubuntu20.04 (安装教程、常用命令、故障排查)持续更新中.....

安装教程(系统、NVIDIA驱动、CUDA、CUDNN、Pytorch、Timeshift、ToDesk、花生壳)

  1. 制作U盘启动盘,并安装系统
  • 在MSDN i tell you下载Ubuntu20.04 Desktop 版本,并使用Rufus制作UEFI启动盘,参考UEFI安装Ubuntu
  • 使用GPT+UEFI模式安装,记得更改主板选项Legacy to EFI support 为 enable
  • 出现安装系统重启后黑屏,可能是显卡驱动没有安装,参考重装ubuntu 20.04.1系统完成后遇到黑屏怎么办?
  1. 安装NVIDIA显卡驱动
  • 先参考Ubuntu20.04下深度学习环境配置,配置apt-get换国内阿里源

  • 参考Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单中的方法二,使用系统自带的 “软件和更新” 程序 - 附加驱动,选择带有recommend的驱动,进行安装

  • 安装过程中可能会出现的问题

     1.The distribution-provided pre-install script failed! Are you sure you want to continue?选择continue installation2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  选择 No 继续。3.问题没记住,选项是:install without signing4.问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。5.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  选择 Yes  继续
    
  • 如果出现安装驱动后黑屏,可能是图形管理器gdm3不兼容,可以安装lightdm,代码如下:

sudo apt-get install lightdm
  • 安装好后,选择lightedm作为默认图形管理器
    请添加图片描述
  • 验证
//执行此语句,出现显卡信息则证明安装成功。
nvidia-smi

请添加图片描述
3. 安装Anaconda

  • 参考Ubuntu20.04下深度学习环境配置,安装Anaconda

  • 可能出现的问题:

      1.“Do you accept the license terms” // 是否同意条款,如果拒绝则无法安装输入“yes”2.“Do you wish the installer to initialize Anaconda3 by running conda init?” // conda初始化操作,如果拒接可能会遇到接下来的问题输入“yes”
    
  • 在给新用户安装Anaconda后,①没有显示(base),②conda:未找到命令,可采用以下代码:

//先解决 2
sudo vim ~/.bashrc 
//打开文件后,按i插入下一行,用户名更改为自己的用户名,之后按esc,输入:wq!,保存并关闭文件
export PATH="/home/用户名/anaconda3/bin:$PATH"
//更新source
source ~/.bashrc//再解决 1,直接初始化conda
conda init
  1. pip换清华源
  • /home/xx目录下创建.pip文件夹
mkdir ~/.pip 
  • 创建pip.config文件
sudo vim ~/.pip/pip.conf
  • 写入以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
  1. 安装Pytorch-cpu
  • 参考Ubuntu20.04下深度学习环境配置,安装Pytorch-cpu
  1. 安装CUDA
  • 即使不在新建的conda虚拟环境中安装,如在base中安装CUDA,其他的虚拟环境也能正常使用
  • 参考Ubuntu20.04下深度学习环境配置,安装CUDA
  1. 安装CUDNN
  • 所以即使不在新建的conda虚拟环境中安装,如在base中安装CUDNN,其他的虚拟环境也能正常使用

  • cudnn9.0.0版本安装如下:

    1. 进入官网,cudnn官网
    2. 选择ubuntu20.04版本,并本地安装,如下图:
  • 由于选择Ubuntu时无法验证是否安装成功,所以这里选择第一个Tarball,下载.tar.xz文件进行解压安装
    在这里插入图片描述

    1. 安装代码如下:
  • 如果上一步选择了Ubuntu,那么这里使用以下代码

wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
# 如果当前环境的cuda版本为11.x,那么用这行代码
sudo apt-get -y install cudnn-cuda-11
# 如果当前环境的cuda版本为12.x,那么用这行代码
sudo apt-get -y install cudnn-cuda-12
  • Tarball的cudnn安装如下:
    1. 参考Ubuntu20.04下深度学习环境配置,安装CUDNN
    2. 在输入以下代码时,前一个cuda是解压CUDNN后的目录,而cuda-xxx表示,将xxx更改为上一步安装cuda的版本号,具体可以打开目录 /user/local 进行查看。
	sudo cp cuda/include/cudnn* /usr/local/cuda-xxx/includesudo cp cuda/lib/libcudnn* /usr/local/cuda-xxx/lib64sudo chmod a+r /usr/local/cuda-xxx/include/cudnn* sudo chmod a+r /usr/local/cuda-xxx/lib64/libcudnn*
  • 使用以下代码,进行检查:
    3. 验证是否安装成功
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
  1. 安装Pytorch
  • 新建conda虚拟环境,并在虚拟环境中安装Pytorch
  • 参考Ubuntu20.04下深度学习环境配置,安装Pytorch
  • 注意:pytorch自带cuda和cudnn,所以在安装了pytorch的虚拟环境中,默认使用的是pytorch自带的cuda和cudnn,查看cuda和cudnn版本的命令如下:
# 进入pytorch环境
import torch
# 可以正确输出 cuda 版本号,说明 cuda 安装成功
print(torch.version.cuda)
# 可以正确输出 cuDNN 的 版本号,说明 cuDNN 安装成功
print(torch.backends.cudnn.version())
# 输出是 True,说明 CUDA 和 GPU 驱动的搭配是正确的
print(torch.cuda.is_available())
  1. 安装Timeshift
  • 参考ubuntu20.04安装timeshift最新方法
  • 使用教程,参考Timeshift系统备份与还原
  1. 安装ToDesk
  • 由于向日葵在切换Ubuntu账号时会黑屏,暂时找不到解决办法,所以使用ToDesk
  • 安装方法,参考ToDesk官网
  1. 安装花生壳
  • 安装花生壳用内网穿透,实现外网访问内网服务器,具体参考花生壳免费实现Linux主机的内网穿透,可通过SSH、SCP远程访问
  • 需要注意:由于公开服务器至外网,因此会经常被攻击。所以要么开vip限制访问,要么仅在需要使用的时候开启内网穿透,不需要就及时关闭。

服务器的简化操作(远程Pycharm)

  1. Pycharm远程连接服务器,参考PyCharm连接远程服务器配置过程
  • 注意:连接远程服务器后的Pycharm,相当于可视化修改代码的“记事本”,该项目的所有文件都会自动上传至服务器,因此代码并不在本地运行,但服务器上的文件不能自动同步到本地。
  • 实际运行流程为:先由Pycharm发送运行命令,然后服务器开始执行代码,最后代码运行结束,生成的模型也是留在服务器,需要手动下载回本地。

常用命令

  1. conda命令,参考conda常用命令汇总,随时查询(最全)
  2. 为普通用户添加sudo权限、删除sudo权限的方法,参考Ubuntu系统上为用户授予和删除sudo权限的方法
  3. 桌面卡死解决办法,参考Ubuntu桌面卡死解决办法
  4. 关闭SSH窗口后,使模型继续运行,参考screen命令解决SSH远程服务器训练代码断开连接后运行中断
# 如果-ls输入错误成-l,那么重新输入-ls后会出现以下信息:
(base) pp@slol:~$ screen -ls
There are screens on:1301732.pts-7.slol    (2024年03月18日 21时37分41秒)   (Detached)27515.pp        (2024年03月16日 21时07分52秒)   (Detached)26902.pts-0.slol      (2024年03月16日 21时00分53秒)   (Detached)
3 Sockets in /run/screen/S-pp.* 这可以使用screen -r命令重新连接到要关闭的会话,例如:
# 第一个和第三个的名称要输全
screen -r 1301732.pts-7.slol
screen -r 26902.pts-0.slol
# 中间一个可以直接这样输入
screen -r pp# 连接到会话后,可以按下Ctrl + A + K键组合来杀死当前会话,以及杀死对话中的进程。
# 使用Ctrl + A + D键组合来暂时中断当前会话,不会杀死对话中的进程。
  1. 实时查看CPU、GPU温度,参考Ubuntu 系统实时查看CPU温度和GPU温度
  2. 实时查看CPU占用率,参考(top命令)如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
  3. 查看磁盘空间占用率,参考【Linux】与磁盘相关的常用命令(自用)
  4. 更改linux服务器的DNS服务器,禁用IPv6
# 更改DNS服务器,查看DNS服务器设置
systemd-resolve --status
# 1. 修改系统的永久DNS文件,命令如下
sudo vim /etc/systemd/resolved.conf
# 2. 取消DNS行的注释,并更改如下:
DNS=8.8.8.8 114.114.114.114
# 3. 保存并推出永久DNS文件
ESC + :wq!
# 4. 清空本地DNS缓存
sudo systemd-resolve --flush-caches
# 5. 重启systemd-resolved服务
sudo systemctl restart systemd-resolved
# 6. 检查systemd-resolved服务状态
sudo systemctl status systemd-resolved
# 7. 查看接口名称
nmcli con show
# 8. 更改指定连接的DNS,将为IPv4设置Google的公共DNS服务器,并删除IPv6的DNS服务器
#    并告诉NetworkManager忽略由DHCP提供的DNS服务器
nmcli con mod "有线连接 1" ipv4.dns "8.8.8.8"
nmcli con mod "有线连接 1" ipv4.ignore-auto-dns yes
nmcli con mod "有线连接 1" ipv6.dns ""
nmcli con mod "有线连接 1" ipv6.ignore-auto-dns yes
# 9. 重启NetworkManager服务
sudo systemctl restart NetworkManager
# 10. 检查是否修改完成
systemd-resolve --status# 禁用IPv6
# 1. 进入sysctl.conf文件
sudo vim /etc/sysctl.conf
# 2. 添加以下行
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# 3. 保存更改后,执行以下命令
sudo sysctl -p

故障排查

  1. 服务器被陌生IP访问,查看是否被入侵的简单步骤:
# 1. 先lastb 查看登录失败的用户名、ip、时间等信息
sudo lastb
# 2. 若btmp文件过大,被系统的logrotate自动轮转,则旧文件会默认以 btmp.1 btmp.2 btmp.3的形式存储在 /var/log/目录下
# 再用以下命令查看某个btmp文件,如查看btmp.1
sudo lastb -f /var/log/btmp.1
# 3. 使用last命令查看已经登录过的用户名、ip、时间等信息
sudo last
# 4. 使用echo命令清空btmp文件或wtmp文件
sudo echo > /var/log/btmp
sudo echo > /var/log/wtmp
  1. 根据进程号查看该进程的启动文件以及工作目录
# 1. 先使用top命令查看当前占用cpu的进程号是什么
# 2. 使用nvidia-smi命令查看当前占用gpu的进程叫什么名字
# 3. 拿到进程号,比如3531之后,我们进入root用户
su root
# 4. 执行以下命令,即可查看该进程的目录列表
ll /proc/3531
# 5. 其中 cmd 是进程当前工作目录,exe 是进程的启动路径,cmdline 包含用于启动进程的完整命令行参数
  1. 防止服务器被暴力破解,给服务器添加脚本:每小时检查是否有登录失败的ip,如果有就封禁该ip
  • 可以通过以下命令,查看登陆失败超过4次的ip:
sudo lastb |awk '{print $3}'|sort |uniq -c|awk '{if ($1 > 4) print $2}'
  • 脚本代码查看ubuntu20.04 自动封禁恶意ip的代码与设计思路
  1. 服务器被陌生IP访问,查看是否被入侵的排查手册:
  • 简单版,参考如何检查linux服务器是否被入侵
  • 详细排查手册,参考Linux 应急响应流程及实战演练

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

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

相关文章

mysql 的MHA

mysql 的MHA 什么是MHA 高可用模式下的故障切换,基于主从复制。 单点故障和主从复制不能切换的问题。 至少需要3台。 故障切换过程0-30秒。 vip地址,根据vip地址所在的主机,确定主备。 主 vip 备 vip 主和备不是优先确定的&#xff…

InternLM Linux 基础知识

完成SSH连接与端口映射并运行hello_world.py 创建并运行test.sh文件 使用 VSCODE 远程连接开发机并创建一个conda环境

“pandas”的坑

参考:百度安全验证 本文基于python第三方数据分析库pandas,分享这几天所遇到的3个爬坑的案例,希望对也在爬坑的同学们尽一份绵薄之力,如有错误或者写得不好的地方,烦请指正,谢谢。 01df中startswith的坑 …

led灯什么牌子的质量好?led灯护眼效果好的五款爆品分享

大家在选择led灯的时候,最关心的就是“led灯什么牌子的质量好?”市面上商家推出来的led灯品牌众多,型号以及功能也是令人眼花缭乱的,既然如此,那我们应该如何买到质量过关又好用的led灯呢?接下来我将为大家…

敏感信息泄露wp

1.右键查看网页源代码 2.前台JS绕过,ctrlU绕过JS查看源码 3.开发者工具,网络,查看协议 4.后台地址在robots,拼接目录/robots.txt 5.用dirsearch扫描,看到index.phps,phps中有源码,拼接目录,下载index.phps …

网页封装app:如何将网站转换为移动应用程序?(网页封装app)

随着移动互联网的普及,越来越多的企业开始关注移动应用程序的开发。但是,对于一些小型企业或个人,开发一款移动应用程序可能需要投入大量的时间和金钱。这时,网页封装app就成了一个不错的选择。 app在线封装www,ppzhu.net 什么是…

【AI人工智能】文心智能体,00后疯感工牌生成器,低代码工作流的简单应用以及图片快速响应解决方案,干货满满,不容错过哦

背景 文心智能体平台,开启新一轮活动,超级创造营持续百日活动。 在AI 浪潮席卷的今天,如雨后春笋般丛生的 AI 应用,昭告着时代风口显然已随之到来。 如何能把握住时代红利,占据风口,甚至打造新风向&#x…

探索 Kubernetes 持久化存储之 Longhorn 初窥门径

作者:运维有术星主 在 Kubernetes 生态系统中,持久化存储扮演着至关重要的角色,它是支撑业务应用稳定运行的基石。对于那些选择自建 Kubernetes 集群的运维架构师而言,选择合适的后端持久化存储解决方案是一项至关重要的选型决策。…

因为媳妇的一句话,我做了一个AI画图软件

因为媳妇的一句话,我做了一个AI画图软件 T恤的配图 前些天媳妇参加了一个创业比赛,其中一个比赛任务是参赛成员需要穿主题队服,队服的图案完全需要自己设计,需要独一无二还得漂亮。 问我:“能不能用AI做一张图&#…

Python酷库之旅-第三方库Pandas(052)

目录 一、用法精讲 191、pandas.Series.drop方法 191-1、语法 191-2、参数 191-3、功能 191-4、返回值 191-5、说明 191-6、用法 191-6-1、数据准备 191-6-2、代码示例 191-6-3、结果输出 192、pandas.Series.droplevel方法 192-1、语法 192-2、参数 192-3、功能…

C# 介绍

文章目录 一. 一个简单的helloworld二. 程序结构三. 类型和变量四. 表达式1. f(x)2. []3. typeof4. default5. new6. checked和unchecked7. sizeof8. 移位9. is和as10. null合并 五. 语句六. 类和对象1. 可访问性2. 类型参数3. 基类和派生类4. 字段5. 方法6. 参数7. 扩展方法&a…

53.综合实验:UART接收图像、写入RAM、通过TFT显示

(1)设计定义:UART_RX模块接收数据,通过写入逻辑写入RAM存储器中,然后通过读取逻辑,从RAM中读出数据,发送给TFT显示屏。 (2)FPGA逻辑资源有限,因此设置128 * 1…

新生报到系统2024((代码+论文+ppt)

下载在最后 技术栈: ssmmysqljsp 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注:

docker安装部署elasticsearch7.15.2

docker安装部署elasticsearch7.15.2 1.拉取es镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.2如果不想下载或者镜像拉去太慢可以直接下载文章上面的镜像压缩包 使用镜像解压命令 docker load -i elasticsearch-7-15-2.tar如下图所示就表示镜像解压成…

Qt+OpenCascade开发笔记(二):windows开发环境搭建(二):Qt引入occ库,搭建基础工程模板Demo和发布Demo

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140763014 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

51单片机嵌入式开发:19、STC89C52R控制LCD1602码表+数码管+后台数显(串口)

STC89C52R控制LCD1602码表数码管后台数显(串口) 1 概述1.1 项目概述1.2 项目组成部分1.3 功能描述 2 开发环境2.1 支持设备2.2 硬件电路 3 软件代码工程4 演示4.1 Proteus仿真4.2 实物演示 5 总结 1 概述 1.1 项目概述 本项目旨在利用STC89C52R单片机实…

后端笔记(1)--javaweb简介

1.JavaWeb简介 ​ *用Java技术来解决相关web互联网领域的技术栈 1.网页:展现数据 2.数据库:存储和管理数据 3.JavaWeb程序:逻辑处理 2.mysql 1.初始化Mysql mysqld --initialized-insecure2.注册Mysql服务 mysqld -install3.启动Mysql…

USB3.0的等长要求到底是多少?

USB2.0与USB3.0接口的PCB布局布线要求PCB资源PCB联盟网 - Powered by Discuz! (pcbbar.com) 90欧姆阻抗,走差分线: 重点来了:

第十九届全国大学生智能汽车竞赛地平线创意组在武汉理工大学隆重开幕

7月27日上午,第十九届全国大学生智能汽车竞赛地平线创意组智慧医疗赛道全国选拔赛开幕式隆重举行,大赛由中国自动化学会、第十九届全国大学生智能汽车竞赛组织委员会主办,武汉理工大学、地平线、古月居承办。首年即吸引来自全国各地280支队伍…

国内乳品领军企业『君乐宝』SRM一期项目成功上线,企企通助力企业采购数字化再升级,二期项目正式启航!

近日,企企通为君乐宝乳业集团(以下简称“君乐宝”)打造的采购供应链管理系统一期项目成功上线运行,基于双方的信任基础与协作模式将再次携手深化合作,构建全品类、全流程、全场景、全模式的采购数字化管理闭环&#xf…