Ubuntu 16.04版本,顯卡:GeForce GTX 1070
1.系統(tǒng)安裝
- 參考:https://blog.csdn.net/gent__chen/article/details/48713991
- 硬盤500G分區(qū)方案:
根目錄:102400MB
交換空間:10240MB
/boot:10240MB(boot文件用于存放系統(tǒng)引導文件和內(nèi)核闯袒,Linux內(nèi)核更新后,可釋放磁盤空間)
/home: 389120MB
2.顯卡驅(qū)動
- 一種方法是通過ppa源安裝运翼,但這種方法對我來說不管用辙浑,我使用了高版本和低版本驅(qū)動都不行??升略。
- 使用run方式安裝偎巢,成功蔼夜,僅限跟我同版本的服務(wù)器。
(1)從NVIDIA官網(wǎng)下載驅(qū)動
這里我選擇了NVIDIA-Linux-x86_64-410.78.run
下載艘狭,可以嘗試更高版本挎扰。
(2)終端卸載已經(jīng)存在的驅(qū)動
sudo apt-get purge nvidia*
這種方法卸載不了翠订,可以使用一下語句卸載
sudo service lightdm stop
sh ./NVIDIA-Linux-x86_64-410.78.run --uninstall
sudo service lightdm start
參考:https://blog.csdn.net/WILLIAMMMS/article/details/80791756
(3)禁用第三方開源的驅(qū)動程序nouveau
打開
sudo gedit /etc/modprobe.d/blacklist.conf
在文件末端加入
blacklist nouveau
options nouveau modeset=0
更新系統(tǒng)巢音,使禁用 nouveau 真正生效
sudo update-initramfs -u
最后重啟系統(tǒng)。
重啟系統(tǒng)后尽超,在終端輸入命令lsmod | grep nouveau
查看是否被禁用(輸入命令后官撼,沒有打印任何信息,即禁用成功)似谁。
(4)關(guān)閉桌面服務(wù)
圖形化界面按住ctrl+alt+(F1~F6的其中一個)進入命令行模式輸入用戶名和密碼傲绣,然后在輸入sudo service lightdm stop
。
(5)安裝驅(qū)動run文件
賦予執(zhí)行權(quán)限sudo chmod a+x NVIDIA-Linux-x86_64-410.78.run
安裝sudo ./NVIDIA-Linux-x86_64-410.78.run
安裝最好使用 sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files
(避免循環(huán)登錄)
在安裝過程中巩踏,出現(xiàn)的問題秃诵,參考:https://blog.csdn.net/lihe4151021/article/details/90083431。
(6)重啟后塞琼,nvidia-smi
命令檢查是否安裝成功菠净,出現(xiàn)下圖,證明驅(qū)動安裝成功。
3.安裝cuda和cudnn(官網(wǎng)需注冊賬號)
參考教程:https://blog.csdn.net/j879159541/article/details/93590342
cuda就是下載的教程中的10.0版本毅往,下載地址https://developer.nvidia.com/cuda-toolkit-archive
-
進入官方下載界面牵咙,選擇:
- 安裝cuda_10.0.130_410.48_linux.run
sudo sh cuda_10.0.130_410.48_linux.run
安裝過程中出現(xiàn)下列選項:
- 剩余安裝步驟參考教程
- 最后需要重啟后,再輸入
nvcc -V
和nvcc --version
出現(xiàn)下列界面攀唯,安裝成功
對應cudnn下載的7.4.2版本洁桌,下載地址:https://developer.nvidia.com/rdp/cudnn-archive
4.更換清華鏡像源
- 首先備份原配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
-將sources.list中內(nèi)容注釋掉,換成清華鏡像源
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
- 更新
sudo apt-get update
5.安裝anaconda3
- 教程:https://blog.csdn.net/huangjuegeek/article/details/73556763
- 在安裝anaconda3之后侯嘀,默認鏡像還是國外的官方進行另凌,這里換成國內(nèi)鏡像速度會快很多。鏡像地址和命令:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
- 在jupyter notebook中添加conda環(huán)境 https://blog.csdn.net/qq_29936933/article/details/83089198
6.安裝搜狗輸入法
sudo apt-get upgrade 這個指令千萬別亂用啊戒幔,都是淚??
參考:
https://zhuanlan.zhihu.com/p/57868480
http://www.reibang.com/p/cafe12618293
https://blog.csdn.net/areigninhell/article/details/79696751
7. 安裝teamviewer
- 官方下載網(wǎng)址(https://www.teamviewer.cn/cn/download/linux/)途茫,找到相應版本下載,要下載最新版溪食,不然之后總會讓你更新囊卜。
- 32位系統(tǒng)需要添加依賴包(64位不用添加)
sudo apt-get install libjpeg62:i386 libxinerama1:i386 libxrandr2:i386 libxtst6:i386 ca-certificates
- 安裝deb軟件包
sudo dpkg -i teamviewer_amd64.deb
安裝過程中出現(xiàn)下圖所示錯誤,缺少依賴關(guān)系错沃。執(zhí)行下面命令修復
sudo apt-get install -f
再執(zhí)行sudo dpkg -i teamviewer_amd64.deb
栅组,顯示如下即安裝成功。
- 停止teamviewer
sudo teamviewer --daemon stop
- 修改配置文件
vim /opt/teamviewer/config/global.conf
在配置文件末尾添加:
[int32] EulaAccepted = 1
[int32] EulaAcceptedRevision = 6
保存退出(wq)后枢析,cat global.conf
查看是否修改成功玉掸。
- 啟動teamviewer
sudo teamviewer --daemon start
- 獲取Teamviewer ID
teamviewer --info print id
- 設(shè)置teamviewer 密碼
sudo teamviewer --passwd [PASSWORD]
8.安裝有道詞典
參考教程:https://www.cnblogs.com/TooyLee/p/7750002.html
Ubuntu18.04版本,顯卡:GeForce GTX 1080Ti
1. 安裝VNC遠程桌面
在學校局域網(wǎng)內(nèi)醒叁,使用VNC速度快司浪,使用流暢,但只能在同一局域網(wǎng)內(nèi)使用把沼。
對于Ubuntu18.04的安裝過程如下:
- 安裝xfce4遠程桌面
sudo apt-get install xfce4
- 安裝VNCServer
sudo apt-get install vnc4server
- 安裝成功后啊易,設(shè)置登錄密碼
vncpasswd
- 運行vncserver,系統(tǒng)默認創(chuàng)建了VNC的xstartup配置文件
vncserver
- 通過
ps -ef | grep vnc
查看已用端口(剛剛開啟的端口)饮睬,并殺死
vncserver -kill :2
- 修改~/.vnc/xstartup配置文件
vim ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
- 重新啟動
vncserver
- 修改分辨率(先要殺死相應端口
vncserver -kill :5
)
vncserver -geometry 1920x1080 :5
為避免重啟后失效租谈,可以修改配置文件vi /usr/bin/vncserver
$geometry = "1920x1080"; #可以修改分辨率
$depth = 16;
2、雙網(wǎng)卡不能聯(lián)網(wǎng)問題
- 查看已有以太網(wǎng)端口
ifconfig
- 確定連接外網(wǎng)的端口捆愁,我的是eno1割去,執(zhí)行
sudo dhclient eno1
出現(xiàn)RTNETLINK answers: File exist
- 更新
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install vim
- 在
sudo vim /etc/network/interfaces
中添加:
auto lo
iface lo inet loopback
- 接下來執(zhí)行
sudo ifdown eno1 && sudo ifup eno1
最后用ifconfig
檢查新的網(wǎng)址是否工作。
Ubuntu 16.04版本昼丑,顯卡:Tesla k40c
1. 顯卡驅(qū)動
Tesla k40c 需要在NVIDIA官網(wǎng)下載驅(qū)動呻逆,網(wǎng)址:https://www.nvidia.cn/Download/index.aspx?lang=cn。下載具體信息:
這里下載了NVIDIA-Linux-x86_64-440.33.01.run菩帝,440的顯卡自帶CUDA咖城,不需要再重新安裝憔足。
裝機小tips
1. 裝機時輸入法設(shè)置成中文,改成英文酒繁。
Ctrl+Alt+T 進入終端
cd /etc/default
sudo vim locale
將
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
改為
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
- reboot
2. 本地打開服務(wù)器端Tensorboard
- 首先在服務(wù)器端
tensorboard --logdir=logs
一下滓彰,查看端口號(一般為6006
)。 - 本地終端輸入
ssh -L 16006:127.0.0.1:6006 user@XXX.XXX.XX.XX
即將遠程服務(wù)器端的6006端口轉(zhuǎn)發(fā)到本地的16006端口州袒,在本地對16006端口的訪問即是對遠程6006端口的訪問揭绑。之后輸入
tensorboard --logdir=logs
- 本地訪問地址
http://127.0.0.1:16006/
3.使用阿里云(外網(wǎng))服務(wù)器配置反向端口轉(zhuǎn)發(fā)
機器 | IP | 用戶名 |
---|---|---|
A(外網(wǎng)阿里云服務(wù)器) | remote-host | zhr |
B(內(nèi)網(wǎng)實驗室服務(wù)器) | inner-host | ouc02 |
(1)ssh 參數(shù)
-f 后臺執(zhí)行ssh指令
-C 允許壓縮數(shù)據(jù)
-N 不執(zhí)行遠程指令
-R 將遠程主機(服務(wù)器)的某個端口轉(zhuǎn)發(fā)到本地端指定機器的指定端口
-L 將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口
-p 指定遠程主機的端口
反向代理ssh -fCNR
正向代理ssh -fCNL
(2)配置步驟
- 在阿里云端開啟幾個端口,這里綁定了7280郎哭,7281他匪,7282三個。
- 在B上建立內(nèi)網(wǎng)到外網(wǎng)的反向代理
在B(內(nèi)網(wǎng)實驗室服務(wù)器)上輸入ssh -fCNR 7280:localhost:22 zhr@remote-host
夸研,其中7280是阿里云服務(wù)器綁定端口號邦蜜,22是實驗室服務(wù)器固定端口號。
在B上輸入ps aux | grep ssh
查看是否啟動亥至。
在A阿里云端輸入netstat -tln
或者netstat -anltp |grep 7280
查看反向代理連接是否成功悼沈。
ouc02@ouc02-X10SRA:~$ ssh -fCNR 7280:localhost:22 zhr@remote-host
ouc02@ouc02-X10SRA:~$ ps aux | grep ssh
root 1206 0.0 0.0 65512 6184 ? Ss Mar27 0:00 /usr/sbin/sshd -D
root 10484 0.0 0.0 94928 6884 ? Ss 20:42 0:00 sshd: ouc02 [priv]
ouc02 10551 0.0 0.0 94928 3384 ? S 20:42 0:00 sshd: ouc02@pts/20
root 11169 0.0 0.0 95016 7124 ? Ss 20:58 0:00 sshd: ouc02 [priv]
ouc02 11263 0.0 0.0 95016 3324 ? S 20:58 0:00 sshd: ouc02@pts/27
root 11770 0.0 0.0 95016 7044 ? Ss 21:07 0:00 sshd: ouc02 [priv]
ouc02 11795 0.0 0.0 95016 3416 ? S 21:08 0:00 sshd: ouc02@pts/26
ouc02 2137 0.0 0.0 45340 3780 ? Ss Mar27 0:06 ssh -fCNR 7280:localhost:22 zhr@remote-host
root 14272 0.0 0.0 94928 6860 ? Ss Mar28 0:00 sshd: sqw [priv]
sqw 14341 0.0 0.0 94928 3180 ? S Mar28 0:00 sshd: sqw@pts/13
root 14697 0.0 0.0 94928 6924 ? Ss Mar28 0:00 sshd: sqw [priv]
sqw 14767 0.0 0.0 94928 3188 ? S Mar28 0:00 sshd: sqw@pts/17
root 17631 0.0 0.0 94904 6848 ? Ss Mar28 0:00 sshd: sqw [priv]
sqw 17662 0.0 0.0 94904 3996 ? S Mar28 0:00 sshd: sqw@pts/22
zhr@iZ2ze37:~$ netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:7280 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
zhr@iZ2ze37:~$ netstat -anltp |grep 7280
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:7280 0.0.0.0:* LISTEN -
- 在A上建立正向代理,用來做轉(zhuǎn)發(fā)
在A(阿里云服務(wù)器)上輸入ssh -fCNL *:7281:localhost:7280 localhost
姐扮,其中7281是A負責監(jiān)聽外網(wǎng)的端口絮供,即外網(wǎng)通過7281端口訪問;7280是A用以轉(zhuǎn)發(fā)請求的端口茶敏,內(nèi)網(wǎng)的B服務(wù)器連接到該接口并接受A的轉(zhuǎn)發(fā)數(shù)據(jù)壤靶,實現(xiàn)從其他機器訪問。
zhr@iZ2ze37:~$ ssh -fCNL *:7281:localhost:7280
zhr@iZ2ze37:~$ ps aux | grep ssh
root 816 0.0 0.3 59432 6188 ? Ss Mar29 0:00 /usr/sbin/sshd -D
root 1058 0.0 0.3 96032 6752 ? Ss Mar29 0:00 sshd: zhr [priv]
zhr 1077 0.1 0.2 96488 5592 ? S Mar29 1:52 sshd: zhr
root 16004 0.0 0.3 96000 6800 ? Ss Mar29 0:00 sshd: zhr [priv]
zhr 16022 0.2 0.2 97080 6000 ? S Mar29 2:57 sshd: zhr
root 17792 0.0 0.3 96032 6792 ? Ss Mar29 0:00 sshd: zhr [priv]
zhr 17794 0.0 0.1 37640 3312 ? Ss Mar29 0:02 ssh -fCNL *:7281:localhost:7280 localhost
zhr 17811 0.0 0.2 96304 5476 ? S Mar29 0:02 sshd: zhr
root 17992 0.0 0.3 96004 6896 ? Ss Mar29 0:00 sshd: zhr [priv]
zhr 18010 0.0 0.2 96556 5536 ? S Mar29 0:02 sshd: zhr
root 18775 0.0 0.3 96032 6752 ? Ss 10:23 0:00 sshd: zhr [priv]
zhr 18793 0.0 0.1 96032 3324 ? S 10:23 0:00 sshd: zhr@pts/2
root 18824 0.0 0.3 96032 6968 ? Ss 10:49 0:00 sshd: zhr [priv]
zhr 18842 0.0 0.1 96032 3416 ? S 10:49 0:00 sshd: zhr@pts/3
zhr 18865 0.0 0.0 14196 936 pts/3 S+ 10:49 0:00 grep --color=auto ssh
- 連接
配置好A和B機器惊搏,就可以從任意一部外網(wǎng)電腦登陸到B(內(nèi)網(wǎng)實驗室機器)了贮乳。這里我直接從A阿里云外網(wǎng)服務(wù)器連接到B。
zhr@iZ2ze37:~$ ssh -p7281 ouc02@remote-host
ouc02@remote-host's password:
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
171 packages can be updated.
0 updates are security updates.
Last login: Sun Mar 29 22:15:45 2020 from 127.0.0.1
(3)免密碼登錄到B
設(shè)置免密碼登錄到內(nèi)網(wǎng)實驗室服務(wù)器
在B上設(shè)置ssh-copy-id zhr@remote-host
(4)建立穩(wěn)定隧道
上述方法并不穩(wěn)定恬惯,超時就會斷開向拆。故通過autossh建立穩(wěn)定隧道,防止超時斷開宿崭。
注意: ssh認第一個輸入指令亲铡,autossh前清掉之前的ssh命令(直到連接不上)才写,否則連接會斷葡兑。
- 在B(內(nèi)網(wǎng)實驗室服務(wù)器)安裝autossh(已安裝的略過)
sudo apt-get -y install autossh
- B終端輸入
autossh -M 7282 -fCNR 7280:localhost:22 -o ServerAliveInterval=60 -o TCPKeepAlive=yes zhr@remote-host
ouc02@ouc02-X10SRA:~$ autossh -M 7282 -fCNR 7280:localhost:22 -o ServerAliveInterval=60 -o TCPKeepAlive=yes zhr@remote-host
ouc02@ouc02-X10SRA:~$ ps aux | grep ssh
root 1206 0.0 0.0 65512 6184 ? Ss Mar27 0:00 /usr/sbin/sshd -D
root 5894 0.0 0.0 95016 6880 ? Ss 04:13 0:00 sshd: ouc02 [priv]
ouc02 5923 0.0 0.0 95016 3432 ? S 04:13 0:00 sshd: ouc02@pts/19
ouc02 6775 0.0 0.0 4372 84 ? Ss 05:32 0:00 /usr/lib/autossh/autossh -M 7282 -CNR 7280:localhost:22 -o ServerAliveInterval=60 -o TCPKeepAlive=yes zhr@remote-host
ouc02 6776 0.0 0.0 45556 6176 ? S 05:32 0:03 /usr/bin/ssh -L 7282:127.0.0.1:7282 -R 7282:127.0.0.1:7283 -CNR 7280:localhost:22 -o ServerAliveInterval=60 -o TCPKeepAlive=yes zhr@remote-host
root 8252 0.0 0.0 94928 6756 ? Ss 09:51 0:00 sshd: ouc02 [priv]
ouc02 8277 0.0 0.0 94928 3252 ? S 09:51 0:00 sshd: ouc02@pts/23
root 8684 0.0 0.0 94928 6816 ? Ss 09:56 0:00 sshd: ouc02 [priv]
ouc02 8709 0.0 0.0 94928 3388 ? S 09:56 0:00 sshd: ouc02@pts/24
root 8882 0.0 0.0 94928 6904 ? Ss 10:05 0:00 sshd: ouc02 [priv]
ouc02 8907 0.0 0.0 94928 3292 ? S 10:05 0:00 sshd: ouc02@pts/25
ouc02 11795 0.0 0.0 95016 3416 ? S 21:08 0:00 sshd: ouc02@pts/28
root 11971 0.0 0.0 94928 6892 ? Ss 21:22 0:00 sshd: ouc02 [priv]
ouc02 14054 0.0 0.0 94928 3312 ? S 23:31 0:00 sshd: ouc02@pts/34
root 14098 0.0 0.0 94928 6744 ? Ss 23:33 0:00 sshd: ouc02 [priv]
ouc02 14123 0.0 0.0 94928 3392 ? S 23:34 0:00 sshd: ouc02@pts/35
ouc02 14171 0.0 0.0 21264 968 pts/35 S+ 23:34 0:00 grep --color=auto ssh
(5)配置開機自啟
以下寫入 /etc/rc.local 的 exit 0 之前
su - lab-user -c autossh -M 7281 -fCNR 7280:localhost:22 -o ServerAliveInterval=60 -o TCPKeepAlive=yes zhr@remote-host
賦予可執(zhí)行權(quán)限
sudo chmod +x /etc/rc.local
參考:http://www.reibang.com/p/abeb63711e37
http://www.fanyingjie.com/cn/2019/11/ssh_proxy/