Building Up Servicer

Breeze Shane大约 3 分钟LinuxManjaroLinuxManjaroGeekServicerWork Station

背景

在做项目的我正为自己的显卡太小跑不了预测而发愁的时候,由于非常微妙的缘分,我白嫖到一个装有GeForce GTX 1060显卡的主机,更令人高兴的是这个主机装上的系统就是Manjaro!

怎么做?

这个系统已经基本把绝大多数事都做好了,因此我们只需要做一点点工作就行。首先要明确一点:这个主机是用作服务器的,不作日常使用。

前期工作

由于这个系统有较长时间没有使用,因此需要像刚安装好系统那样做一切前期准备,详细步骤请阅读我之前的文章

搭建虚拟内网

为了能在各地自由使用,我决定使用ZeroTier-One来构建一个虚拟内网,然后将我目前使用的两个设备jion到同一个内网即可。服务器上只消执行:

sudo pacman -S zerotier-one
sudo systemctl enable zerotier-one.service
sudo systemctl start zerotier-one.service
zerotier-cli join {YOUR_NETWORK_ID}

这样就可以搭建好一个虚拟内网了。

建立SSH连接

做好上一步之后,可以根据情况自己设定好IP「更具体的内容请移步至这篇文章」,需要记好服务器的IP,并且编辑SSH配置文件:

sudo vim /etc/ssh/ssh_config

需要将Port 22前的#去掉,当然如果你愿意也可以直接修改Port后面的值。

保存后需要重启一下服务,执行:

sudo restart sshd.service

但为了保证开机就能使用SSH,还需要执行:

sudo enable sshd.service

最后你就可以执行:

ssh USERNAME@IP

来远程连接服务器了。

但这里要注意的是,如果前面你设定的port不是默认值22,则需要使用p参数,即执行:

ssh -p YOUR_PORT USERNAME@IP

关闭图形桌面

因为我不喜欢总是去插拔鼠标接收器来在两台电脑之间使用,而且服务器我也是只可能使用命令行形式,而最重要的原因是它打开的图形桌面Xorg服务是要占用显卡的,这个就阻挠了我进一步的安装驱动,于是我执行了如下指令来关掉这个多余的东西:

sudo systemctl set-default multi-user.target
sudo reboot

这样你就可以开机就进入命令行模式了,其实就是tty模式。

如果你有一天想用回这个桌面系统,那就执行:

sudo systemctl set-default graphics.target
sudo reboot

安装Nvidia驱动

依旧根据inxi -G给出的显卡信息到Nvidia官网选择合适的驱动程序下载过来,然后用sudo bash NVIDIA…….sh即可。

但要注意的是如果安装失败并报错提示缺少kernel的话,你需要根据系统内核版本来安装linux-headers,查看系统版本的方法有三个:一是执行username -a来查看内核版本;二是执行neofetch,不过这个需要提前安装好neofetch才行;三则是直接运行系统自带的screenfetch,因此本人最推荐这个方法,当然第一个方法非常简洁,也足够使用。如你所见,Kernel后跟的数字就意味着你要安装的linux-headers的版本,比如我的就是5.11.22-2-MANJARO,那我就要安装linux510-headers,为什么不是511,因为没有啊~安装好Kernel Headers之后再重新安装显卡,就万事大吉了。

安装cuda系列

安装之前一定要检查一下你的系统驱动版本是否与你将要安装的cuda版本匹配,由于我这里的版本是470.63.01,对应应该装的CUDA版本要高于11.2(包括11.2)。而我这恰好一切都满足,就很顺利,执行一个语句即可:

sudo pacman -S cuda cuda-tools cudnn

结束

现在你的服务器已经搭好了,一切都可以正常使用咯~