ubuntu的终端中输入命令: lspci | grep -i nvidia
,会显示出你的NVIDIA GPU版本信息,不过不是很详细。
安装相关依赖:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
在终端中输入: uname -r
然后查看显示结果是否和自己的要安装要求的一样,下载cuda安装文件的时候,在那个界面的最下方有一个安装指导书( Installation Guide for Linux),按照官网的指导应该是可以正确安装的。
绝大部分人装不上驱动,后面安装不上cuda可能就是系统内核的版本过高,cuda要求系统内核是4.4,而现在的系统是4.15,降低系统内核后,问题一般就解决了
降低系统内核的方法就是直接用新内核替换旧内核,参考链接:
https://favoorr.github.io/2017/02/11/update-kernel-for-ubuntu/
https://oldpan.me/archives/install-cuda9-1-unable-to-locate-the-kernel-source
https://zhuanlan.zhihu.com/p/36979657
sudo apt-get install linux-headers-4.4.0-98-generic linux-image-4.4.0-98-generic
查询目前安装的内核
sudo dpkg --get-selections |grep linux
卸载旧内核
sudo apt remove linux-image-4.15.0-29-generic linux-image-4.15.0-45-generic等
卸载与4.15.0-29和4.15.0-45相关的linux-image*-generic,linux-headers*-generic
sudo update-grub
ls /boot/vmlinuz*
reboot
uname -a
如果上述方法不OK,进入/boot/
, 执行sudo rm -rf *4.15.0-45*
,sudo rm -rf *4.15.0-29*
修改/etc/default/grub中GRUB_DEFAULT="Ubuntu,Linux 4.4.0-98-generic"
最后执行sudo update-grub
来对你之前的设置进行更新
我的sudo dpkg --get-selections |grep linux
结果如下:
换内核后,建议执行以下更新:
sudo apt-get install build-essential
apt-get install linux-source
apt-get source linux-image-$(uname -r)
apt-get install linux-headers-$(uname -r)
终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。
Ubuntu的nouveau禁用方法:
a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf
输入命令:$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf (利用vi编辑器编辑和保存文件),个人觉得应gedit更方便
在文件中输入一下内容:
blacklist nouveau
options nouveau modeset=0
b、执行:sudo update-initramfs -u
c、再执行:lsmod | grep nouveau
若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。如果重复多次还是不行,建议重启电脑查看结果
首先去官网 http://www.nvidia.com/Download/index.aspx?lang=en-us,
查看适合自己显卡的驱动并下载:我的显卡型号是GTX1080 Ti,系统是linux 64位,按照要求选择后点击search.,点击下载就好了。查找的过程中可能需要,不可能点击search没反应
这里我下载的是NVIDIA-Linux-x86_64-418.43.run
安装显卡驱动要先切换到文字界面,(按Ctrl+Alt+F1~F6).所以,启动电脑后,先进入文字界面。然后,输入命令 sudo service lightdm stop
现在可以安装驱动了,进驱动目录 ,然后: sudo sh ./NVIDIA-Linux-x86_64-418.43.run,按照提示一步步来~
此处选择NO
完成后,再次重启电脑。
安装完成之后输入以下指令进行验证: sudo nvidia-smi,若列出了GPU的信息列表则表示驱动安装成功
如果遇到了下图所示的情况,说明驱动装的有问题,先卸载后重新安装
sudo /usr/bin/nvidia-uninstall
CUDA提供两种安装方式:package manager安装和runfile安装,个人觉得runfile安装更方便一点
下载完后,用MD5 检验,如果序号不和,得重新下载
输入命令:md5sum cuda_9.0.176_linux.run
重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按Ctrl+Alt+F1进入文本模式(命令行界面),登录账户。
安装cuda也需要禁用 nouveau驱动和 sudo service lightdm stop
关闭图形化界面
切换到cuda安装文件的路径,执行sudo sh cuda_*_linux.run
,根据提示一步步操作:
选择是否安装nvidia驱动时,一定要选择否: Install NVIDIA,因为前面我们已经安装了更加新的驱动了,所以这里不要选择安装。其余的都直接默认选择是即可。
输入sudo vi /etc/profile
在最后添加
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
并执行sourvc /etc/profile
如果后面使用pythonimport tensorflow
时报错ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory
,大概率是没有添加cuda路径
输入sudo service lightdm start
重新启动图形化界面。
同时按住Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
编译samples例子:
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。
参考链接:
https://blog.csdn.net/qlulibin/article/details/78714596
https://blog.csdn.net/wanzhen4330/article/details/81699769#%E5%A4%8D%E6%9D%82%E7%9A%84%E6%96%B9%E6%B3%95%E2%80%94%E2%80%94%E5%B8%A6%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%AE%89%E8%A3%85%E6%96%B9%E6%B3%95
CUDA默认安装在 /usr/local/cuda-8.0下,用下面的命令卸载::
sudo /usr/local/cuda-8.0/bin/uninstall_cuda-8.0.pl
sudo rm -rf /usr/local/cuda-8.0/
cuda地址:https://developer.nvidia.com/rdp/cudnn-download
下载需要的cudnn,需先登录
下载完cudnn-8.0-linux-x64-v6.0.tar将其解压tar -xf cudnn-8.0-linux-x64-v6.0.tar
,可得到一个名为cuda的文件夹
复制该文件夹下内容至cuda安装路径
cp ./cuda/include/cudnn.h /usr/local/cuda-8.0/include/
cp ./cuda/lib64/* /usr/local/cuda-8.0/lib64/
在后面python倒入tensorflow时,遇到个bug,ImportError: /usr/local/cuda-8.0/lib64/libcudnn.so.6: invalid ELF header
,可能是是由于我在Mac系统下解压的cudnn文件,然后上传到Linux系统,这样导致的bug。直接在Linux系统执行tar -xf cudnn-8.0-linux-x64-v6.0.tar
,解决了问题
想通过Ctrl+Alt+F1到控制台,得到的是黑屏。按Ctrl+Alt+F7可以返回到正常的图形界面。
解决:
1.修改grub文件
sudo gedit /etc/default/grub
在打开的文件里找到找到变量GRUB_CMDLINE_LINUX_DEFAULT,并修改
#GRUP_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUP_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1 nomodeset vga=791"
2.更新grub并重启电脑
sudo update-grub
sudo reboot
输入ifconfig命令查看网卡信息
输入下面命令进行编辑网卡文件sudo vi /etc/network/interfaces
默认的文件内容如下:
auto lo
iface lo inet loopback
现在修改配置文件。修改方式有两种
修改内容如下:下面的enp0s3需要改成自己的网卡名称,就是上面第一步得到的信息。ip地址,掩码网关,dns自己合理配置就行了。记得wq!保存退出。
auto enp0s3
iface enp0s3 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 159.226.39.1 8.8.8.8
auto enp0s3
iface enp0s3 inet dhcp
注意上面的网卡写成自己的网卡名称。记得wq!保存退出。
/etc/init.d/networking restart
service networking restart
reboot
重启电脑后,ifconfig查看配置是否生效。测试ping www.baidu.com
参考链接:
https://blog.csdn.net/stay_zezo/article/details/80718369
https://www.cnblogs.com/yudar/p/4446975.html
ssh: connect to host ****** port 22: Connection refused有以下两种原因
ps -e|grep ssh
如果只出现了一个ssh,说明没有安装,通过sudo apt install openssh-server
安装
service sshd restart
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:GeXlCMdx5LINJhGZ+vEq+G97JqJtEGJ1PnYiZn3l/NE.
Please contact your system administrator.
Add correct host key in /Users/*/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/*/.ssh/known_hosts:9
ECDSA host key for 192.168.227.5 has changed and you have requested strict checking.
Host key verification failed.
解决办法:
在正在操作的机器上执行
vi ~/.ssh/known_hosts
进入此目录,删除的192.168.227.5.**相关rsa的信息即可.
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
通过sudo fdisk -lu
可以看到将要挂载的硬盘
因fdisk分区最大只能2T,所以这里使用parted来分区.
执行命令parted /dev/sdX
,X替换成自己的盘符,这里以sdb为例
mcg@mcg:~$ sudo parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sdb: unrecognised disk label
Model: LSI MRSASRoMB-8i (scsi)
Disk /dev/sdb: 4000GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) mklabel gpt
(parted) print
Model: LSI MRSASRoMB-8i (scsi)
Disk /dev/sdb: 4000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
(parted) quit
Information: You may need to update /etc/fstab.
格式化新硬盘: sudo mkfs.ext4 /dev/sdb1
创建硬盘将挂载位置:sudo mkdir /media/sdb1
挂载分区:sudo mount /dev/sdb1 /media/sdb1
查看磁盘分区的UUID:sudo blkid
/dev/sda1: UUID="a3d6a764-6c22-4c5a-b46c-08af57eecb6c" TYPE="ext4" PARTUUID="608683da-01"
/dev/sda5: UUID="2dbbd27f-cf0d-4af4-906d-5a1ab91e4000" TYPE="swap" PARTUUID="608683da-05"
/dev/sdb1: UUID="e4a6735c-bede-4baf-acd5-b5f2efb92678" TYPE="ext4" PARTLABEL="primary" PARTUUID="60873b4f-a21e-485b-9987-d8a59473a0b0"
/dev/sdc1: UUID="4d6e16bf-e399-42f0-a063-1960abc4bf7c" TYPE="ext4" PARTLABEL="primary" PARTUUID="5b94dc17-7646-4ce3-b8c2-7ec2c677b78f"
配置开机自动挂载:sudo vim /etc/fstab
因为mount命令会在重启服务器后失效,所以要将分区信息写到/etc/fstab文件中让它永久挂载:
加入:
UUID=e4a6735c-bede-4baf-acd5-b5f2efb92678 /media/sdb1 ext4 defaults 0 1
指令的具体说明:
具体说明,以挂载/dev/sdb1为例:
:分区定位,可以给UUID或LABEL,例如:UUID=6E9ADAC29ADA85CD或LABEL=software
:具体挂载点的位置,例如:/data
:挂载磁盘类型,linux分区一般为ext4,windows分区一般为ntfs
:挂载参数,一般为defaults
:磁盘检查,默认为0
:磁盘检查,默认为0,不需要检查
重启系统:
修改完/etc/fstab文件后,运行sudo mount -a
,命令验证一下配置是否正确。如果配置不正确可能会导致系统无法正常启动。然后重启系统
重启系统后,通过df -lh
可以看出新挂载的硬盘:
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 11M 13G 1% /run
/dev/sda1 228G 15G 202G 7% /
tmpfs 63G 200K 63G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sdc1 2.7T 73M 2.6T 1% /media/sdc1
/dev/sdb1 3.6T 68M 3.4T 1% /media/sdb1
tmpfs 13G 28K 13G 1% /run/user/108
tmpfs 13G 0 13G 0% /run/user/1000
参考链接:
https://www.cnblogs.com/EasonJim/p/7447000.html
步骤一,输入下述命令以卸载vim-tiny:
sudo apt-get remove vim-common
步骤二,输入下述命令以安装vim-full:
sudo apt-get install vim
参考链接:https://blog.csdn.net/xiangwanpeng/article/details/54341229
首先用adduser命令添加一个普通用户,命令如下:
#adduser tommy //添加一个名为tommy的用户
#passwd tommy //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
修改sudo vi /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
打开chrome浏览器,进去https://gw.ict.ac.cn/srun_portal_pc.php?ac_id=1&,右键,进入检查,将脚本粘贴到 “console”里面,回车
var qData = {"action": "login", "username": "xxx", "password": "xxxxxx", "ac_id": "1", "ip":"x.x.x.x"}
$.getJSON("https://gw.ict.ac.cn/cgi-bin/srun_portal", qData, function(data) {
if (data.error == "ok") {
$.cookie('access_token', data.access_token)
location.href = location.protocol + "//" + location.hostname + "/srun_portal_pc_succeed.php?ac_id=1&username=xxx&ip=x.x.x.x&access_token="+data.access_token
}
})
将username password ip换成自己的