Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)

一、功能作用

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

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

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

最明显的场景,比如同时安装了OpenJDK和JDK,那么在命令行上使用java时就可以通过这个命令来进行切换。

二、位置

/usr/bin/update-alternatives

三、格式用法

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

四、主要参数

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                显示版本信息.

五、应用实例

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

参考:

http://www.lampblog.net/ubuntu/update-alternatives%E5%91%BD%E4%BB%A4/(以上内容转自此篇文章)

http://jingyan.baidu.com/article/ff42efa92a64c9c19e2202d2.html(配置Java的切换)

http://coolnull.com/3339.html

http://www.jb51.net/article/112372.htm

http://www.cnblogs.com/caidi/p/6009217.html

http://www.mamicode.com/info-detail-1144825.html

http://blog.csdn.net/zm_21/article/details/9495249

时间: 2024-10-27 09:50:08

Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)的相关文章

linux中安装QQ、中文输入法等软件

安装QQ.中文输入法等软件包 卸载原来的光盘,挂载光盘. Rpm格式的压缩包用rpm安装,tar包需要解压,./configure 配置,编译安装. linux中安装QQ.中文输入法等软件

linux中分区工具的使用

列出可用的磁盘设备 图形化磁盘管理功能工具:点击"应用程序"->"系统工具"->"磁盘"或执行命令gnome-disks 列出块设备 lsblk 创建分区使用: fdisk创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区 gdisk创建GPT分区 GNU parted高级分区操作(创建.复制.调整大小等等) partprobe-重新设置内存中的内核分区表版本 分区工具fdisk和gdisk fdisk /dev/sdb

举例讲解Linux中tcpdump工具的应用

先来看一个比较基本的用法: tcpdump -i eth0 其中,eth0为参数值,表示需要抓包的网口,这是个必需参数哦. tcpdump的具体参数及意义: -i:指定tcpdump监听的网络接口 -s:指定要监听数据包的长度 -c:指定要监听的数据包数量,达到指定数量后自动停止抓包 -w:指定将监听到的数据包写入文件中保存 -A:指定将每个监听到的数据包以ACSII可见字符打印 -n:指定将每个监听到数据包中的域名转换成IP地址后显示 -nn:指定将每个监听到的数据包中的域名转换成IP.端口从

linux中sed工具的使用

sed 本身也是一个管线命令,而且 sed 还可以将数据进行取代.删除.新增.撷取特定行等等的功能. $ sed [-nefr] [动作] 选项与参数: -n :使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上. 但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者动作)才会被列出来. -e :直接在命令行界面上进行 sed 的动作编辑: -f :直接将 sed 的动作写在一个文件内, -f filename 则可以执行

linux中crontab工具开启服务

首先确认服务器是否开启任务计划服务,只有root用户才能对crond服务进行开启和关闭[[email protected] ~]# service crond statuscrond (pid  1758) is running...[[email protected] ~]# service crond stopStopping crond:                                            [  OK  ][[email protected] ~]# su

linux中CentOS、Ubuntu、Debian三个版本系统 差别

Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本. 商业版本以Redhat为代表,开源社区版本则以debian为代表.这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论.而绝大多数VPS上只提供开源社区维护的发行版本.下面就这些不同的Linux发行版进行简单的分析. Ubuntu Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数

Linux包管理工具(rpm/dpkg,yum/apt,alien)

概括: rpm/yum  redhat dpkg/apt  debian alien 转换 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本.软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询.RPM 全称为 Redhat Package Manager,最早由 Red Ha

linux中软件包管理工具rpm和yum

首先了解下linux中程序包的相关知识  包管理器:打包,包管理(安装.升级.卸载.查询及校验)             rpm: redhat package manager (早起使用perl语言写)           RPM is Package Manager ---->通过C语言实现,性能大幅提升            程序包的组成部分:                    二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin,  可执行文件       

Linux中的update-alternatives(或alternatives)

alternatives与update-alternatives好像是同一样工具(各个linux发行版使用的不一样),这里就以update-alternatives为例进行讲述.update-alternatives是linux里很有用的工具,不仅在Debian系列,redhat系列也同样有它. linux发展到今天,可用的软件已经非常多了.这样自然会有一些软件的功能大致上相同.例如,同样是编辑器,就有nvi,vim,emacs,nano等.大多数情况下,这样的功能相似的软件都是同时安装在系统里