1. 运行官方卸载脚本

退出所有 conda 环境:

conda deactivate
# 确保提示符前面没有 (base)

在终端中执行以下命令,根据提示输入 yes 确认,程序会自动删除整个 Miniconda3 安装目录(包含所有虚拟环境和包缓存):

~/miniconda3/uninstall.sh

2. 清理 Shell 配置文件

打开 ~/.bashrc(或 ~/.zshrc、~/.bash_profile),找到并删除 # >>> conda initialize >>> 与 # <<< conda initialize <<< 之间的所有 conda 初始化代码块:

nano ~/.bashrc

需要删除的代码块示例如下:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/baijin/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/baijin/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/baijin/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/baijin/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

保存退出后,执行以下命令使配置生效:

source ~/.bashrc

3. 删除残留隐藏文件与缓存

执行以下命令清理用户目录下的配置文件和缓存:

rm -rf ~/.conda ~/.anaconda ~/.condarc ~/.continuum ~/.cache/conda ~/.cache/conda-anaconda-tos

4. 验证卸载结果

打开一个新的终端窗口,输入 conda 命令。若提示 command not found,则说明已彻底清理干净。

1. 核心机制:优先级插队与向下兼容
Conda 的环境隔离并非绝对封闭的“黑盒”,而是基于操作系统原生机制的“PATH 变量优先级游戏”。当激活某个 Conda 环境时,Conda 会将该环境的 bin 目录动态插入到当前终端会话 PATH 变量的最前端。系统在查找可执行文件时,会严格遵循从左到右的顺序,找到第一个匹配项即停止执行。

2. 三层 PATH 的查找顺位
在激活特定的 Conda 虚拟环境后,底层的命令查找路径(PATH)会形成以下三级阶梯:

  • 第一顺位(最高优先级):Conda Env 专属路径。系统会优先在当前虚拟环境的 bin 目录下寻找命令(如独立的 Python 解释器、pip 或 Conda 安装的特定工具)。
  • 第二顺位(父系继承):Conda Base 路径。若当前环境缺失某工具,系统会向上回溯,在 Conda 的 base 基础环境中进行查找。
  • 第三顺位(系统兜底):WSL 原生系统路径。若前两级均未找到,系统最终会去 WSL 宿主机的全局目录(如 /usr/bin、/bin)中寻找底层工具。

3. 隔离的边界:可执行文件 vs Python 模块

  • 系统级命令行工具(如 ffmpeg、git):受 PATH 机制管辖。Conda 环境会优先使用自身或 Base 提供的版本;若缺失,则会无缝“借用” WSL 系统提供的底层工具,实现向下兼容。
  • Python 第三方库(如 numpy、torch):受 Python 解释器的 sys.path 机制管辖。Conda 环境在启动时,会将模块搜索路径严格限定在自身的 site-packages 目录内,完全不会去扫描 WSL 系统的 /usr/lib/python3 目录,从而实现 Python 代码与依赖库的绝对隔离。

4. 会话级生命周期
这种基于 PATH 重排的隔离机制是会话级(Session-level)的。它仅在当前打开的终端窗口内有效。当关闭终端或重启 WSL 时,PATH 变量会恢复为 WSL 系统的默认状态,Conda 环境的激活状态随之失效,需重新执行 conda activate 建立指向。

conda 24+的特性

(base) baijin@baijindate:~$ conda env list

这是 conda 24+ 的默认行为(24 之前默认不激活 base)。

  • 🟢 base 已经有 Python / pip / setuptools 等工具,开箱即用
  • 🟡 不喜欢可关闭:

    conda config --set auto_activate_base false

    关掉后新终端里就要手动 conda activate base 才能用 base 的包。


A. 添加清华源

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 --set show_channel_urls yes

# 验证
conda config --show channels

B. 创建第一个工作虚拟环境

# 例:建一个 Python 3.11 的科学计算环境
conda create -n science python=3.11 --yes
conda activate science
conda install -y numpy pandas matplotlib jupyter

# 验证
python -c "import numpy, pandas, matplotlib; print('OK')"
jupyter --version

# 退出
conda deactivate

C. conda 常用命令速查

conda env list                  # 列出所有环境
conda activate <env>            # 激活环境
conda deactivate                # 退出当前环境
conda install -y <pkg>          # 装包
conda uninstall -y <pkg>        # 卸包
conda search <pkg>              # 查包
conda list                      # 当前环境已装的包
conda env remove -n <env>       # 删除整个环境
conda clean --all --yes         # 清理缓存

1. 查看配置文件名

ls /etc/netplan/
说明:当前系统使用的 Netplan 配置文件名为 50-cloud-init.yaml。

2. 编辑配置文件

sudo nano /etc/netplan/50-cloud-init.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:  # 替换为你实际的网卡名称
      dhcp4: no
      addresses:
        - 192.168.1.100/24  # 设置静态 IP 和子网掩码
      routes:
        - to: default
          via: 192.168.1.1  # 设置默认网关
      nameservers:
        addresses:
          - 8.8.8.8         # 设置 DNS 服务器
          - 8.8.4.4

3. 编辑器操作指南

  • 移动光标:使用键盘的 上下左右 方向键移动光标(请勿使用鼠标)。
  • 修改内容:直接打字进行修改。遇到错误时,按 Backspace(退格键)删除。
  • ⚠️ 格式警告:绝对不要按 Tab 键! YAML 文件对缩进要求极其严格,请老老实实使用 空格键 进行缩进。

4. 保存并退出(关键步骤)

  1. 修改完成后,按 Ctrl + O(字母 O,代表 Write Out)保存。
  2. 屏幕底部会提示确认文件名,直接按 回车键 确认保存。
  3. 接着按 Ctrl + X 退出编辑器。

5. 应用配置

sudo netplan apply

1. 安装前准备

  • 更新系统软件包:确保系统处于最新状态。

    sudo apt update && sudo apt upgrade -y
  • 安装必要依赖:确保系统具备下载和安装所需的工具。

    sudo apt install ca-certificates software-properties-common apt-transport-https gnupg wget unzip -y

2. 下载并运行安装脚本

  • 下载官方安装脚本:

    wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
  • 使用 root 权限运行脚本(普通用户需加 sudo):

    sudo bash hst-install.sh

    (注:如果系统提示已存在安装残留,可使用 sudo rm -rf /usr/local/hestia 清理后重新运行)

3. 配置安装选项

在安装脚本的交互提示中,需要输入以下关键信息:

  • 管理员邮箱:输入一个有效的邮箱地址。安装完成后,面板会自动将登录账号和密码发送到该邮箱。
  • 主机名 (FQDN):输入一个合法的完全限定域名(例如你设置的 p.aaaa.com)。此域名主要用于主机命名,安装时不强制要求已经解析到该服务器。
  • 确认安装:系统会列出即将安装的组件(如 Nginx、Apache、PHP-FPM、MariaDB、Exim 邮件服务等),确认无误后输入 y 继续。安装过程大约需要 15-20 分钟。

4. 登录面板与初始配置

  • 获取访问信息:安装完成后,终端会显示你的登录 URL、用户名(默认为 admin)和随机生成的密码。
  • 放行防火墙端口:确保服务器的防火墙已放行 HestiaCP 的默认端口 8083:

    sudo ufw allow 8083/tcp
    sudo ufw reload
  • 访问面板:在浏览器中打开 https://你的服务器IP:8083 或 https://p.aaaa.com:8083。首次访问时,由于使用的是自签名 SSL 证书,浏览器会提示不安全,点击“高级”并添加例外继续访问即可。
  • 切换中文界面:登录面板后,进入用户设置,将语言(Language)更改为 Simplified Chinese(简体中文)并保存。