服務器多用戶共享Conda環境操作指南——Ubuntu24.02

1. 使用阿里云鏡像下載 Anaconda 最新版本

wget https://mirrors.aliyun.com/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

bug解決方案

若出現:使用wget在清華鏡像站下載Anaconda報錯ERROR 403: Forbidden.
解決方案:wget --user-agent=“Mozilla” + 資源鏈接
栗子:wget --user-agent="Mozilla" https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

安裝 Anaconda 到共享目錄

以 root 用戶身份安裝
將 Anaconda 安裝到公共目錄(例如 /opt/anaconda3)

切換到 root 用戶

sudo su

2. 運行安裝腳本

bash Anaconda3-2024.02-1-Linux-x86_64.sh
安裝過程中:
指定安裝路徑:輸入 /opt/anaconda3 并按 Enter。
是否初始化 Anaconda:選擇 yes(自動配置環境變量)。

3. 配置用戶組和權限

3.1 創建 Anaconda 用戶組

創建名為 anaconda 的用戶組,并將所有需要共享環境的用戶添加到該組:
sudo groupadd anaconda
將用戶添加到 anaconda 組(替換 為實際用戶名)
sudo usermod -aG anaconda <username>

3.2 設置共享目錄權限

確保所有用戶對 Anaconda 安裝目錄有讀寫權限

3.3修改安裝目錄的所有者和權限

sudo chown -R root:anaconda /opt/anaconda3
sudo chmod -R 770 /opt/anaconda3

3.4.設置 SGID 權限,確保新建文件繼承組權限

sudo find /opt/anaconda3 -type d -exec chmod g+s {} +

4. 全局環境變量配置

4.1 配置全局 Anaconda 環境變量

vim編輯 /etc/profile.d/etc/profile,添加以下內容:

# 添加 Anaconda 路徑到全局環境變量
export PATH="/opt/anaconda3/bin:$PATH"

4.2 應用配置

使配置立即生效:
source /etc/profile

5. 配置 Anaconda 共享設置

5.1 創建系統級 .condarc 文件

在 Anaconda 安裝目錄下創建全局配置文件,指定共享的包緩存和環境目錄:
sudo mkdir -p /opt/anaconda3/.condarc.d
sudo touch /opt/anaconda3/.condarc.d/shared_condarc.yaml
編輯文件并添加以下內容:

pkgs_dirs:- /opt/anaconda3/pkgs  # 共享包緩存
envs_dirs:- /opt/anaconda3/envs   # 共享環境目錄- ~/.conda/envs          # 用戶私有環境目錄
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.aliyun.com/anaconda/pkgs/main- https://mirrors.aliyun.com/anaconda/pkgs/r- https://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.aliyun.com/anaconda/cloud

5.2 限制共享環境寫入權限

防止普通用戶誤修改共享環境:

# 移除共享環境目錄的寫入權限
sudo chmod -R g-w /opt/anaconda3/envs# 創建保護文件(可選)
sudo touch /opt/anaconda3/envs/.conda_envs_dir_test
sudo chmod 600 /opt/anaconda3/envs/.conda_envs_dir_test

6. 用戶環境初始化

6.1 初始化 Anaconda(每個用戶需執行一次)

每個用戶首次使用 Anaconda 時需初始化:

conda init 
source ~/.bashrc

6.2 驗證 Anaconda 初始化

運行以下命令確保 Anaconda 命令可用:
conda --version

7. 創建和管理共享環境

7.1 創建共享環境

以 root 用戶身份創建共享環境(所有用戶可訪問):

# 設置 umask 以確保共享環境權限正確
umask 0002
conda create -n shared_env python=3.9

7.2 創建用戶私有環境

普通用戶可創建私有環境(僅自己可訪問):
conda create -n private_env python=3.9

8. 驗證多用戶共享功能

8.1 用戶 A 操作

創建共享環境:
conda create -n shared_env python=3.9
安裝包到共享環境:

conda activate shared_env
conda install numpy

8.2 用戶 B 操作

切換用戶并激活共享環境:

su - userB
conda activate shared_env
驗證是否能訪問共享包:
python -c "import numpy; print(numpy.__version__)"

9. 常見問題與解決方案

9.1 權限錯誤

錯誤示例:Permission denied 或 CondaValueError: Environment location must be owned by the user.
解決方法:
確保 /opt/anaconda3 的權限為 770,所有者為 root:anaconda。
檢查用戶是否已加入 anaconda 組:id <username>。

9.2 Anaconda 初始化失敗

錯誤示例:conda: command not found
解決方法:
確認 /etc/profile.d 中的 PATH 正確指向 /opt/anaconda3/bin。
運行 source /etc/profile.d 重新加載環境變量。

9.3 環境激活失敗

錯誤示例:CondaError: Run ‘conda init’ before activating environments.
解決方法:
所有用戶需運行 conda init bash 并重新加載 .bashrc。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906297.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906297.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906297.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于YOLO算法的目標檢測系統實現指南

YOLO(You Only Look Once)作為計算機視覺領域最具影響力的實時目標檢測算法之一&#xff0c;其最新版本YOLOv8在速度與精度之間達到了新的平衡。本文將從技術實現角度&#xff0c;詳細介紹如何使用YOLO算法構建高效的目標檢測系統。 一、算法原理與技術架構 1.1 YOLO核心思想…

C++ asio網絡編程(6)利用C11模擬偽閉包實現連接的安全回收

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、智能指針管理Session二、用智能指針來實現Server的函數1.start_accept()1.引用計數注意點2.std::bind 與異步回調函數的執行順序分析 2.handle_accept1.異步…

AI與產品架構設計(2):Agent系統的應用架構與落地實

什么是AI Agent&#xff1f;其在架構中的獨特定位 AI Agent&#xff08;人工智能代理&#xff09;是一種模擬人類智能行為的自主系統&#xff0c;通常以大型語言模型&#xff08;LLM&#xff09;作為核心引擎。簡單來說&#xff0c;Agent能夠像人一樣感知環境信息、規劃行動方…

Rust 數據結構:String

Rust 數據結構&#xff1a;String Rust 數據結構&#xff1a;String什么是字符串&#xff1f;創建新字符串更新字符串將 push_str 和 push 附加到 String 對象后使用 運算符和 format! 宏 索引到字符串字符串在內存中的表示字節、標量值和字形簇 分割字符串遍歷字符串的方法 R…

Java卡與SSE技術融合實現企業級安全實時通訊

簡介 在數字化轉型浪潮中,安全與實時數據傳輸已成為金融、物聯網等高安全性領域的核心需求。本文將深入剖析東信和平的Java卡權限分級控制技術與浪潮云基于SSE的大模型數據推送技術,探索如何將這兩項創新技術進行融合,構建企業級安全實時通訊系統。通過從零到一的開發步驟,…

繼MCP、A2A之上的“AG-UI”協議橫空出世,人機交互邁入新紀元

第一章&#xff1a;AI交互的進化與挑戰 1.1 從命令行到智能交互 人工智能的發展歷程中&#xff0c;人機交互的方式經歷了多次變革。早期的AI系統依賴命令行輸入&#xff0c;用戶需通過特定指令與機器溝通。隨著自然語言處理技術的進步&#xff0c;語音助手和聊天機器人逐漸普…

MySQL刷題相關簡單語法集合

去重 distinct 關鍵字 eg. &#xff1a;select distinct university from user_profile 返回行數限制&#xff1a; limit關鍵字 eg. &#xff1a;select device_id from user_profile limit 2 返回列重命名&#xff1a;as 關鍵字 eg.&#xff1a;select device_id as user_in…

Kubernetes MCP服務器(K8s MCP):如何使用?

#作者&#xff1a;曹付江 文章目錄 1、什么是 Kubernetes MCP 服務器&#xff1f;1.1、K8s MCP 服務器 2、開始前的準備工作2.1. Kubernetes集群2.2. 安裝并運行 kubectl2.3. Node.js 和 Bun2.4. &#xff08;可選&#xff09;Helm v3 3、如何設置 K8s MCP 服務器3.1. 克隆存儲…

計算機網絡-HTTP與HTTPS

文章目錄 計算機網絡網絡模型網絡OSITCP/IP 應用層常用協議HTTP報文HTTP狀態碼HTTP請求類型HTTP握手過程HTTP連接HTTP斷點續傳HTTPSHTTPS握手過程 計算機網絡 網絡模型 為了解決多種設備能夠通過網絡相互通信&#xff0c;解決網絡互聯兼容性問題。 網絡模型是計算機網絡中用于…

Springboot 跨域攔截器配置說明

錯誤代碼 跨域設置 Configuration public class WebConfig implements WebMvcConfigurer {/*** cors 跨域配置*/Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedMethods("GET", "HEAD", &qu…

受不了github的網絡限制了,我開源了一個圖床工具 gitee-spring-boot-starter

嗨嗨嗨~ 我老馬又又來了&#xff01;&#xff01;&#xff01;上次寫了一篇我開源了一款阿里云OSS的spring-boot-starter&#xff0c;然后買的資源包到期了&#xff0c;后面又想白&#xff08;開&#xff09;嫖&#xff08;源&#xff09;的路子&#xff0c;首先想到了使用gith…

基于labview的聲音采集、存儲、處理

程序1&#xff1a;基于聲卡的數據采集 程序2&#xff1a;基于聲卡的雙聲道模擬輸出 程序3&#xff1a;聲音信號的采集與存儲 程序4&#xff1a;聲音信號的功率譜分析 程序5&#xff1a;基于labview的DTMF

第一次經歷項目上線

這幾天沒寫csdn&#xff0c;因為忙著項目上線的問題&#xff0c;我這階段改了非常多的前端bug哈哈哈哈&#xff0c;說幾個比較好的bug思想&#xff01; 這個頁面算是我遇到的比較大的bug&#xff0c;因為我一開始的邏輯都寫好了&#xff0c;詢價就是在點擊快遞公司彈出彈框的時…

基于EFISH-SCB-RK3576/SAIL-RK3576的消防機器人控制器技術方案?

&#xff08;國產化替代J1900的應急救援智能化解決方案&#xff09; 一、硬件架構設計? ?極端環境防護系統? ?防爆耐高溫設計?&#xff1a; 采用陶瓷纖維復合裝甲&#xff08;耐溫1200℃持續1小時&#xff09;&#xff0c;通過GB 26784-2023消防設備防爆認證IP68防護等級…

企業開發工具git的使用:從入門到高效團隊協作

前言&#xff1a;本文介紹了Git的安裝、本地倉庫的創建與配置&#xff0c;以及工作區、暫存區和版本庫的區分。詳細講解了版本回退、撤銷修改等操作&#xff0c;并深入探討了分支管理&#xff0c;包括分支的創建、切換、合并、刪除及沖突解決。此外&#xff0c;還介紹了遠程操作…

Java反射機制詳解:原理、應用與實戰

一、反射機制概述 Java反射(Reflection)是Java語言的一個強大特性&#xff0c;它允許程序在運行時(Runtime)獲取類的信息并操作類或對象的屬性、方法等。反射機制打破了Java的封裝性&#xff0c;但也提供了極大的靈活性。 反射的核心思想&#xff1a;在運行時而非編譯時動態獲…

成功案例丨從草圖到鞍座:用先進的發泡成型仿真技術變革鞍座制造

案例簡介 在鞍座制造中&#xff0c;聚氨酯泡沫成型工藝是關鍵環節&#xff0c;傳統依賴實驗測試的方法耗時且成本高昂。為解決這一問題&#xff0c;意大利自行車鞍座制造商 Selle Royal與Altair合作&#xff0c;采用Altair Inspire PolyFoam軟件進行發泡成型仿真。 該工具幫助團…

隧道結構安全在線監測系統解決方案

一、方案背景 隧道是地下隱蔽工程&#xff0c;會受到潛在、無法預知的地質因素影響。隨著我國公路交通建設的發展&#xff0c;隧道占新建公路里程的比例越來越大。隧道屬于線狀工程&#xff0c;有的規模較大&#xff0c;可長達幾公里或數十公里&#xff0c;往往穿越許多不同環境…

選錯方向太致命,華為HCIE數通和云計算到底怎么選?

現在搞HCIE的兄弟越來越多了&#xff0c;但“數通和云計算&#xff0c;到底考哪個&#xff1f;”這問題&#xff0c;依舊讓不少人頭疼。 一個是華為認證的老牌王牌專業——HCIE數通&#xff0c;穩、系統、崗位多&#xff1b; 一個是新趨勢方向&#xff0c;貼合云原生、數字化…

相機基礎常識

相機基礎常識 相機中顏色濾鏡的作用&#x1f3a8; 1. **捕捉彩色圖像**? 最常見的顏色濾鏡陣列是 **拜耳濾鏡&#xff08;Bayer Filter&#xff09;**&#xff1a; &#x1f50d; 2. **實現特定的圖像效果或分析功能**? 常見的濾鏡類型包括&#xff1a; &#x1f6e0;? 3. *…