Linux 新机配置ssh,gcc,git

ssh 远程服务器出错,重新认证,重新连接

1
ssh-keygen -R +输入服务器的IP

ubuntu 安装gcc编译环境

1
2
3
sudo apt-get update
sudo apt-get install build-essential gdb
gcc -v #如果安装成功则显示gcc版本

vscode中其他配置按照官网来https://code.visualstudio.com/docs/cpp/config-linux,task.json和launch.json可复制官网

ubuntu安装git并配置用户信息

1
2
3
4
5
6
7
8
9
10
#安装git
sudo apt-get install -y git
#配置github用户昵称和注册邮箱 下边的master和master@gmail.com替换成自己的
git config --global user.name master
git config --global user.email master@gmail.com
git config --list
#生成密钥,作为访问github的凭证
ssh-keygen -t rsa -C "master@gmail.com"
#查看生成的密钥
cat ~/.ssh/id_rsa.pub

打开github右上角的setting,在SSH and GPG keys新建SSH key,将cat输出的内容粘贴上就ok了

linux 常用命令行操作

1
2
3
4
5
6
7
8
9
10
11
#查看cpu信息
cat /proc/cpuinfo
#查看ubuntu版本
cat /proc/version
#查看内存条信息
sudo dmidecode --type memory
#查看磁盘挂载信息
df -h
#查看gpu型号信息 https://blog.csdn.net/weixin_44120025/article/details/118978198
lspci | grep -i nvidia
#查看gpu

Linux 新机安装nvidia驱动

https://blog.csdn.net/m0_73860872/article/details/127276979
打开应用与更新中的附加驱动,linux默认使用开源的x.org,我们选择nvidia-driver-510(专有),点击应用更改,系统自动安装驱动过程中如果出现依赖缺失,直接在终端使用sudo apt-get install 安装,然后重新进入附加驱动中选择安装,完成后重启电脑,nvidia-smi成功。

img

Linux 切换清华源

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

1
2
3
4
5
6
7
8
9
10
11
12
#备份原有的软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
#在清华源官网上选择自己的ubuntu版本对应的软件源,复制,打开下列文件,覆盖原有内容
sudo vim /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade

#一般到上一步就成功了,如果出现错误可重启网络管理器
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
sudo apt-get upgrade

Ubuntu 安装docker

https://developer.aliyun.com/article/762674
按照上述教程,最后运行docker container run hello-world失败,尝试换源

1
2
3
4
5
sudo vim /etc/docker/daemon.json
#粘贴以下内容
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
1
2
3
4
5
6
7
8
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令 --help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
docker images #查看所有镜像
docker ps -a #查看容器列表
docker system df #查看镜像/容器/数据卷所占的空间
docker rmi -f 镜像ID #使用ID删除镜像

#首次运行镜像创建容器
#以交互模式运行容器,通常与 -t 同时使用
#为容器重新分配一个伪输入终端,通常与 -i 同时使用;
#-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
#-p 指定端口映射
docker run --name 容器名 -itd 镜像名:TAG
#创建容器时共享主机文件夹
docker run -itd -v /home/zzh/project:/project --name ubuntu14.04 ubuntu:14.04
#进入正在运行的docker容器
docker exec -it ubuntu14.04 /bin/bash
#容器启动、停止
docker start 容器ID或者容器名 #启动已停止运行的容器
docker restart 容器ID或者容器名 #重启容器
docker stop 容器ID或者容器名 #停止容器
docker kill 容器ID或容器名 #强制停止容器
docker rm 容器ID #删除已停止的容器

查看容器内部细节

1
2
docker top 容器ID #查看容器内部运行进程
docker inspect 容器ID #查看容器内部细节

从容器拷贝文件到主机

1
2
docker cp  容器ID:容器内路径 目的主机路径
docker cp 3065f084c80d:a.txt a.txt

运行支持nvidia-smi的容器之前先要安装官方提供的toolkit

1
2
3
4
5
6
7
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

docker run -itd --gpus all -v /home/zzh/project:/project --name ubuntu14.04 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu:14.04

Ubuntu安装CUDA cuDNN

原理博客:https://windses.blog.csdn.net/article/details/125910538

过程:https://blog.csdn.net/h3c4lenovo/article/details/119003405

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#检查驱动,显示显卡驱动版本号以及支持的CUDA最高版本
nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
#ubuntu20.04 gcc-version=9太高,换成gcc7和g++7
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc #输出替换结果
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
sudo update-alternatives --display g++ #输出替换结果
#推荐使用CUDA10.1 + cuDNN7.6 + tensorflow-gpu 2.2.0这个组合。
#https://developer.nvidia.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#检查驱动,显示显卡驱动版本号以及支持的CUDA最高版本
nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
#ubuntu20.04 gcc-version=9太高,换成gcc7和g++7
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc #输出替换结果
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
sudo update-alternatives --display g++ #输出替换结果
#推荐使用CUDA10.1 + cuDNN7.6 + tensorflow-gpu 2.2.0这个组合。
#https://developer.nvidia.com

image-20230519102831303

1
2
3
4
5
6
7
8
9
10
#在 End User License Agreement中输入 accept
#在CUDA Installer 中取消勾选 Driver,因为我们一般都有自己的显卡驱动
sudo vim ~/.bashrc
#在环境变量中添加以下两句
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64{LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#使环境变量生效并检查安装结果
source ~/.bashrc
cat /usr/local/cuda/version.txt
#成功输出 CUDA Version 10.1.243
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#安装cuDNN 前往官网下载对应版本的cuDNN
tar -xvzf cudnn-10.1-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda-10.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn*.h
sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*
# 查看版本
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"
#检查状态
watch -n 1 nvidia-smi

卸载重装CUDA

https://blog.csdn.net/xiaojinger_123/article/details/121158255

1
2
cd /usr/local/cuda-10.1/bin/
sudo ./cuda-uninstaller

安装 conda

1
2
3
4
5
6
7
# 官网下载对应版本的conda https://repo.anaconda.com/archive/?C=M&O=A
bash Anaconda3-2023.03-1-Linux-x86_64.sh
vim ~/.bashrc
export PATH="/home/zzh/anaconda3/bin:$PATH"
source ~/.bashrc
conda --version
conda -V

conda常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#创建虚拟环境
conda create -n your_env_name python=X.X(3.6、3.7等)
#激活虚拟环境
source activate your_env_name(虚拟环境名称)
#退出虚拟环境
source deactivate your_env_name(虚拟环境名称)
#删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all

#查看安装了哪些包
conda list
#安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包

#查看当前存在哪些虚拟环境
conda env list
#
conda info -e
#
conda info --envs

#检查更新当前conda
conda update conda
#更新anaconda
conda update anaconda
#更新所有库
conda update --all
#更新python
conda update python

换源 https://blog.csdn.net/KIK9973/article/details/118776314

1
2
3
4
5
6
7
8
9
10
11
12
13
14
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk
#检查是否换源成功!!!终端输入以下命令
conda config --set show_channel_urls yes
conda info
#channel URLs应该显示更新的清华源

anaconda还原默认源:

注:常用语重置下载源,省去逐个删除URLs的时间
终端输入以下命令:conda config --remove-key channels

https://blog.csdn.net/qq_41204464/article/details/121521679

Opencv 安装

https://blog.csdn.net/qq_36535414/article/details/108615778

img

例如Blazeit用到pytorch 1.0.,我们的卸载重新安装CUDA 10.1,python版本3.7是支持的。