说明
- 水冷的选择: 今天安装的时候听师傅说海魔120漏液他碰到两个case, 整个机器都毁了… 吓得我决定最近买个海盗船…
1 内容
1.1 硬件安装
小机箱 or 大机箱
- 小机器是在是耗费蛮大,水冷说最多3年就差不多了
- 大机箱可以用风冷,怎么说也比较安全
1.2 系统安装
点亮后进行系统安装
1.3 ssh连接
直接在机器上操作比较麻烦,因此先切换到远程(假设新机器代号m5),在这一步尽量使用普通用户安装
- 1 修改root用户密码
- 2 更换镜像源
apt_source_set.sh
,参考我的这篇文章 - 3 安装网络工具,查看ip
sudo apt install net-tools
(不晓得为啥,我竟然需要重启一下才能安装)。查到的ip地址为192.168.1.75
- 4 安装sshd(这样m5就提供了ssh登录服务)。
- 先用
whereis sshd
查一下,结果应该为sshd:
- 使用命令安装
sudo apt-get install openssh-server
, 再查询时
- 先用
m5@m5-desktop:~$ whereis sshd
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz
此时在远端(局域网内)就可以直接ssh登录了
$ ssh m5@192.168.1.75
The authenticity of host '192.168.1.75 (192.168.1.75)' can't be established.
ECDSA key fingerprint is SHA256:27b4bsNPUmQ4wg6Dd71a+FER3+LuTn0+uKrW3YYxjNk.
Are you sure you want to continue connecting (yes/no)? yes
---
按提示输入密码就好了
以下均可以在远端m0上操作。
1.4 远端操作
1.4.1 配置root免密登录
这部分可以参考我的这篇文章
切换至root目录,考入公钥。
cd /root && mkdir .ssh && cd .ssh
echo "ssh-rsa xxx" >authorized_keys
配置连接时长
#!/bin/bash
echo "PermitRootLogin prohibit-password">>/etc/ssh/sshd_config
echo "MaxAuthTries 6">>/etc/ssh/sshd_config
echo "ClientAliveInterval 60">>/etc/ssh/sshd_config
echo "ClientAliveCountMax 10">>/etc/ssh/sshd_config
# 重启sshd
systemctl restart sshd.service
此时退出后就可以免密登录了
ssh root@192.168.1.75
1.4.2 安装显卡驱动
此部分主要参考我的这篇文章
这次发现了显卡的驱动(估计是在装系统的时候自带的)
┌─root@m5-desktop:~
└─ $ lsmod | grep nouveau
nouveau 1892352 0
mxm_wmi 16384 1 nouveau
ttm 102400 1 nouveau
drm_kms_helper 180224 1 nouveau
drm 483328 3 drm_kms_helper,ttm,nouveau
i2c_algo_bit 16384 2 igb,nouveau
wmi 32768 3 wmi_bmof,mxm_wmi,nouveau
video 49152 1 nouveau
要先禁用驱动再安装,参考
sudo vim /etc/modprobe.d/blacklist.conf
,增加内容
blacklist nouveau
options nouveau modeset=0
#禁用nouveau第三方驱动,之后也不需要改回来
然后重启
sudo update-initramfs -u #刷新内核
成功了,没出什么幺蛾子
┌─root@m5-desktop:~
└─ $ lsmod | grep nouveau
---无输出
使用ubuntu-drivers命令,无输出
┌─root@m5-desktop:~
└─ $ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.2/0000:03:06.0/0000:08:00.0 ==
modalias : pci:v00008086d000024FBsv00008086sd00002110bc02sc80i00
vendor : Intel Corporation
manual_install: True
driver : backport-iwlwifi-dkms - distro free
参考这篇文章
add-apt-repository ppa:graphics-drivers/ppa
apt-get update
apt-get install nvidia-430 nvidia-settings nvidia-prime
然而没有什么用。可能是因为3060ti太新了?
先找到驱动(真的是有一个版本驱动…),拷到对应文件夹下后执行
┌─root@m5-desktop:~/downloads
└─ $ ls
NVIDIA-Linux-x86_64-455.45.01.run
# 执行安装
chmod a+x NVIDIA-Linux-x86_64-455.45.01.run
sh ./NVIDIA-Linux-x86_64-455.45.01.run --no-opengl-files
过程报错要安装gcc和make。
gcc ,参考
make,参考
apt-get install ubuntu-make
sudo apt-get install make
手动安装驱动的问题可以参考这篇文章,谜一般的安装
我这里跳过了gcc的版本校验,因为apt默认只能7.5的gcc, 7.4的安装太麻烦了。
简而言之,就是英伟达驱动使用的gcc和你机器上的有着不同的版本。一般来说,如果是同一个gcc的分支,如在这里遇到的7.4.0和7.5.0,使用上应该不会有太大区别。
强行安装后,可以看到驱动安装成功,显示没有进程在使用(因为之前按telinit 3
打算打开无显示界面编辑,结果屏幕黑了,还好我可以远程):
nvidia-smi
重新启动后再执行nvidia-smi
,可以看到这时候有输出占用了显卡的显存。
1.4.3 安装CUDA
理论上驱动越高越好
目前3060ti只有一款驱动,所以试试看之前的CUDA10.0 + CuDNN7.6.5组合是否依然好用。为了避免重新下载,我选择将之前m1已经下好的文件转移到m5上。
因为m1是有线网络,下行速度很快
cuda_10.0.130_410.48_linux.run 100% 1927MB 11.4MB/s 02:48
m5是无线网络,速度特别慢(1MB/S)
在终端使用sudo telinit 3
关掉显示后,可以从nvida-smi
看到确实生效了
拷贝完毕后进入相关目录,执行
chmod a+x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run --no-opengl-libs
按着D快速下滑,接受EULA。
选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。
安装过程有缺失包
-----------------
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: no
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: yes
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yes
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: yes
Enter CUDA Samples Location
[ default is /root ]:
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Missing recommended library: libGLU.so
Missing recommended library: libX11.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
Missing recommended library: libGL.so
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /root, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
Logfile is /tmp/cuda_install_3743.log
暂时忽略几个库(有一说是安装了依赖库再执行一次cuda安装)
最后将cuda加入环境变量vim ~/.bashrc
export PATH="/usr/local/cuda-10.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
执行source ~/.bashrc
之后查看,有输出就可以了
┌─root@m5-desktop:~/downloads/cuda_file
└─ $ cat /usr/local/cuda/version.txt
CUDA Version 10.0.130
1.4.4 cudnn安装
先把文件拷贝到位置
┌─root@m5-desktop:~/downloads/cudnn_file
└─ $ ls
cudnn-10.0-linux-x64-v7.6.5.32.tgz
依次执行命令
# 1 解压缩 ,这里的安装包需要替换为自己下载的版本
$ tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
# 2 复制到其他位置
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 3 修改文件权限
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
然后添加环境变量
$ vim ~/.bashrc
加入:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
$ source ~/.bashrc
使环境设置生效
验证是否安装成功
┌─root@m5-desktop:~/downloads/cudnn_file
└─ $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
1.4.5 测试tensorflow
归根到底还是要用来进行计算的
# 1 安装python
apt-get install python3.6
# 2 安装pip3
apt-get install python3-pip
# 3 安装指定的tensorflow
pip3 install -i https://pypi.douban.com/simple/ tensorflow_gpu==1.14
打开终端并执行计算python3
import tensorflow as tf
hello=tf.constant('hello,world')
sess=tf.Session()
print(sess.run(hello))
总算结束了
关于3060TI:
之后会和以前的老卡比比效果