`
RepublicW
  • 浏览: 83242 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

update-alternatives

 
阅读更多
同样是编辑器,就有 nvi、vim、emacs、nano,而且我说的这些还只是一部分。大多数情况下,这样的功能相似的软件都是同时安装在系统里的,可以用它们的名称来执行。例如,要执行 vim,只要在终端下输入 vim 并按回车就可以了。不过,有些情况下我们需要用一个相对固定的命令调用这些程序中的一个。例如,当我们写一个脚本程序时,只要写下 editor,而不希望要为“编辑器是哪个”而操心。Debian 提供了一种机制来解决这个问题,而 update-alternatives 就是用来实现这种机制的。

1)首先要介绍的参数是 --display。它使我们可以看到一个命令的所有可选命令。执行:
update-alternatives --display editor
可以看到我的机器上的所有可以用来被 editor 链接的命令。

2)--config。这个选项使我们可以选择其中一个命令程序来作为editor,执行:
update-alternatives --config editor

首先,update-alternatives 在一般情况下是由postinst 和 prerm 这样的安装脚本自动调用的,所以一个 alternative 的状态有两种:自动和手动。每个 alternative 的初始状态都是自动。如果系统发现管理员手动修改了一个 alternative,它的状态就从自动变成了手动,这样安装脚本就不会更新它了。如果你希望将一个 alternative 变回自动,只要执行代码:
update-alternatives --auto editor

general name -- 这是指一系列功能相似的程序的“公用”名字(包括绝对路径),比如 /usr/bin/editor。
link -- 这是指一个 alternative 在 /etc/alternative 中的名字,比如 editor。
alternative -- 顾名思义,这是指一个可选的程序所在的路径(包括绝对路径),比如 /usr/bin/vim。

-auto,--display 和 --config 跟的都是 link。我们要说的第三个概念是优先级。这个比较简单,当然优先级越高的程序越好啦。最后一个概念是主和从的 alternative。想想看,你将 /usr/bin/editor 链接到了 vim,可是当你执行 man editor 时看到的却是 emacs 的 manpage,你会做何感想呢?这就引出了主和从 alternative 的概念了:当更新主的 alternative 时,从的 alternative 也会被更新。

另外两个选项:
第一个是 --install。它的格式是:  代码:

update-alternatives --install gen link alt pri [--slave sgen slink salt] ...

gen,link,alt,pri 分别是我们上面说过的。如果需要从的 alternative,你可以用--slave 加在后面。如果你在向一个已经存在的 alternative 组中添加新的 alternatives,该命令会把这些 alternatives 加入到这个已经存在的 alternative 组的列表中,并用新的可选命令作为新的命令;否则,将会建立一个新的自动的 alternative组。

呜呼!我加入了一个错误的 alternative。我不想要这个 alternative 了。在这种情况
下,可以执行下面的命令:代码:

update-alternatives --remove name path
分享到:
评论

相关推荐

    linux使用update-alternatives切换java版本

    Linux 使用 update-alternatives 切换 Java 版本 Linux 操作系统中切换 Java 版本是一项常见的操作, especialmente 在开发和测试环境中。update-alternatives 命令是 Linux 中的一个实用工具,可以用来管理和切换 ...

    linux软件版本管理命令update-alternatives使用详解

    `update-alternatives`命令就是Linux提供的一种方便的软件版本管理工具,它允许用户轻松地在系统中设置多个可选的软件版本,并根据需要进行切换。本文将详细解析`update-alternatives`的使用方法和步骤。 首先,...

    Ubuntu10.04下安装gcc4.1_g++4.1.pdf

    sudo update-alternatives --install /usr/bin/i686-linux-gnu-g++ i686-linux-gnu-g++ /usr/bin/i686-linux-gnu-g++-4.4 40 # 安装版本为 4.1 的 i686-linux-gnu-g++ sudo update-alternatives --install /usr/bin...

    jdk-7u80-nb-8_0_2-linux-x64

    $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.7.0_10/bin/javac 300 $ sudo update-alternatives --config java $ sudo update-alternatives --config javac 4.检测,输入...

    部署python flask项目到云服务器(flask+mysql+uwsgi+nginx)

    部署python flask项目到云服务器 这是我第一次写博客,写的不好请多多见谅。 操作环境是ubuntu16.04,使用xshell和xftp工具,记得进入root用户,如果没有需要设置,怎么设置...sudo update-alternatives –install /

    JDK7u80_linux_64版本下载(含deb安装包,可直接安装)

    包中包含jdk-7u80-linux-x64.tar.gz和oracle-java7-jdk_7u80_amd64.deb,其中deb包是使用命令把tar.gz转换生成...sudo update-alternatives --list java sudo update-alternatives --config java 选择需要的编号即可。

    ubuntu-gcc、g++不同版本的安装和切换.pdf

    本文将详细介绍如何在Ubuntu系统中安装不同版本的GCC和G++,以及如何使用`update-alternatives`工具来轻松地在这些版本之间进行切换。 #### 查看当前安装的GCC版本 首先,我们需要确定当前系统中已经安装了哪些GCC...

    tomcat解决JPS不可用的问题

    5. 使用 update-alternatives 命令来配置 Java 虚拟机的执行程序 java。 6. 选择正确的 Java 版本,并将其设置为默认的 JVM。 7. 执行 JPS 命令,查看是否可以使用了。如果不可用,可能需要创建符号链接来解决问题。...

    Linux环境配置Java.docx

    命令为 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_51/bin/java 300、sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_51/bin/javac 300、sudo...

    ubuntu安装gcc、g++

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 ``` 同样,要设置GCC 5为默认版本,执行: ```bash sudo update-alternatives --install /...

    linux ubuntu安装配置JDK.docx

    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/home/goodong/Desktop/jdk1.8.0_102/bin/javaws" 1 ``` 然后,使用`--set`选项将默认选择设置为刚安装的JDK版本: ```bash sudo update-...

    Ubuntu1604安装多个python版本的问题及解决方法.pdf

    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 ``` 添加 Python 3.5 到 update-alternatives: ``` sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin...

    OpenMeetings-linux-中文安装过程.pdf

    update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_32/bin/javaws 1 update-alternatives --config javac update-alternatives --config java update-alternatives --config javaws ...

    Java Runtime Environment Version 7 Update 7 jre-7u7-linux-i586

    #update-alternatives --install /usr/bin/java java /opt/java/jre1.7.0_05/bin/java 1 #update-alternatives --set java /opt/java/jre1.7.0_05/bin/java #mkdir -p /root/.mozilla/plugins #ln -sf /opt/java/jre...

    Linux JDK卸载与安装

    sudo update-alternatives --config java ``` 2. **移除JDK链接**: 如果你使用的是`alternatives`系统来管理Java版本,需要先解除JDK的软链接: ``` sudo update-alternatives --remove-all java sudo ...

    Ubuntu下安装配置JDK7

    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300 sudo update-...

    JDK1.8 Linux安装包

    sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.8.0_version_number/bin/javaws 1 ``` 然后,设置每个工具的默认版本: ```bash sudo update-alternatives --config java sudo ...

    linux安装配置运行jmeter.pdf

    为确保新安装的JDK成为默认版本,需使用`update-alternatives`命令设置优先级,例如: ```bash update-alternatives --install /usr/bin/java java /usr/lib/jvm/java7/bin/java 300 update-alternatives --install...

    jdk8_Linux_x86_x64 Linux 系统下载

    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_版本号/bin/javac 1 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_版本号/bin/jar 1 ``` 然后,...

Global site tag (gtag.js) - Google Analytics