内网安装深度学习环境
安装操作系统
- 下载Ubuntu 18.04
- 安装Ubuntu 18.04
安装ssh
下载ssh
$ apt-get download openssh-client $ apt-get download openssh-server $ apt-get download openssh-sftp-server
安装ssh
$ dpkg -i *.deb
安装gcc
查看gcc的依赖
$ apt-get install -s gcc
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-7 gcc-7 gcc-7-base libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpfr6 libmpx2 libquadmath0 libtsan0 libubsan0 linux-libc-dev manpages manpages-dev Suggested packages: binutils-doc cpp-doc gcc-7-locales gcc-multilib make autoconf automake libtool flex bison gdb gcc-doc gcc-7-multilib gcc-7-doc libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg glibc-doc man-browser The following NEW packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-7 gcc gcc-7 gcc-7-base libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpfr6 libmpx2 libquadmath0 libtsan0 libubsan0 linux-libc-dev manpages manpages-dev 0 upgraded, 29 newly installed, 0 to remove and 10 not upgraded. Inst manpages (4.15-1 Ubuntu:18.04/bionic [all]) Inst binutils-common (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libbinutils (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst binutils-x86-64-linux-gnu (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst binutils (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst gcc-7-base (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libisl19 (0.19-1 Ubuntu:18.04/bionic [amd64]) Inst libmpfr6 (4.0.1-1 Ubuntu:18.04/bionic [amd64]) Inst libmpc3 (1.1.0-1 Ubuntu:18.04/bionic [amd64]) Inst cpp-7 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst cpp (4:7.3.0-3ubuntu2.1 Ubuntu:18.04/bionic-updates [amd64]) Inst libcc1-0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libgomp1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libitm1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libatomic1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libasan4 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst liblsan0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libtsan0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libubsan0 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libcilkrts5 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libmpx2 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libquadmath0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst libgcc-7-dev (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst gcc-7 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Inst gcc (4:7.3.0-3ubuntu2.1 Ubuntu:18.04/bionic-updates [amd64]) Inst libc-dev-bin (2.27-3ubuntu1 Ubuntu:18.04/bionic [amd64]) Inst linux-libc-dev (4.15.0-46.49 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64]) Inst libc6-dev (2.27-3ubuntu1 Ubuntu:18.04/bionic [amd64]) Inst manpages-dev (4.15-1 Ubuntu:18.04/bionic [all]) Conf manpages (4.15-1 Ubuntu:18.04/bionic [all]) Conf binutils-common (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libbinutils (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf binutils-x86-64-linux-gnu (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf binutils (2.30-21ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf gcc-7-base (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libisl19 (0.19-1 Ubuntu:18.04/bionic [amd64]) Conf libmpfr6 (4.0.1-1 Ubuntu:18.04/bionic [amd64]) Conf libmpc3 (1.1.0-1 Ubuntu:18.04/bionic [amd64]) Conf cpp-7 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf cpp (4:7.3.0-3ubuntu2.1 Ubuntu:18.04/bionic-updates [amd64]) Conf libcc1-0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libgomp1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libitm1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libatomic1 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libasan4 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf liblsan0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libtsan0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libubsan0 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libcilkrts5 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libmpx2 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libquadmath0 (8.2.0-1ubuntu2~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf libgcc-7-dev (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf gcc-7 (7.3.0-27ubuntu1~18.04 Ubuntu:18.04/bionic-updates [amd64]) Conf gcc (4:7.3.0-3ubuntu2.1 Ubuntu:18.04/bionic-updates [amd64]) Conf libc-dev-bin (2.27-3ubuntu1 Ubuntu:18.04/bionic [amd64]) Conf linux-libc-dev (4.15.0-46.49 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64]) Conf libc6-dev (2.27-3ubuntu1 Ubuntu:18.04/bionic [amd64]) Conf manpages-dev (4.15-1 Ubuntu:18.04/bionic [all])
下载gcc及依赖包
$ apt-get download binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-7 gcc-7 gcc-7-base libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpfr6 libmpx2 libquadmath0 libtsan0 libubsan0 linux-libc-dev manpages manpages-dev gcc
安装gcc
$ dpkg -i *.deb
安装make
下载make
apt-get download make
安装make
dpkg -i *.deb
安装Nvidia GPU驱动
禁⽤nouveau驱动
编辑配置文件
$ nano /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau options nouveau modeset=0
让配置内容生效
$ sudo update-initramfs -u
重启计算机
$ reboot
验证禁用nouveau驱动是否成功
查看没有任何信息,代表禁⽤成功 $ lsmod | grep nouveau
-
$ wget https://cn.download.nvidia.cn/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run
安装Nvidia GPU驱动
$ sh NVIDIA-Linux-x86_64-418.56.run
安装Docker-CE
下载安装包
$ wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/containerd.io_1.2.2-3_amd64.deb $ wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce-cli_18.09.2~3-0~ubuntu-bionic_amd64.deb $ wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce_18.09.2~3-0~ubuntu-bionic_amd64.deb
安装Docker-CE
dpkg -i *.deb
安装nvidia-docker2
nvidia-docker2
$ apt-get download nvidia-container-runtime nvidia-docker2
安装nvidia-docker2
$ dpkg -i *.deb
重新启动Docker daemon
$ systemctl restart docker
验证容器内使用GPU
摘取镜像
$ docker pull nvidia/cuda:9.0-base
镜像保存为tar包
$ docker save -o cuda9.0-base.tar nvidia/cuda:9.0-base
导入镜像到内网机
$ docker load -i cuda9.0-base.tar
运行容器查看GPU信息
$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi