安装Ubuntu系统+深度学习服务器配置+多用户操作+远程
创始人
2024-11-15 12:37:15
0

安装Ubuntu系统+深度学习服务器配置+多用户操作

    • 安装Ubuntu系统
    • 深度学习服务器配置
    • 多用户操作

嗨,我是射手座的程序媛,期待和大家更多的交流与学习,欢迎添加3512724768。

安装Ubuntu系统

  1. 下载你想要安装的系统的镜像文件(我选择的是20.4,这个版本不是很流畅【反映很慢】,可考虑更高版本24.4等),可参考这篇博客
  2. 准备一个格式化的U盘,一般大等于32G
  3. 下载UltraISO软件,用于制作系统盘,参考这篇博客
    在这里插入图片描述
    4.制作好系统盘后,接下来,就是重装系统啦,可参考这篇博客
    关机,重启,这个时候需要摁F2或F12或F8(这里需要根据电脑品牌而定,可自行搜索),进入到BIOS设置【通过按键的回车键和方向键进行选项的选择和操作】,首先,禁用bios中的secure boot,因为secure boot会阻止第三方源安装驱动,只要保证安装源可靠,禁用并不会带来多大隐患。其次,设置为U盘启动,选择Boot Sequence,调整顺序即可,保存设置并退出BIOS。
    在这里插入图片描述

在这里插入图片描述然后,电脑在启动时会从你设置的启动盘中读取数据,这个时候,需要通过上下建和回车键选择,有的会出现install ubuntu,也有的如果安装的是图形界面的ubuntu,不会出现install ubuntu,而是出现safe graphics,根据自己的选择,通过回车键选择即可,然后会出现界面让你拔掉U盘,并按回车键。下面的图片,不同的系统,界面不同。
在这里插入图片描述在这里插入图片描述
随后,进入Ubuntu的安装界面。选择你想要使用的语言(比如英语),然后点击Install Ubuntu按钮。
在这里插入图片描述在这里插入图片描述一般选择:正常安装,可根据自己选择而定。
在这里插入图片描述接下来就是重要的分区,下面这个是默认分区。其他选项则是自己进行分区
在这里插入图片描述
然后,设置时区、用户、密码等,一般不会出现大错。
在这里插入图片描述在这里插入图片描述
然后,慢慢等待安装就行了,不会很长时间,顶多半个小时,我记得。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
至此,新的ubuntu系统就安装好了。如果想分区,可自行再搜索,可参考这篇博客。

深度学习服务器配置

  1. 安装显卡驱动。打开终端,输入:sudo ubuntu-drivers devices
  2. 查看服务器匹配的显卡版本,一般选择recommended
    在这里插入图片描述
  3. 在 NVIDIA 官网下载适合自己电脑的驱动

在这里插入图片描述4. 打开终端,先更新,依次输入:

sudo apt-get update #更新软件列表  sudo apt-get install g++  sudo apt-get install gcc  sudo apt-get install make 
  1. 禁用原有显卡nouveau,打开配置文件,在终端输入:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf 
  1. 进入配置后,加入两行代码:
blacklist nouveau options nouveau modeset=0 
  1. 更新系统
sudo update-initramfs -u 
  1. 验证是否禁用成功,没有输出,就是成功了
lsmod | grep nouveau 
  1. 找到之前下载的驱动的文件目录,进行安装,可参考这篇文章:
--禁用图形界面 sudo service gdm3 stop --恢复图像界面 sudo service gdms start  --修改语言 export LANG='UTF-8' export LANGUAGE='UTF-8' 

安装驱动,选择自己的文件名哈:sudo ./NVIDIA-Linux-x86_64-535.129.03.run -no-opengl-files -no-x-check
然后,会出现以下选择:
在这里插入图片描述这种界面,一步一步来哈
在这里插入图片描述然后,就打开终端,验证一下,看看是否安装成功

nvidia-smi 

出现这东西,就对了
在这里插入图片描述至此,安装完驱动显卡了,下面是弄桌面环境,可参考这篇博客
Ubuntu 服务器通常使用命令行进行管理,并且默认没有安装桌面环境。如果你正在运行 Ubuntu 桌面版,忽略这一步。

一、在 Ubuntu 源仓库有很多桌面环境供你选择。一个选择是安装 Gnome,它是 Ubuntu 20.04 的默认桌面环境。另外一个选项就是安装 xfce。它是快速,稳定,并且轻量的桌面环境,使得它成为远程服务器的理想桌面。

运行下面任何一个命令去安装你选择的桌面环境:
安装 Gnome

sudo apt update sudo apt-get upgrade sudo apt install ubuntu-desktop 

安装 Xfce

sudo apt update sudo apt-get upgrade sudo apt install xubuntu-desktop 

二、安装 Xrdp
Xrdp 被包含在默认的 Ubuntu 软件源中。想要安装它,运行:

sudo apt install xrdp 

一旦安装完成,Xrdp 服务将会自动启动。你可以输入下面的命令,验证它:

sudo systemctl status xrdp 

三、设置root密码

ubuntu默认不能使用root用户,需要设置root密码的权限

命令:

sudo passwd root 

输入root密码即可,ubuntu不会显示输入的密码。

四、连接 Xrdp 服务器

现在你已经设置好你的 Xrdp 服务器,是时候打开你的 Xrdp 客户端并且连接到服务器。

如果你有一台 Windows 电脑,你可以使用默认的 RDP 客户端。在 Windows 搜索栏输入“remote”,并且点击“Remote Desktop Connection”。这将会打开一个 RDP 客户端。在“Computer”区域输入远程服务器 IP地址,并且点击“Connect”。

在登录屏幕,输入你的用户名和密码,点击“OK”。

现在你可以从你的本地机器上使用你的键盘和鼠标和远程桌面进行交互了。

如果你正在运行 macOS,你可以从Mac App Store安装 Microsoft Remote Desktop应用。 Linux 用户可以使用一个 RDP 客户端,例如 Remmina 或者 Vinagre。

至此,桌面环境也弄好了,就可以远程了。最简单的windows的自带远程桌面连接
在这里插入图片描述输入ip、用户名、密码就可以连接了。也可以选择一些远程软件,xshell等。
至此,远程也结束了,接下来就是 深度学习环境配置,因为是服务器,多用户操作,这边建议每个用户配置自己的深度学习环境,避免多人使用同一个环境,造成混乱,或者误删等。

多用户操作

  1. 这里忘记了硬盘需要挂载,简单来说,硬盘没有挂载之前,谁都不能使用,就是找不到它,需要把它放到一个地方就当作它的家,找到这个地方就是找到它了,就可以在这里面进行操作,使用这个硬盘了。
    挂载也分为临时挂载和永久挂载,临时挂载在电脑关机重启之后就消失了,也就是重新开机之后需要重新挂载,不方便。所以,使用永久挂载有种一劳永逸的感觉,可参考这篇博客。
  2. 首先,创建多个用户,并给每个用户一定的权限,只能打开自己的文件等,其他用户的文件等都不能打开,可参考这篇博客。
    先切换到root模式,然后开始创建用户,我们以创建用户“username”为例,你想创建什么名字,直接将username换成你想的就可以了。
    新建用户并创建家目录
sudo useradd -d /home/username -m username 

更改为bash命令

sudo useradd -s /bin/bash username 

更改密码

sudo passwd username 

设置sudo权限

sudo chmod u+w /etc/sudoers sudo vi /etc/sudoers #在root下添加新用户权限,就直接复制root那一行换个名字username就可以 username ALL=(ALL:ALL) ALL 

在文件中添加完上面一行后,摁Esc,:,输入wq后,回车。安全保存并退出文件。
再将文件权限修改回来

sudo chmod u-w /etc/sudoers 

至此,创建完用户了,需要几个用户,就重复几次这个操作即可。
然后,为了更好的管理,这边建议在硬盘上给每个人开个文件夹,每个人就将数据等文件啥的放到这里,如果在home那里,其实就相当于是windows里面的C盘,把文件都放这里,后期内存肯定满,运行也慢,所以还是建议放到硬盘上。
在硬盘上创建文件夹,找到你挂载的那个位置,一般挂载到media下面:

mkdir username 

这个时候,便创建了username的文件夹,他的所有者和组是root root的,需要修改成username的
先修改文件夹的所有者和组

sudo chown username:username username 

然后修改权限为drwx------

chmod 700 username 

在这里插入图片描述就变成上面的,每个文件夹的所有者是相应的用户的,这里就可以使得自己可修改可看,其他人无法修改无法看。上图里面的,/media/devdata就是硬盘挂载到的位置,**q、**s、**k、*x、**k就是创建的用户,rs是刚开始安装系统的时候,让弄的用户,现在就是在rs这个用户下面进行的操作,相当于一种root权限。
当通过其中一个用户进入之后,就会发现,只有自己的可以进去,其他人的文件夹根本进不去,除非你有root权限密码,才能进去。
在这里插入图片描述
至此,多用户也弄完了,现在就是弄深度学习配置,每个用户弄自己的,互不干扰,这样很好,和平共处。
那下面就开始深度学习配置了。

  1. 安装anaconda,到官网下载想要的版本,直接安装即可,也可以是通过镜像下载,这个更快一点,可参考这篇博客。
    根据自己Linux环境架构选择相应的Anaconda的文件下载,比如我的架构是x86_64就选择相应的版本下载即可。
    在这里插入图片描述找到下载之后文件所在的目录,然后,通过命令进行安装
bash Anaconda3-2024.06-1-Linux-x86_64.sh 

如果不可以,就修改权限

chmod +x Anaconda3-2024.06-1-Linux-x86_64.sh 

.sh文件就是你下载的文件的名称哈。
然后,就回车
在这里插入图片描述more的内容挺多的,嘚摁一会,直到出现yes or no,输入yes即可

在这里插入图片描述到这里就是让你确定安装位置,一般就默认安装,回车
在这里插入图片描述如果不配置环境变量的话,采用conda -V命令会提示找不到这个命令。
然后,就需要配置环境变量
首先,打开profile文件

vim /etc/profile 

然后,添加环境变量

export PATH=/root/anaconda3/bin:$PATH 

然后,保存退出,Esc,:,wq,wq不行,那就q。

然后,刷新配置

source /etc/profile 

然后,再执行conda -V这个命令就可以看见 anaconda的版本
在这里插入图片描述
至此,anaconda就安装完成了,下面就安装虚拟环境了
创建虚拟环境myenvname,python的版本自行确定,一般就3.8,3.10吧。

conda create -n myenvname python=3.8 

会在安装过程中,让你确认是否安装y or n,你就选择y即可

安装完成后,就可以通过conda activate myenvname激活了
myenvname 是你环境的名字,自行确定。
在这里插入图片描述然后,就是GPU算力了,需要安装cudnn、cuda等,以及相应版本的pytorch-gpu
首先,你要确定,你都要安装哪些版本?每一个的对应关系,可参考这篇博客

  1. CUDA驱动和CUDAToolkit对应版本,实时更新
    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。在这里插入图片描述 2. CUDA和cuDNN对应版本,官网
    NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
    cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。想要在CUDA上运行深度神经网络,就要安装cuDNN,这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。选择合适版本下载。
    在这里插入图片描述3. Pytorch、CUDA版本匹配,官网
    在这里插入图片描述在这里插入图片描述官网也有命令,就是可能会比较慢,也可以使用镜像,直接选择合适的版本,下载安装就可以
    在这里插入图片描述cudnn官网
    cudn toolkit官网
    pytorch官网

具体安装,可参考这篇博客

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述还需要安装torch的一些文件,可参考这篇文章,镜像1,镜像2
在这里插入图片描述至此,就差不多结束了,终于完结了,有些不是描述的特别详细,最后可以通过代码验证是否使用gpu等。

嗨,我是射手座的程序媛,期待和大家更多的交流与学习,欢迎添加3512724768。

相关内容

热门资讯

UNIX 域协议 1. UNIX域协议利用socket 编程接口实现本地进程间通信 UNIX域协议套接字:...
ardupilot开发 ---... 安能以血补天哉0. 前言1. 实践1.1 用户手册1.2 开发文档1.3 网络RTK的注入20240...
SpringMVC源码解析(二... SpringMVC源码系列文章SpringMVC源码解析(一):web容器启动流程Sp...
ChatGPT:impleme... ChatGPT:implements Serializable 有什么实际作用...
从零开始学习网络安全渗透测试之... HTTP/HTTPS抓包技术是一种用于捕获和分析网络流量的方法,它可以帮助开发者、测试...
学习web前端三大件之HTML... HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这...
[Spring] Spring... 🌸个人主页:https://blog.csdn.net/2301_80050796?...
node.js卸载并重新安装(... 卸载node.js 重新安装nodejs一、卸载1、首先进入控制面板卸载程序2、卸载后 到文件夹中进...
两年经验前端带你重学前端框架必... 前端框架必会的(ajax+node.js+webpack+gi...
算法工程师第二十七天(56. ... 参考文献 代码随想录一、合并区间        以数组 intervals 表示若干个区间的集合&#...