1、nvidia驱动安装
# 在系统加⼊入 Nvidia 驱动的官⽅方 ppa
sudo add-apt-repository ppa:graphics-drivers/ppa
# 更新源
sudo apt update
# 安装 nvidia驱动 推荐安装nvidia-418版本驱动
#或者可以使用以下命令获取合适的驱动
ubuntu-drivers devices
sudo apt install nvidia-418
2、cuda安装
#此版本为9.0
# 下载 cuda 元数据包
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb -O cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
# 安装该包
sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
# 添加 nvidia 的公钥
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub`
sudo apt update
sudo apt install cuda-9-0
3、cudnn安装
# 确保源配置⽂文件夹已存在
sudo mkdir -p /etc/apt/sources.list.d/
# 写⼊入 cudnn 源地址
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list'
#(http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64)(此为网络访问地址,但在导入apt源时需要加上后面的空格和/)
sudo apt update
# 安装 CUDNN7 for CUDA 9.0 目前最新版本为7.6.3.30, 其他版本cuda的对应cudnn可以去上面的网址找
sudo apt install libcudnn7=7.6.3.30-1+cuda9.0
4、docker 安装
可查看菜鸟教程
#更换国内软件源,推荐中国科技大学的源,稳定速度快(可选)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
#安装需要的包
sudo apt install apt-transport-https ca-certificates software-properties-common curl
#添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
#更新源
sudo apt update
#安装 Docker-ce
sudo apt install docker-ce
#设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)
sudo systemctl enable docker
sudo systemctl start docker
#测试运行
sudo docker run hello-world
#添加当前用户到 docker 用户组,可以不用 sudo 运行 docker(可选)
sudo groupadd docker
sudo usermod -aG docker $USER
#测试添加用户组(可选)
docker run hello-world
5、nvidia-docker2 安装
github nvidia/nvidia-docker
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
#当运行 测试时, nvidia runtime可能不存在,需要安装nvidia-container-runtime
sudo apt install nvidia-container-runtime
#还可能需要配置docker的daemon.json文件,一般在/etc/docker目录下,如果在/etc/docker目录下不存在daemon.json文件,则创建一个,一般情况下的配置如下:
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"graph": "/home/znxj/dockerRootDir"
}
#其中graph后面的配置是指docker的内容存储根目录,建议选择一个空间大的位置创建
6、docker简单命令
#查看所有的docker容器
docker ps -a
#查看所有的本地docker镜像
docker images
#保存docker镜像为文件 和 从文件导入docker镜像
docker save 镜像名称 > 文件路径
docker load < 文件路径
#docker容器停止、启动、重启、删除(删除时要求停止容器)
docker stop 容器id/容器名称
docker start 容器id/容器名称
docker restart 容器id/容器名称
docker rm 容器id/容器名称
#将修改后的容器保存为镜像
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
-m表示保存镜像的message
-a 表示保存镜像的人
e218edb10161 为容器id
runoob/ubuntu:v2 表示保存的镜像名称和版本号
#docker镜像删除、网上拉取(从docker hub网站寻找)、通过镜像启动一个容器
docker rmi 镜像id/镜像名称
docker pull 镜像名称:镜像版本(例子:docker pull nvidia/cuda:latest)
docker run -it -p 2524:22 -v ~/docker:/root --privileged=true --runtime=nvidia --restart=always --name gaojie-106-docker-9.0 nvidia-cuda9.0:v1 /bin/bash
#说明(-it 表示可以交互式进行docker, 2524表示宿主机port, 22表示容器的虚拟端口, ~/docker表示宿主机的实际目录,映射为容器中的root目录, --privileged=true表示启用特权(一般不建议使用), --runtime=nvidia表示运行环境为nvidia, --restart=always表示自动重启, --name表示设置容器名称,gaojie-106-docker-9.0为容器名称, nvidia-cuda9.0:v1表示docker镜像(冒号前为镜像名称,后为镜像版本), /bin/bash表示容器的运行环境)
在进入容器后,可以自行安装openssh-server,然后启动ssh,并对docker用户密码进行修改,并source /etc/profile, 则可以使用ssh连接docker容器
如果需要使用远程图形界面访问(x11访问),则需要配置/etc/ssh/sshd_config:
添加X11UseLocalhost no,并且设置X11Forwarding yes,然后重启ssh即可
在docker容器中安装软件时建议安装在/usr/local/下
7、docker容器安装eclipse
1、Jdk安装
从oracle官网下载jdk的ubuntu版本文件,上传到docker容器中,并解压至/usr/local/java下,然后配置环境变量
环境变量配置:/etc/profile.d/java.sh JAVA_HOME为jdk的根目录
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
2、gtk安装
参考链接:https://blog.csdn.net/singleyellow/article/details/74628428
sudo apt-get install build-essential
sudo apt-get install libgtk-3-dev
sudo apt-get install pkg-config
sudo apt-get install devhelp
3、eclipse安装
从官网下载自己所需要的eclipse版本,并解压到/usr/local/eclipse下
并对/usr/local/eclipse文件夹下的eclipse文件赋予可执行权限
chmod +x /usr/local/eclipse/eclipse
配置/usr/local/eclipse/eclipse.ini,在其首行前插入以下两行(/usr/local/java/jdk1.8.0_181/jre/bin/java表示为jdk根目录下的jre/bin/java,设置为eclipse的运行环境)
-vm
/usr/local/java/jdk1.8.0_181/jre/bin/java
配置/etc/profile.d/eclipse
export PATH=/usr/local/eclipse:$PATH
然后使环境生效
source /etc/profile
然后使用ssh开启x11连接docker,即可远程图形界面展示eclipse
8、docker容器安装miniconda
1、下载miniconda.sh文件(此处下载的为miniconda3最新版本)
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linuxx86_64.sh
2、赋予可执行权限
chmod +x Miniconda3-latest-Linuxx86_64.sh
3、执行
./Miniconda3-latest-Linuxx86_64.sh 或者 bash Miniconda3-latest-Linuxx86_64.sh
然后根据提示自定义安装(建议自定义安装目录为/usr/local/miniconda3或miniconda2,并且不要使用conda init进行环境变量的初始化)
环境配置:/etc/profile.d/miniconda3.sh
export PATH=/usr/local/miniconda3/bin:$PATH
然后使环境生效
source /etc/profile
4、miniconda使用
#创建环境(创建一个python3.6的环境)
conda create -n 环境名 python=3.6
#安装python包
source activate 环境名
pip install 包名
9、docker容器安装fsl
官网下载链接:https://fsl.fmrib.ox.ac.uk/fsldownloads_registration
下载ubuntu版本的fslinstall.py文件
使用python2环境进行安装python fslinstall.py
如果出错,则对fslinstall.py赋予可执行权限
chmod +x fslinstall.py
./fslinstall.py
这样会默认安装到/usr/local/fsl下
环境配置:/etc/profile.d/fsl.sh
FSLDIR=/usr/local/fsl
. ${FSLDIR}/etc/fslconf/fsl.sh
PATH=${FSLDIR}/bin:${PATH}
export FSLDIR PATH
环境生效:
source /etc/profile
10、docker容器安装freesurfer
参考链接:https://blog.csdn.net/uinglin/article/details/79541063
从官网下载linux安装包 freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.0.tar.gz
解压到/usr/local/freesurfer下
环境配置:/etc/profile.d/freesurfer.sh
export FREESURFER_HOME=/usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
环境生效:
source /etc/profile
测试:
分别输入:tkregister2、tkmedit、tksurfer 和recon-all --help没有报错的话 ,就说明基本安装成功
错误debug:
首先安装apt-file
sudo apt install apt-file
apt-file update
#根据错误
(例如:错误为qdec.bin: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory:)
1、首先查看/usr/lib/x86_64-linux-gnu/中是否存在类似文件:
ls | grep libjpeg
如果存在(如存在libjpeg.so.8.0.2)
则加链接:sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2 /usr/lib/libjpeg.so.62
如果不存在
则进行apt-file search libjpeg
然后根据搜索的结果进行选择性安装apt update 和 apt install,
直到没有错误为止
11、docker容器安装matlab
要求docker run时必须加入--privileged=true 启动容器才可安装(这样才可以在容器中挂载iso文件)
参考链接:https://blog.csdn.net/jesse_mx/article/details/53956358
环境配置:/etc/profile.d/matlab.sh
export PATH=/usr/local/MATLAB/R2016b/bin:$PATH
环境生效:
source /etc/profile
激活matlab
当打开了x11远程图形界面转发后,执行matlab,进行激活