Ubuntu常见软件安装

1.安装Anaconda

安装:

1)首先从官网下载合适版本:

anaconda官网

2)找到下载好的.sh文件所在文件夹,执行如下命令(注意更改.sh文件的名称)

bash Anaconda3-2020.02-Linux-x86_64.sh

3)一路回车+yes,当遇到,“Do you wish the installer to initialize Anaconda3 by running conda init?” 时选择“No”

4)配置路径:

gedit ~/.bashrc

在打开的文件中最下行输入:

export PATH=~/anaconda3/bin:$PATH

在终端输入:

source ~/.bashrc

安装完成

报错解决:

1)当输入 conda activate your_env 遇到报错时,

CommandNotFoundError: Your shell has not been properly configured to
use ‘conda activate’. To initialize your shell, run

$ conda init <SHELL_NAME>

Currently supported shells are:

  • bash
  • fish
  • tcsh
  • xonsh
  • zsh
  • powershell

See ‘conda init --help’ for more information and options.

IMPORTANT: You may need to close and restart your shell after running
‘conda init’.

输入以下指令:

source activate
source deactivate
conda activate your_virtual_name

2)当每次打开终端都显示(base)时,输入如下指令:

conda config --set auto_activate_base false

3)创造虚拟环境报错An unexpected error has occurred. Conda has prepared the above report.

解决方案:关闭VPN

4)创建环境时报错:

Warning: you have pip-installed dependencies in your environment file,
but you do not list pip itself as one of your conda dependencies.
Conda may not use the correct pip to install your packages, and they
may end up in the wrong place. Please add an explicit pip dependency.
I’m adding one for you, but still nagging you.

解决方法:解决conda环境迁移问题

5)创建环境时报错:

Using Anaconda API: https://api.anaconda.org

Solving environment: failed

解决方法:注释掉有错误提示的包,然后把这些包放到pip下

解决ResolvePackage Not Found

6)安装环境时由于断网或者空间不够导致错误,再次安装时报错CondaVerificationError

解决方法:conda clean --all

7)conda activate无效

使用conda activate时报错:

usage: conda [-h] [–no-plugins] [-V] COMMAND … conda: error:
argument COMMAND: invalid choice: ‘activate’ (choose from ‘clean’,
‘compare’, ‘config’, ‘create’, ‘info’, ‘init’, ‘install’, ‘list’,
‘notices’, ‘package’, ‘remove’, ‘uninstall’, ‘rename’, ‘run’,
‘search’, ‘update’, ‘upgrade’, ‘build’, ‘convert’, ‘debug’, ‘develop’,
‘doctor’, ‘index’, ‘inspect’, ‘metapackage’, ‘render’, ‘skeleton’,
‘repo’, ‘verify’, ‘content-trust’, ‘token’, ‘env’, ‘pack’, ‘server’)

activate命令从conda命令中移除了,改为

source activate

退出环境依然是:

conda deactivate

Anaconda常用指令:

创建虚拟环境:conda create -n [env_name] python=3.7

激活虚拟环境:conda /source activate [env_name]

退出虚拟环境:conda/source deactivate[env_name]

查看存在哪些虚拟环境:conda env list

删除虚拟环境:conda remove -n [env_name] --all

安装名为[package-name]的包:conda install [package-name]

安装名为[package-name]的包并指定版本为X.X:conda install [package-name]==X.X

更新名为[package-name]的包:conda update [package-name]

删除名为[package-name]的包:conda remove [package-name]

列出当前环境下已安装的所有包:conda list

列出名为[package-name]的包在conda源中的所有可用版本:conda search [package-name]

新建一个环境,克隆原环境:conda create --name newName(新环境名)--clone oldName(旧环境名)

清理Anaconda空间:

删除未使用的包:conda clean -p

更强力:conda clean -a

对conda的无硬依赖的库进行清理:conda clean -t

卸载Anaconda:

step1: 一般anaconda默认安装在home下,所以可以通过rm -rf ~/anaconda3命令卸载。此外,可能还有.anaconda和.conda隐藏文件夹,也可以一并卸载。

step2: 将~/.bashrc中关于anaconda的内容删除,例如:

export PATH="/home/xx/anaconda3/bin:$PATH"

在Debian服务器上安装Anaconda:

cd /tmp
sudo apt install curl
curl -O https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
sha256sum Anaconda3-5.2.0-Linux-x86_64.sh
bash Anaconda3-5.2.0-Linux-x86_64.sh

在移动硬盘上安装Anaconda:

方法同上,在选择安装位置时,输入移动硬盘的地址即可。

ubuntu18.04安装anaconda到移动硬盘上


2.安装pycharm

首先在官网下载压缩包: pycharm官网 并解压缩

如果用不惯最新版,可以从这个地址下载以往版本

在Ubuntu的快捷方式文件夹内创建Pycharm.desktop原链接

sudo gedit /usr/share/applications/Pycharm.desktop

在上述文件中输入以下内容(根据自己的解压路径进行修改)

[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Exec=/xxx/pycharm-community-2020.3.3/bin/pycharm.sh 
Icon=/xxx/pycharm-community-2020.3.3/bin/pycharm.png
Terminal=false
Categories=Pycharm;

将Pycharm.desktop复制到桌面文件夹,在桌面上就可以看到Pycharm图标了
右键单击桌面的Pycharm --> 属性 --> 权限 --> 勾选“允许执行文件”
右键单击桌面的Pycharm --> 允许启动
双击Pycharm就可以打开了

报错解决:如果发现双击图标点不开,或者使用./pycharm.sh指令遇到报错:Error occured during initialization of VM. Initial heap size set to larger value than the maximum heap size参考链接

原因在于pycharm64.vmoptions文件中的Xms>Xmx,解决方案

cd /home/cc/.config/JetBrains/PycharmXX.X

gedit pycharm64.vmoptions

直接更改为Xmx>Xms,启动Pycharm即可。因为sh pycharm.sh 会先读取缓存文件,所以更改Pycharm目录下的pycharm64.vmoptions没有起到作用,所以直接更改缓存目录下的pycharm64.vmoptions文件或删除掉它。

3.安装搜狗输入法

官方教程

step1:更新源

sudo apt update

step2:安装fcitx输入法框架

step2-1: 在终端输入

sudo apt install fcitx

step2-2:设置fcitx为系统输入法

在应用中找到“语言支持”(搜索language即可找到),并将键盘输入法系统改为fcitx

step2-3:设置fcitx开机自启动

sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/

step2-4: 卸载系统ibus输入法框架

sudo apt purge ibus

step3: 安装搜狗输入法

step3-1: 在下载地址中下载安装包(.deb后缀)

step3-2: 安装

sudo dpkg -i 安装包名

例如:

sudo dpkg -i sogoupinyin_4.0.1.2800_x86_64.deb

step3-3: 安装输入法依赖

sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1

step4: 重启电脑

点击右上角–>配置,此时可以发现搜狗输入法已经在列表中,如果不在可以手动添加

ctrl+shift可以切换不同种输入法

ctrl+空格可以切换激活/不激活输入法

卸载搜狗输入法:

sudo dpkg -r sogoupinyin

查询安装包的名字可以采用

sudo dpkg -l

有时候误触会导致输入法变繁体,通过“属性设置->常用”修改不管用,可尝试下面的方案,亲测好用
切换繁体简体

4.Markdown编辑器Typora

参考博客):

wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typora

另一款很好用的免费markdown软件ghostwriter

sudo add-apt-repository ppa:wereturtle/ppa
sudo apt update 
sudo apt install ghostwriter 

5.安装ROS/ROS2

ROS安装:ubuntu20.04安装ROS Noetic版本

step 1:配置系统软件源
打开“软件和更新”,进入到“Ubuntu软件“页面,允许universe、restricted、multiverse三项,即勾选这三项

step 2:添加ROS软件源
打开终端,输入以下指令,添加ROS官方的软件源镜像
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

step 3:添加秘钥
使用如下命令添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

step 4: 安装ros
sudo apt update
sudo apt install ros-noetic-desktop-full

step 5:设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

至此已经安装好,可以在终端输入roscore查看ros是否安装成功。

ROS2安装:

step 1: 确保系统已经更新

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg2 lsb-release

step 2: 添加ROS2软件源

添加GPG秘钥:

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

添加仓库源:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

step 3: 安装ROS 2 Foxy

安装核心软件包:

sudo apt update
sudo apt install -y ros-foxy-desktop  # 包含基础工具和GUI工具

安装开发工具:

sudo apt install -y python3-rosdep python3-argcomplete python3-colcon-common-extensions

初始化rosdep:

sudo rosdep init
rosdep update

step 4 配置环境变量:

将以下命令添加到 ~/.bashrc 文件末尾,以自动加载 ROS 2 环境

echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc

step 5: 验证安装

终端1:启动消息发布节点:

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker

终端2:启动消息订阅节点

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener

如果看到 talker 发送消息且 listener 接收成功,说明安装成功

6.安装PDF阅览器

sudo apt-get install okular

然后打开PDF文件时,右键选择打开方式选择okular

更改背景颜色:设置–> 配置okular --> 辅助功能 --> 更改颜色 -->纸张颜色–>“+” -->“#d6e7cb” -->选择–> Apply --> OK

7.远程控制软件

1.teamviewer

点击上面的链接下载teamviewer_15.40.8_amd64.deb文件

安装指令:

sudo dpkg -i teamviewer_15.40.8_amd64.deb

卸载指令:

sudo apt-get remove --purge teamviewer

2.向日葵

点击上面的链接下载SunloginClient_11.0.1.44968_amd64 .deb文件

安装指令:

sudo dpkg -i SunloginClient_11.0.1.44968_amd64.deb

卸载指令:

sudo apt-get remove --purge sunloginclient

8.终端复用tmux

安装:

方法1:

// 1、重新挂载根目录
mount -o remount,rw /
// 2、更新apt源
sudo apt update
// 3、移除残留tmux
sudo apt remove -y tmux
// 4、安装tmux
sudo apt install -y tmux

方法2:

conda install tmux

tmux建立新会话: tmux new -s my_session

tmux分离会话: tmux detach

tmux接入之前的会话: tmux attach-session -t my_session

tmux杀死会话: tmux kill-session -t my_session-r

9.截屏/录屏软件

1.Kazam(比较适合用来录屏)

安装:

sudo apt update
sudo apt install kazam

启动,在终端输入kazam

2.flameshot(比较适合用来截图)

安装:sudo apt-get install flameshot

使用:flameshot gui

设置快捷键:(ubuntu系统)设置–> 键盘快捷键–> “+”–> 名称“截图”,命令“flameshot gui", 快捷键,自定义

10.EasyConnect

首先安装EasyConnect软件:

sudo dpkg -i EasyConnect_*_*_*.deb

该链接中下载3个.deb文件

将依赖的三个库中的so文件解压出来,解压到result文件夹:

dpkg -X libpango-1.0-0_1.42.4-7_amd64.deb result/
dpkg -X libpangoft2-1.0-0_1.42.4-7_amd64.deb result/
dpkg -X libpangocairo-1.0-0_1.42.4-7_amd64.deb result/

然后进入lib文件夹,将该文件夹下的文件拷贝到EasyConnect文件夹下,

即/usr/share/sangfor/EasyConnect文件夹:

cd result/usr/lib/x86_64-linux-gnu
sudo cp * /usr/share/sangfor/EasyConnect

进入/usr/share/sangfor/EasyConnect文件夹,并查看依赖库关系:

cd /usr/share/sangfor/EasyConnect
ldd EasyConnect | grep pango

会有如下提醒:

libpangocairo-1.0.so.0 => /usr/share/sangfor/EasyConnect/./libpangocairo-1.0.so.0 (0x00007f16ce009000)
	libpango-1.0.so.0 => /usr/share/sangfor/EasyConnect/./libpango-1.0.so.0 (0x00007f16cde72000)
	libpangoft2-1.0.so.0 => /usr/share/sangfor/EasyConnect/./libpangoft2-1.0.so.0 (0x00007f16cc1cb000)

按照这种方法操作后,文件系统可能会打不开,执行如下语句:

sudo apt-get install aptitude
sudo aptitude install nautilus

11.WPS

参考:ubuntu20.04安装WPS教程

step 1: 下载.deb格式的安装包:下载地址

step 2: 安装(根据下载的安装包替换为自己的名字)

sudo dpkg -i wps-office_11.1.0.10702_amd64.deb

step 3: 生成快捷启动方式

安装完毕后,桌面会自动生成 wps-office-prometheus.desktop启动器文件,给wps-office-prometheus.desktop文件赋予执行权限

sudo chmod +x wps-office-prometheus.desktop 

右击桌面wps-office-prometheus.desktop文件,点击选择允许运行,生成启动器。

12.有道词典

step1: 下载安装包

进入有道官网,不要直接下载,点击左上角的多平台然后选择linux下载。然后再选择ubuntu64,此处下载的根首页下载的ubuntu有些区别。然后安装,安装好之后重启电脑。然后右键选择show details,之后就会在右上角出现youdao dict图标,点击下就出现到眼前了。

step2: 安装

sudo dpkg -i youdao-dict_6.0.0-ubuntu-amd64.deb

如果有报错,输入

sudo apt-get -f install

然后再次执行安装命令即可

卸载有道词典:

sudo dpkg -r youdao-dict

13.7z压缩文件

安装:sudo apt-get install p7zip-full

解压7z文件:7z x file_name.7z

解压tar.bz2: sudo tar -jxvf file_name.tar.bz2

解压tar: sudo tar -zxvf file_name.tar

14.代码比较软件Beyond Compare

step1: 官网下载

wget https://www.scootersoftware.com/bcompare-4.4.5.27371_amd64.deb

如果出现"404 not found"错误,报错是因为找不到网页直接访问Byond官网地址直接下载。

step2: 安装相关依赖和bcompre

sudo apt-get update
sudo apt-get install gdebi-core
sudo dpkg -i bcompare-4.4.5.27371_amd64.deb

step3: 后续配置

进入beyondcompare目录:

cd /usr/lib/beyondcompare/

输入一下命令:

sudo sed -i "s/keexjEP3t4Mue23hrnuPtY4TdcsqNiJL-5174TsUdLmJSIXKfG2NGPwBL6vnRPddT7tH29qpkneX63DO9ECSPE9rzY1zhThHERg8lHM9IBFT+rVuiY823aQJuqzxCKIE1bcDqM4wgW01FH6oCBP1G4ub01xmb4BGSUG6ZrjxWHJyNLyIlGvOhoY2HAYzEtzYGwxFZn2JZ66o4RONkXjX0DF9EzsdUef3UAS+JQ+fCYReLawdjEe6tXCv88GKaaPKWxCeaUL9PejICQgRQOLGOZtZQkLgAelrOtehxz5ANOOqCaJgy2mJLQVLM5SJ9Dli909c5ybvEhVmIC0dc9dWH+/N9KmiLVlKMU7RJqnE+WXEEPI1SgglmfmLc1yVH7dqBb9ehOoKG9UE+HAE1YvH1XX2XVGeEqYUY-Tsk7YBTz0WpSpoYyPgx6Iki5KLtQ5G-aKP9eysnkuOAkrvHU8bLbGtZteGwJarev03PhfCioJL4OSqsmQGEvDbHFEbNl1qJtdwEriR+VNZts9vNNLk7UGfeNwIiqpxjk4Mn09nmSd8FhM4ifvcaIbNCRoMPGl6KU12iseSe+w+1kFsLhX+OhQM8WXcWV10cGqBzQE9OqOLUcg9n0krrR3KrohstS9smTwEx9olyLYppvC0p5i7dAx2deWvM1ZxKNs0BvcXGukR+/g" BCompare

新建终端,打开软件:

bcompare

点击右下角的"Enter Key",输入下面的文字

GXN1eh9FbDiX1ACdd7XKMV7hL7x0ClBJLUJ-zFfKofjaj2yxE53xauIfkqZ8FoLpcZ0Ux6McTyNmODDSvSIHLYhg1QkTxjCeSCk6ARz0ABJcnUmd3dZYJNWFyJun14rmGByRnVPL49QH+Rs0kjRGKCB-cb8IT4Gf0Ue9WMQ1A6t31MO9jmjoYUeoUmbeAQSofvuK8GN1rLRv7WXfUJ0uyvYlGLqzq1ZoJAJDyo0Kdr4ThF-IXcv2cxVyWVW1SaMq8GFosDEGThnY7C-SgNXW30jqAOgiRjKKRX9RuNeDMFqgP2cuf0NMvyMrMScnM1ZyiAaJJtzbxqN5hZOMClUTE+++

如果报错:This license key has been revoked,解决方法如下:

解决方式

step1: 先用find命令找到bcompare所在位置

sudo find /home/ -name '*bcompare'

找到的位置为/home/cc/.config/bcompare

step2: 进入上述路径,删除/bcompare文件夹。.config一般为隐藏文件,需要ctrl+h才能显示出来。

step3:

cd /usr/lib/beyondcompare/

step4:

sudo sed -i "s/keexjEP3t4Mue23hrnuPtY4TdcsqNiJL-5174TsUdLmJSIXKfG2NGPwBL6vnRPddT7tH29qpkneX63DO9ECSPE9rzY1zhThHERg8lHM9IBFT+rVuiY823aQJuqzxCKIE1bcDqM4wgW01FH6oCBP1G4ub01xmb4BGSUG6ZrjxWHJyNLyIlGvOhoY2HAYzEtzYGwxFZn2JZ66o4RONkXjX0DF9EzsdUef3UAS+JQ+fCYReLawdjEe6tXCv88GKaaPKWxCeaUL9PejICQgRQOLGOZtZQkLgAelrOtehxz5ANOOqCaJgy2mJLQVLM5SJ9Dli909c5ybvEhVmIC0dc9dWH+/N9KmiLVlKMU7RJqnE+WXEEPI1SgglmfmLc1yVH7dqBb9ehOoKG9UE+HAE1YvH1XX2XVGeEqYUY-Tsk7YBTz0WpSpoYyPgx6Iki5KLtQ5G-aKP9eysnkuOAkrvHU8bLbGtZteGwJarev03PhfCioJL4OSqsmQGEvDbHFEbNl1qJtdwEriR+VNZts9vNNLk7UGfeNwIiqpxjk4Mn09nmSd8FhM4ifvcaIbNCRoMPGl6KU12iseSe+w+1kFsLhX+OhQM8WXcWV10cGqBzQE9OqOLUcg9n0krrR3KrohstS9smTwEx9olyLYppvC0p5i7dAx2deWvM1ZxKNs0BvcXGukR+/g" BCompare

step5: 在终端输入bcompare打开beyond compare,弹出弹窗,点击右下角的“Enter Key”,输入以下秘钥

— BEGIN LICENSE KEY — GXN1eh9FbDiX1ACdd7XKMV7hL7x0ClBJLUJ-zFfKofjaj2yxE53xauIfkqZ8FoLpcZ0Ux6McTyNmODDSvSIHLYhg1QkTxjCeSCk6ARz0ABJcnUmd3dZYJNWFyJun14rmGByRnVPL49QH+Rs0kjRGKCB-cb8IT4Gf0Ue9WMQ1A6t31MO9jmjoYUeoUmbeAQSofvuK8GN1rLRv7WXfUJ0uyvYlGLqzq1ZoJAJDyo0Kdr4ThF-IXcv2cxVyWVW1SaMq8GFosDEGThnY7C-SgNXW30jqAOgiRjKKRX9RuNeDMFqgP2cuf0NMvyMrMScnM1ZyiAaJJtzbxqN5hZOMClUTE+++
— END LICENSE KEY -----

15.安装vscode

首先在官网下载安装包(.deb文件)

sudo dpkg -i code_1.62.0-1635954068_amd64.deb

使用如下命令打开软件

code

卸载vscode

sudo dpkg -r code # 只是卸载,保留配置
# 或者
sudo dpkg --remove code # 只是卸载,保留配置
# 或者
sudo dpkg --purge code # 彻底清除,包括配置

16.无线网卡驱动安装

我购买的是绿联AC650,版本是CM496,安装过程如下

step1: 首先查看ubuntu系统内核版本

sudo cat /proc/version

得到系统内核版本为5.8.0-44-generic

step2: 下载对应内核版本的驱动

如果驱动版本在2.6.18-5.4.0,驱动链接: 绿联驱动

如果版本超过5.4,且在5.13以内,可以尝试另一个驱动,驱动链接:非官方驱动

内核超过5.13暂不支持

step3: 解压文件

step4: sudo make

step5: 输入ls 查看8821cu.ko文件有没有生成

step6: 输入sudo make install

step7: 重启电脑,开机打开设置后选择需要连接的WIFI就可以使用了


17.Git使用方法:

1)安装

sudo apt-get install git

可以使用如下命令查看git版本号

git --version

2)设置用户名和邮箱

设置用户名:

git config --global user.name "yourname"

设置邮箱:

git config --global user.email "youremail"

查看用户名和邮箱:

git config --global --list

删除历史配置文件:

sudo rm -rf /home/cc/.ssh/

(cc是我的用户名,需要根据自己的进行更改)

3)生成秘钥信息

ssh-keygen -t rsa -C "youremail"

-t:指定要创建的密钥的类型。rsa:一种加密算法。-C:添加注释

之后一直回车即可。

生成密钥是/home/usrname/.ssh/id_rsa
生成的公钥是/home/usrname/.ssh/id_rsa.pub

4)配置ssh公钥

打开github网站 --> 登录之后点击自己的头像 --> Settings --> SSH and CPG keys --> New SSH key --> 把刚才公钥id_rsa.pub中的信息拷贝进去即可。

5)基本使用方法:

1)将代码提交至远程仓库
在这里插入图片描述
首先在github网站上新建一个repository, 然后会得到如下的地址:

git@github.com:your-github-name/repo-name.git

接下来在需要提交的文件夹下进行如下操作:

git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:your-github-name/repo-name.git
git push -u origin main

其中 git remote add origin xxx是关联远程仓库。
关联后,第一次推送master分支的所有内容,使用命令,git push -u origin main,加入了-u参数,git不但会把本地master分支内容推送到远程新的master分支,还会把本地的master分支和远程master分支关联起来,在以后的推送或者拉取时就可以简化命令。
当对代码做了修改,需要重新提交时,用以下命令即可:

git add .
git commit -m "second commit"
git push origin main

18.Docker使用方法

1) 安装:

step1: 更新现有的软件安装列表

sudo apt-get update

step2: 安装必要的软件包,允许apt通过HTTPS使用仓库

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

step3: 添加Docker的官方GPG秘钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

step4: 添加Docker的APT仓库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

step5: 更新APT包列表,并安装Docker

sudo apt-get update
sudo apt-get install docker-ce

step6: 验证Docker安装是否成功

sudo docker run hello-world

如果看到“Hello from Docker!”的消息,则表示安装成功。

如果报错:

Unable to find image ‘hello-world:latest’ locally docker: Error
response from daemon: Get “https://registry-1.docker.io/v2/”: read tcp
192.168.3.9:53308->3.94.224.37:443: read: connection reset by peer Run ‘docker run --help’ for more information

解决方案:

配置docker代理,首先创建代理配置文件:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo gedit /etc/systemd/system/docker.service.d/http-proxy.conf

添加以下内容(替换为实际代理地址):

[Service]
Environment="HTTP_PROXY=http://proxy_ip:port"
Environment="HTTPS_PROXY=http://proxy_ip:port"
Environment="NO_PROXY=localhost,127.0.0.1"

例如:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

然后重启docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

step7: 为避免每次使用Docker命令都需要sudo,可以将当前用户添加到docker组:

sudo usermod -aG docker ${USER}

2)安装NVIDIA Container Toolkit以支持GPU
step 1:添加秘钥仓库

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
    && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
    && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
        sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
        sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

step 2:安装工具包

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

step 3:配置docker运行时

# 生成默认配置
sudo nvidia-ctk runtime configure --runtime=docker

# 重启 Docker 服务
sudo systemctl restart docker

step 4:验证GPU支持

# 测试运行
docker run --rm --gpus all nvidia/cuda:12.1.1-devel-ubuntu20.04 nvidia-smi

3) 使用:

如果服务器可以联网,且网速好的话:

step 1: 创建container

老版docker(19.03+之前)指令:
nvidia-docker run -it --name cc_env --shm-size 16g -v /data0/dataset/:/data -v /data0/cc/:/home ufoym/deepo:latest /bin/bash

新版docker指令:
docker run -it --name cc_env --gpus all --shm-size 16g -v /data0/dataset/:/data -v /data0/cc/:/home ufoym/deepo:latest /bin/bash

作用:基于 ufoym/deepo:latest 镜像创建并运行一个名为 cc_env 的容器,其中:
1)run是docker的子命令,用于创建并启动一个容器
2)-it:以交互模式启动容器,分配一个伪终端
3)--name: 为容器指定名称为cc_env, 便于后续管理(如启动/停止容器是用名称代替容器ID)
4)--shm-size: 设置容器的共享内存大小为16GB,些程序(如 PyTorch 的多进程数据加载)需要较大的共享内存,默认值(通常 64MB)可能不足
5)-v: 将宿主机的 /data0/dataset/ 目录挂载到容器内的 /data, 以及将宿主机的 /data0/cc/ 目录挂载到容器内的 /home
6)ufoym/deepo:lates: ufoym/deepo 是一个预装了多种深度学习框架(如 TensorFlow、PyTorch)的镜像,标签 latest 表示最新版本。可以根据自己的需要将其替换为不同的镜像
例如集成了cuda12.1和ubuntu20.04的镜像:nvidia/cuda:12.1.1-devel-ubuntu20.04
包含anaconda的镜像:continuumio/miniconda3:23.10.0-1
7)/bin/bash: 容器启动后执行的命令,这里是启动 Bash Shell,允许用户与容器交互
step 2:
使用的时候首先执行docker start cc_env启动容器,然后执行docker exec -it cc_env /bin/bash进入容器的终端。

如果服务器不能联网

方法1:

step 1:在可以联网的电脑上拉取指定版本的镜像
docker pull continuumio/miniconda3:23.10.0-1

step 2:导出镜像为.tar文件
docker save -o miniconda3_23.10.0-1.tar continuumio/miniconda3:23.10.0-1

step 3:传输至服务器
scp -r -P 端口号 miniconda3_23.10.0-1.tar user@xx.xx.xxx.xx:/path/to/directory

step 4:在服务器端加载镜像
docker load -i miniconda3_23.10.0-1.tar

step 5:验证镜像
docker images

输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE
continuumio/miniconda3 23.10.0-1 xxxxxxxxxxxx 3 weeks ago 487MB

step 6:启动容器

nvidia-docker run -it --name cc_arm_env --shm-size 16g -v /data0/dataset/:/data -v /data0/cc/:/home continuumio/miniconda3:23.10.0-1 /bin/bash

step 7:使用的时候首先执行docker start cc_env启动容器,然后执行docker exec -it cc_env /bin/bash进入容器的终端。

方法2:

如果环境配置服务器已有的容器一样,则可以:
step 1 :停止源容器,并将原有容器提交为镜像
docker stop cc_env
docker commit cc_env cc_env_image
其中cc_env_image为保存的镜像名称
step 2:基于新镜像启动容器cc_env_2
nvidia-docker run -it --name cc_env_2 --gpus all --shm-size 16g -v /data0/dataset/:/data -v /data0/chenci/:/home cc_env_image /bin/bash
step 3:用完之后删除临时镜像cc_env_image
docker rmi cc_env_image

3) 常用指令:
container 启动: docker start xxx
container 进入: docker exec -it xxx /bin/bash
container 退出: exit
container 停止: docker stop xxx
查看所有 container : docker ps -a
删除 container: docker rm xxx
查看所有镜像: docker images
删除镜像: docker rmi xxx
查看 docker: docker system df -v

4) 卸载

step1:删除docker所有包
apt-get autoremove docker docker-ce docker-engine docker.io containerd runc

step2:查看docker是否卸载干净
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

step3:删除相关插件
apt-get autoremove docker-ce-*

step4: 删除docker配置目录
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker

step5: 确认docker卸载完毕
docker --version

5)报错解决:

5.1)/var/lib/docker空间不足

方法1: 快速清理

# 查看当前磁盘占用
docker system df

# 深度清理所有未使用资源(谨慎操作!会删除所有停止的容器、未使用的镜像等)
docker system prune --all --volumes --force

# 针对性清理
docker image prune -a  # 删除所有未被容器引用的镜像
docker volume prune    # 删除未使用的卷
docker builder prune   # 清理构建缓存

方法2:迁移docker数据目录到其他分区(永久解决)

step1: 停止docker服务

sudo systemctl stop docker

step2: 迁移数据到新位置

# 创建新目录
mkdir -p /root/docker

# 迁移数据
sudo rsync -avz /var/lib/docker /root/docker/

step3: 修改docker配置文件

sudo gedit /etc/docker/daemon.json

在该配置文件中加入下面内容:

{
  "data-root": "/root/docker"
}

step 4:重启docker

sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl status docker  # 确认状态正常

step 5: 确认是否配置成功docker info, 如果docker root dir显示为/root/docker则修改成功


19.vscode 远程调试

1) 安装remote-ssh和remote development插件

在vscode的软件扩展里面搜索remote ssh可以找到这两个插件,安装即可。

2)配置.ssh文件

按F1, 然后选择 Remote-SSH: Connect to Host

然后选择 configure SSH Host

然后选择/home/your_name/.ssh,更改相应条目

Host: 是一个别名,用于在VSCode或终端中快速识别目标服务器。

HostName: 服务器的真实地址,必须与实际地址一致,否则连接会失败。

Port: 端口号,如果原本的.ssh文件没有,自己加上即可。

User: 用户名称,对应填写自己的账户名称即可。

例如通过ssh登录服务器的命令为:ssh -P 111 cc@10.12.120.xx,则:

Host server_1
	HostName 10.12.120.xx
	Port 111
	User cc

如果有多个服务器账号,则在该文件下加入新的信息即可,如下所示:

Host server_1
	HostName 10.12.120.xx
	Port 111
	User cc

Host server_2
	HostName 10.12.121.xx
	Port 222
	User cc

3)连接:

再次按F1,选择相应的IP地址即可连接相应的服务器,并输入密码即可。

或者在vscode左端选择“远程资源管理器”,找到相应的IP地址,并点击 -> 标志, 输入密码即可。

打开或关闭远程终端

ctrl + "`"

4)报错解决:

问题: 通过ssh可以正常连接服务器,而在vscode里远程连接服务器时则提示连接超时。

解决方法:在vscode的扩展程序中输入remote ssh, 点击remote ssh中的齿轮按钮,选择extension settings, 找到connect timeout并修改连接时间为600


20.vscode远程连接服务器的docker容器

1)按照上面的“vscode远程调试”配置
2)安装Docker插件(在SSH:远程主机IP中安装)
3)安装Dev Containers插件
4)打开Docker之后,ctrl+shift+p, 然后选择attach to running container
5)输入密码之后连接自己的container即可进入容器


21.本地查看服务器端tensorboard

step 1:首先在服务器端运行tensorboard

tensorboard --logdir runs

step 2: 在本地开启SSH通道

ssh -L 6006:localhost:6006 -p your_port your_name@10.12.120.xx

step 3: 在本地浏览器访问http://localhost:6006/即可。


22.更改服务器密码

登录系统后输入 passwd your_name

然后修改即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值