update-alternatives 使用笔记:多版本共存的软链接管理器

在 Linux 系统中,update-alternatives 是一种用于管理命令软链接的工具,适合管理多个版本共存的程序,例如不同版本的 PHP、Java、GCC、Python 等。通过它可以灵活控制哪个版本被调用、切换默认版本、统一管理系统路径下的可执行程序。 一、基本原理 Linux 中大多数命令其实都是 /usr/bin/xxx 的可执行文件,这些文件很多是软链接: ls -l /usr/bin/php # 可能指向 -> /etc/alternatives/php # 再指向 -> /usr/bin/php8.2 update-alternatives 就是负责管理 /etc/alternatives/ 中的这些链接,并允许你注册多个候选路径、设置优先级、手动切换或自动切换。 二、常用参数 参数 说明 --install 添加一个新候选版本 --remove 移除某个候选路径 --config 手动选择当前使用哪个版本 --set 直接设置当前使用路径 --display / --query 查看当前配置状态 --auto 恢复为优先级自动选择模式 –install 的四个位置参数 update-alternatives --install 是添加“候选版本”的关键命令,它的完整语法格式如下: sudo update-alternatives --install <链接路径> <名字> <实际可执行路径> <优先级> 参数位置 含义 示例值 说明 链接路径 创建的统一入口点 /usr/bin/php 这是用户最终执行命令时调用的路径 名字 系统识别用的名称 php 是“组名”,管理同类版本的别名 实际路径 程序的真实可执行文件路径 /usr/bin/php7.4 要加入的某个版本路径 优先级 一个整数 74 数值越大,优先级越高,自动模式下会选择它 实例 你系统中已经安装了 PHP 7.4 和 PHP 8.2,可以这样添加: ...

July 23, 2025 · 2 min · 翼橙

配置 Docker 国内镜像加速:daemon.json 写法、生效验证与排错

从国内直接拉 Docker Hub 的镜像,常见的表现是速度只有几十 KB/s,或者干脆卡在 Retrying in 5 seconds 反复重试。解决办法是给 Docker 配一组镜像加速源—— 它们是 Docker Hub 的只读缓存,你 docker pull 时 Docker 先去这些地址找, 找不到才回源。 一、写入 daemon.json /etc/docker/daemon.json 是 Docker 守护进程的配置文件,registry-mirrors 就是加速源列表。配多个是为了容错:某个源挂了会自动试下一个。 执行以下命令: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1panel.live", "https://docker.1ms.run", "https://dytt.online", "https://docker-0.unsee.tech", "https://lispy.org", "https://docker.xiaogenban1993.com", "https://666860.xyz", "https://hub.rat.dev", "https://docker.m.daocloud.io", "https://demo.52013120.xyz", "https://proxy.vvvv.ee" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 这些镜像源来自 GitHub 项目 dongyubin/DockerHub, 那里有一份持续更新的可用列表。 ...

June 27, 2025 · 1 min · 翼橙