[Ubuntu]update-alternatives命令说明简介及用法

本文介绍了Debian系统中update-alternatives工具的功能和使用方法,包括如何安装、配置和管理命令的符号链接,以实现系统默认命令的选择。此外,还提供了具体的命令示例。

1.功能作用

update-alternatives是dpkg的实用工具,用来维护系统命令的符号链接,以决定系统默认使用什么命令。

在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配置,如Web浏览器程序(firefox,konqueror)、窗口管理器(wmaker、metacity)和鼠标的不同主题等。这样,用户在使用系统时就可进行选择,以满足自已的需求。

但对于普通用户来说,在这些程序间进行选择配置会较困难。update-alternatives工具就是为了解决这个问题,帮助用户能方便地选择自已喜欢程序和配置系统功能

2.位置

/usr/bin/update-alternatives

3.格式用法

update-alternatives [<选项> ...] <命令>

4.主要参数

Commands:
  --install <link> <name> <path> <priority>
    [--slave <link> <name> <path>] ...
                           在系统中加入一组替换项.
  --remove <name> <path>   从 <名称> 替换组中去除 <路径> 项.
  --remove-all <name>      从替换系统中删除 <名称> 替换组.
  --auto <name>            将 <名称> 的主链接切换到自动模式.
  --display <name>         显示关于 <名称> 替换组的信息.
  --query <name>           machine parseable version of --display <name>.
  --list <name>            列出 <名称> 替换组中所有的可用替换项.
  --get-selections         list master alternative names and their status.
  --set-selections         read alternative status from standard input.
  --config <name>          列出 <名称> 替换组中的可选项,并就使用其中
                                 哪一个,征询用户的意见.
  --set <name> <path>      将 <路径> 设置为 <名称> 的替换项.
  --all                    对所有可选项一一调用 --config 命令.
<link> 是指向 /etc/alternatives/<名称> 的符号链接>.
  (e.g. /usr/bin/pager)
<name> 是该链接替换组的主控名.
  (e.g. pager)
<path> 是替换项目标文件的位置.
  (e.g. /usr/bin/less)
<priority> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高.
Options:
  --altdir <directory>     指定不同的可选项目录.
  --admindir <directory>   指定不同的管理目录.
  --log <file>             设置log文件.
  --force                  allow replacing files with alternative links.
  --skip-auto              skip prompt for alternatives correctly configured
                           in automatic mode (relevant for --config only)
  --verbose                详尽的操作进行信息,更多的输出.
  --quiet                  安静模式,输出尽可能少的信息.
  --help                   显示本帮助信息.
  --version                显示版本信息.

5.应用实例

1、列出可用的候选命令
update-alternatives --list java

2、显示和修改实际指向的候选命令,
sudo update-alternatives --config java

3、配置系统上所有的候选命令
sudo update-alternatives --all

4、显示一个命令链接的所有可选命令
update-alternatives --display editor

5、将 <名称> 的主链接切换到自动模式
sudo update-alternatives --auto editor

6、在系统中加入一组替换项
sudo update-alternatives --install x-cursor-theme x-cursor-theme /etc/X11/cursors/Gold.theme 70

Linux 系统中,如果 `update-alternatives` 命令无法被识别,通常是因为该工具未安装或当前使用的发行版不支持此命令。`update-alternatives` 最初是 Debian 系列系统(如 Ubuntu)中的版本管理工具,用于切换多个应用程序版本,例如 Python 或 Java [^1]。 在某些基于 Fedora 的发行版(如 Red Hat、CentOS)中,使用的是 `alternatives` 命令,而非 `update-alternatives`。此外,在一些轻量级或最小化安装的系统中,可能并未预装该工具,导致执行时提示命令未找到。 --- ### 检查并安装 update-alternatives 对于基于 Debian/Ubuntu 的系统,可以使用以下命令检查是否安装了 `update-alternatives`: ```bash which update-alternatives ``` 如果未找到该命令,可以通过包管理器进行安装: ```bash sudo apt-get install dpkg-dev ``` 安装完成后,即可使用 `update-alternatives` 来管理多版本软件。 --- ### 替代方案:手动创建符号链接 如果系统不支持 `update-alternatives` 或安装受限,可以采用手动方式设置默认 Python 版本。例如,删除 `/usr/bin/python` 符号链接,并重新指向所需版本: ```bash sudo rm /usr/bin/python sudo ln -s /usr/bin/python3.8 /usr/bin/python ``` 需要注意的是,直接修改 `/usr/bin/python` 可能会影响依赖特定 Python 版本的系统工具,因此建议仅在清楚后果的情况下操作 [^1]。 --- ### 使用 pyenv 管理 Python 版本 另一种更灵活的方法是使用 `pyenv` 工具来管理 Python 版本。`pyenv` 不依赖于系统全局配置,而是在用户目录下维护多个 Python 版本,并提供便捷的切换机制。 安装 `pyenv`: ```bash curl https://pyenv.run | bash ``` 添加环境变量到 shell 配置文件(如 `.bashrc` 或 `.zshrc`): ```bash export PATH="/home/user/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)" ``` 安装指定版本的 Python: ```bash pyenv install 3.9.7 pyenv global 3.9.7 ``` 此时,执行 `python --version` 将使用 `pyenv` 设置的默认版本。 --- ### 总结 - 在部分 Linux 发行版中,`update-alternatives` 并非默认安装,需通过包管理器手动安装。 - 对于基于 Fedora 的系统,应使用 `alternatives` 命令替代 `update-alternatives`。 - 若系统不支持该命令,可选择手动创建符号链接或使用 `pyenv` 等第三方工具实现版本管理 [^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值