当前位置: 首页 > news >正文

2024.05.15 [AI开发配环境]个人使用最新版远程服务器配环境大纲:docker、云盘、ssh、conda等

不包括在宿主机安装docker。

docker

找到心仪的镜像,比如从网上pull:https://hub.docker.com/r/pytorch/pytorch/tags?page=&page_size=&ordering=&name=2.0.1

docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel
# 新建容器
docker run --privileged --gpus device=all --shm-size 125G -p XXXX:6006 -p XXXX:22 -it -d -v /home/yuqiao/docker_home:/home/yuqiao -w /home/yuqiao --name qiao pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel /bin/bash# 运行容器
docker exec -it <container_name> /bin/bash

安装必要的东西

apt-get update
apt-get install vim
apt-get install git
apt-get install sudo

新建用户(可选)

新建用户:
adduser -uid 1001 yuqiao # 会自动给你分到相同id的组中

把它添加到sudoer:
vim /etc/sudoers #在root底下添加一行,root改成新建的用户名,其他不变

复制.batchrc
cp ~/.bashrc /home/yuqiao/.bashrc

激活 .bashrc
su yuqiao
source ~/.bashrc

如果需要回到root:
su

如果文件夹权限是root,改回yuqiao:(1001是yuqiao 的uid)
chown -R 1001:1001 .

安装并配置ssh(可选)

个人习惯用ssh直接连docker,如果没有这个需求可以跳过这一步。

passwd # 设置密码,用于ssh登录
apt-get install openssh-server # 安装ssh

配置ssh协议,允许密码登录root,允许X11转发:

vim /etc/ssh/sshd_config

修改里面的如下内容:

PermitRootLogin yes #允许root用户登录
PasswordAuthentication yes # 允许用密码登录
X11Forwarding yes # 允许X11转发
X11UseLocalhost no # 不要让它走localhost,可能导致转发失败(亲测没有这句不行)
#AddressFamily inet # 使用Ipv4,有的地方可能ipv6不行

修改好后,要重启ssh才能生效

/etc/init.d/ssh restart
service ssh restart

如果没有conda,则需要安装conda

下载下来代码后,建议用conda虚拟环境。
Linux python环境配置之第三方库的安装

好的链接失效了。
注意记住配好的虚拟环境的路径,需要的时候可以整体转移。重新下载这些包是非常非常慢的。

下载miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装miniconda

bash Miniconda3-latest-Linux-x86_64.sh

注意,需要阅读协议,大多数地方要按ENTER,少部分地方要输入yes(同意协议)

刷新环境变量

source ~/.bashrc

如果运行后出现(base)则表示miniconda安装成功

配置环境变量

vim ~/.bashrc
#增加 export  PATH="/root/miniconda3/bin:"$PATH
source ~/.bashrc

channels

可以先在浏览器里试试这些链接能否打开

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --set show_channel_urls yes # 这样以后下载的时候会显示这个包来自哪个源
conda config --get channels  # 查看现在的channesl (会自动显示优先级,最后add的优先级最高)

export PATH=$PATH:/home/yuqiao/miniconda3/bin

安装tmux

apt-get install tmux

安装一些图形驱动(用于处理以下报错)

apt install libgl1-mesa-glx # ImportError: libGL.so.1: cannot open shared object file: No such file or dir
apt-get install libxrender1 # ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

pip设置为清华源或阿里云

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

sshfs docker云盘相关

sshfs docker插件安装:

docker plugin install ucphhpc/sshfs

docker plugin install vieux/sshfs

这两个中vieux快但不维护了;ucphhpc还在维护但慢一些

创建云盘:密码建议cat;直接输需要单引号

docker volume create -d ucphhpc/sshfs -o sshcmd=REMOTE_USER@REMOTE_IP:REMOTE_PATH -o port=REMOTE_PORT -o password=$(cat .yq_pwd) -o allow_other -o reconnect -o ServerAliveInterval=15 VOLUME_NAME

docker volume create -d vieux/sshfs -o sshcmd=yuqiao@XX:/home/yuqiao/docker_home -o port=22 -o password=‘your_pass_word’ -o allow_other -o reconnect -o ServerAliveInterval=15 sshfs-volume-datazoo

保存和重载容器

commit和export二选一

docker commit dockerid
qiao_rfd_conda_commit # 可回滚,最后的参数是镜像的名字,可以直接run它,不需要import
docker export -o /qiaodisk/qiaoRfdConda.tar dockerid # 完全clean的新镜像,需要import之后才能run # 7.6G
scp -P 22  qiaoRfDConda_old.tar yuqiao@XXX.XX.XX.XX:/home/yuqiao/ # 移动到另一台设备# 在另一台设备
docker import /qiaodisk/qiaoRfdConda.tar qiao_rfd_conda2:xxx
#docker run --privileged -it -p 50003:22 -v /qiaodisk/tfDocker:/home/yuqiao -w /home/yuqiao -d --name qiao_conda qiaorfd /bin/bash
#docker run --privileged -p 10108:6006 -p 10109:22 -it -d -v /qiaodisk/tfDocker:/home/yuqiao -w /home/yuqiao -e DISPLAY=:10.0 -e GDK_SCALE -e GDK_DPI_SCALE --name qiao_rfd_conda qiao_rfd_conda /bin/bash   
docker run --privileged --gpus all --shm-size 8G -p XXXXX:6006 -p XXXXX:22 -it -d -v ~/docker_home:/home/yuqiao -w /home/yuqiao --name qiao_rfd_conda qiao_rfd_conda /bin/bash  #dockerid# 如果报错: docker: Error response from daemon: No command specified.
# 用下面这个命令查看command:
docker ps  --no-trunc
# 然后把查看到的command放到docker run的最后(代替/bin/bash)

查看云盘

docker volume ls

创建容器:

docker run --privileged --gpus device=all --shm-size 125G -p 宿主端口XX:容器端口6006 -p 宿主端口YY:容器端口22 -it -d -v sshfs-volume-datazoo:/home/yuqiao/ -w /home/yuqiao --name 容器名称 镜像名称:v1 bash

相关文章:

2024.05.15 [AI开发配环境]个人使用最新版远程服务器配环境大纲:docker、云盘、ssh、conda等

不包括在宿主机安装docker。 docker 找到心仪的镜像&#xff0c;比如从网上pull&#xff1a;https://hub.docker.com/r/pytorch/pytorch/tags?page&page_size&ordering&name2.0.1 docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel# 新建容器 docker r…...

opencv 轮廓区域检测

直线检测 void LineDetect(const cv::Mat &binaryImage) {cv::Mat xImage,yImage,binaryImage1,binaryImage2;// 形态学变化&#xff0c;闭操作 先膨胀&#xff0c;再腐蚀 可以填充小洞&#xff0c;填充小的噪点cv::Mat element cv::getStructuringElement(cv::MORPH_RE…...

2024-5-16

今日安排&#xff1a; 完结 nf_tables 模块的基本学习&#xff0c;然后开始审计源码mount 的使用&#xff0c;学习 namespace (昨昨昨昨天残留的任务)&#xff08;&#xff1a;看我能搁到什么时候静不下心学习新知识就做 CTF 题目&#x1f991;&#x1f991;&#x1f991; 今…...

IT行业的现状与未来:技术创新引领时代变革

随着技术的不断进步&#xff0c;IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链&#xff0c;这些技术正在重塑我们的生活和工作方式。本文将探讨当前IT行业的现状及未来发展趋势&#xff0c;并邀请行业领袖、技术专家和创…...

Redis分布式锁【简单版】

文章目录 概要例子1【SETNX EXPIRE】例子2【 Redisson 】 概要 redis分布式锁六种方案 SETNX EXPIRE 方案&#xff1a; 描述&#xff1a;使用Redis的SETNX命令来尝试设置一个键值对&#xff0c;如果该键不存在&#xff0c;则设置成功并设置过期时间&#xff0c;实现锁的功能…...

18.Blender 渲染工程、打光方法及HDR贴图导入

HDR环境 如何导入Blender的HDR环境图 找到材质球信息 在右上角&#xff0c;点击箭头&#xff0c;展开详细部分 点击材质球&#xff0c;会出现下面一列材质球&#xff0c;将鼠标拖到第二个材质球&#xff0c;会显示信息 courtyard.exr 右上角打开已渲染模式 左边这里选择世界…...

VBA在Excel中部首组查字法的应用

VBA在Excel中部首组查字法的应用 文章目录 前言一、网站截图二、操作思路三、代码1.创建数据发送及返回方法2.创建截取字符串中的数值的方法3.获取部首对应的编码4.获取特定部首的汉字运行效果截图前言 使用汉语字典查生字、生词,多用拼音查字法和部首查字法。以前都是用纸质…...

ASP.NET MVC 4升级迁移到ASP.NET MVC 5

背景&#xff1a;今天针对一个老项目进行框架升级&#xff0c;老项目使用的是MVC 4&#xff0c;现在要升级到MVC5。 备份项目.NET升级4.5以上版本通过Nuget&#xff0c;更新或者直接安装包 包名oldVersionnewVersion说明Microsoft.AspNet.Mvc4.0.05.x.xMicrosoft.AspNet.Razo…...

AIGC时代已至,你准备好抓住机遇了吗?

一、行业前景 AIGC&#xff0c;即人工智能生成内容&#xff0c;是近年来人工智能领域中发展迅猛的一个分支。随着大数据、云计算、机器学习等技术的不断进步&#xff0c;AIGC已经取得了显著的成果&#xff0c;并且在广告、游戏、自媒体、教育、电商等多个领域实现了广泛应用。…...

2024CCPC郑州邀请赛暨河南省赛

比赛记录&#xff1a;看群里大家嘎嘎拿牌&#xff0c;自己个人来solo了一下&#xff0c;发现简单到中等题很多&#xff0c;写了两小时出了7题&#xff0c;但是写的比较慢&#xff0c;对难题把握还是不准确 补题 &#xff1a; A题确实巧妙充分利用题目的数据范围来思考问题&…...

Spring 各版本发布时间与区别

版本版本特性Spring Framework 1.01. 所有代码都在一个项目中 2. 支持核心功能IoC、AOP 3. 内置支持Hibernate、iBatis等第三方框架 4. 对第三方技术简单封装。如&#xff1a;JDBC、Mail、事务等 5. 只支持XML配置方式。6.主要通过 XML 配置文件来管理对象和依赖关系&#xff0…...

前端模块导入导出方式

不同的导出方式和相应的导入方式&#xff0c;可以提炼成 3 种类型&#xff1a;name、default 和 list。 以下是使用示例&#xff1a; // Name Export | Name Import // 一个“命名”的导出 export const name value import { name } from ...❌ 错误示例&#xff1a; export…...

docker01-简介和概述

什么是docker&#xff1f; 我们现在开发项目是在windows操作系统使用idea开发&#xff0c;本地windows操作系统上有我们项目所需的jdk&#xff0c;mysql&#xff0c;redis&#xff0c;tomcat等环境&#xff0c;如果我们想打包我们的项目到一个别的服务器上&#xff0c;在别的服…...

java数据结构与算法(对称二叉树)

前言 为什么学习数据结构和算法&#xff1f; 1.直面大厂的高薪。 2.学习编程的语言。 3.输出优雅的代码和高性能的程序。 每日练习2题&#xff0c;希望大家都能收获高薪offer&#xff0c;实现自由跳槽。 实现原理 主要判断二叉树的以中间线为轴&#xff0c;两边的对称的…...

[原创](Modern C++)现代C++的std::function, 强大的多态函数包装器(包含std::mem_fn使用方式).

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…...

解决间歇性 SSLPeerUnverifiedException 问题

问题背景 您在使用 SonarQube 与 GitHub Enterprise 进行拉取请求装饰时,遇到了间歇性的 javax.net.ssl.SSLPeerUnverifiedException 异常。具体错误信息如下: txt javax.net.ssl.SSLPeerUnverifiedException: Hostname XXXXXXX not verified (no certificates)at okhttp3…...

Linux程序开发(一):Linux基础入门安装和实操手册

Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢我的博客的话&#xff0c;记得…...

Java | Leetcode Java题解之第92题反转链表II

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {// 设置 dummyNode 是这一类问题的一般做法ListNode dummyNode new ListNode(-1);dummyNode.next head;ListNode pre dummyNode;for (int i 0; …...

声纹识别在无人机探测上的应用

无人机在民用和军事领域的应用越来越广泛。然而&#xff0c;随着无人机数量的增加&#xff0c;"黑飞"现象也日益严重&#xff0c;对公共安全和隐私构成了威胁。因此&#xff0c;开发有效的无人机探测与识别技术变得尤为重要。及时发现黑飞无人机的存在进而对其型号进…...

【数据结构】时间、空间复杂度实例分析

跌倒了&#xff0c;就重新站起来&#xff0c;继续向前走&#xff1b;傻坐在地上是没用的。&#x1f493;&#x1f493;&#x1f493; 目录 •✨说在前面 &#x1f34b;知识点一&#xff1a;算法的效率 • &#x1f330;1.斐波那契数列的第n项 • &#x1f330;2.算法的复杂度…...

定制化水源热泵技术,实现低品位余热高效捕获

低品位余热的高效回收利用&#xff0c;核心在于能否打造出适配水源特性与工况需求的核心热泵机组&#xff0c;只有实现对余热资源的精准捕获&#xff0c;才能真正将闲置余热转化为可利用的清洁能源。针对鲁西南矿区的水源特性与极端气候工况&#xff0c;瑞冬为当地某铁矿项目针…...

GIS底图大全

数据名称&#xff1a;GIS底图大全数据分类&#xff1a;文档资料网盘链接&#xff1a;通过百度网盘分享的文件&#xff1a;GIS底图.zi…链接:https://pan.baidu.com/s/1-Ko3uEp5IN7YJOSHd8cqaA 提取码:fhwb复制这段内容打开「百度网盘APP 即可获取」数据来源&#xff1a;来源于网…...

如何统计不同电话号码的个数?—位图法

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

EB Garamond 12免费复古字体:完整指南与快速上手教程

EB Garamond 12免费复古字体&#xff1a;完整指南与快速上手教程 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 EB Garamond 12是一款基于16世纪经典Garamond字体设计的开源免费字体&#xff0c;完美复刻文艺复兴时期的印刷…...

GLM-4.1V-9B-Base与Dify联动:零代码构建企业级AI应用平台

GLM-4.1V-9B-Base与Dify联动&#xff1a;零代码构建企业级AI应用平台 1. 企业AI应用的新选择 最近接触了不少企业客户&#xff0c;发现一个普遍现象&#xff1a;大家都想用AI&#xff0c;但真正能用起来的却不多。技术门槛高、开发周期长、维护成本大&#xff0c;这些问题让很…...

网络安全的攻防体系有哪些?

网络安全的攻防体系有哪些&#xff1f; 网络安全的攻防体系有哪些&#xff1f; 网络安全的攻防体系是一个复杂而多维的系统&#xff0c;旨在保护网络系统和数据免受未授权访问、泄露、修改或破坏。这个体系包含了多种策略和技术&#xff0c;可以分为以下几个主要方面&#xf…...

Pylance:重新定义Python开发体验的智能助手

Pylance&#xff1a;重新定义Python开发体验的智能助手 【免费下载链接】pylance-release Documentation and issues for Pylance 项目地址: https://gitcode.com/gh_mirrors/py/pylance-release 提升30%编码效率的10个实战技巧 还在为Python代码补全延迟烦恼&#xff…...

【人生底稿】07:2017-2018:从Java后端到全栈,我如何用一年时间为北漂埋下伏笔

2017-2018&#xff0c;从纯Java后端到全栈开发&#xff0c;自学AngularJS、安卓&#xff0c;完成监控运维平台升级&#xff1b;2018年6月&#xff0c;跟着领导辞职北漂创业。14年老码农亲述&#xff1a;所有的沉淀&#xff0c;都是为了更好的出发。 一、开篇&#xff1a;2017&a…...

忍者像素绘卷入门必看:Z-Image-Turbo与Stable Diffusion 16-Bit插件对比

忍者像素绘卷入门必看&#xff1a;Z-Image-Turbo与Stable Diffusion 16-Bit插件对比 1. 像素艺术创作新选择 在数字艺术创作领域&#xff0c;像素风格始终占据着独特地位。对于想要创作16-Bit复古游戏风格作品的艺术家来说&#xff0c;选择合适的工具至关重要。本文将对比分析…...

从分子动力学模拟到结合自由能分析:gmx_MMPBSA实战指南

从分子动力学模拟到结合自由能分析&#xff1a;gmx_MMPBSA实战指南 【免费下载链接】gmx_MMPBSA gmx_MMPBSA is a new tool based on AMBERs MMPBSA.py aiming to perform end-state free energy calculations with GROMACS files. 项目地址: https://gitcode.com/gh_mirrors…...