一、功能作用

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

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

  1. [转帖]Linux中awk工具的使用

    Linux中awk工具的使用 2018年10月09日 17:26:20 谢公子 阅读数 2170更多 分类专栏: linux系统安全   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  2. linux中awk工具的使用(转)

    add by zhj: awk很强大,它是一个简单的编程语言,国外有本专门的书介绍它的用法.<effective awk programming>,它支持整型,字符串型,数组,变量在使用前 ...

  3. Linux 笔记 - 第十三章 Linux 系统日常管理之(四)Linux 中 rsync 工具和网络配置

    博客地址:http://www.moonxy.com 一.前言 rsync 命令是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,可以理解为 remote sync(远程同步) ...

  4. linux中的工具

    远程连接linux的工具: 命令行: SecureCRT   putty  XShell(商业环境付费) 图形界面:WinSCP SecureFX 远程连接window服务器工具: FileZilla ...

  5. linux中grep工具

    正则表达式 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx. ...

  6. Kali Linux中下载工具Axel的安装和使用

    前言: Axel是一个多线程的HTTP/FTP下载工具,支持断点续传. Axel的安装 apt-get install axel Axel的卸载 apt remove axel 安装完成之后输入 ax ...

  7. linux中awk工具的使用(转载)

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

  8. linux中awk工具的使用

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

  9. linux中find工具

    find 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限. ...

随机推荐

  1. zabbix(2-server-agent)

    注意:以下步骤都是在LAMP配置之后进行的. 关于LAMP环境的简单快速搭建,见博客:http://afterdawn.blog.51cto.com/7503144/1923139 下面开始介绍在Ce ...

  2. MVC 如何在action中获取当前网站的根路径

    如果基于MVC搭建的网站在IIS发布的是一个单独的端口,那么可以直接通过后面语句获得跟路径:Request.Url.GetLeftPart(UriPartial.Authority).ToString ...

  3. 20155235 《网络攻防》 实验八 Web基础

    20155235 <网络攻防> 实验八 Web基础 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表 ...

  4. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  5. 利用RMAN转移裸设备到文件系统

    本文只是为了个人备忘. 参考eagyle的:http://www.eygle.com/archives/2005/12/oracle_howto_move_datafile_raw.html 我首先挂 ...

  6. vue.js 2.0实现的简单分页

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  7. python 画圆

    import numpy as np import matplotlib.pyplot as plt # ========================================== # 圆的 ...

  8. SQL Server 全文搜索

    SQL Server 的全文搜索(Full-Text Search)是基于分词的文本检索功能,依赖于全文索引.全文索引不同于传统的平衡树(B-Tree)索引和列存储索引,它是由数据表构成的,称作倒转索 ...

  9. LHS 和 RHS----你所不知道的JavaScript系列(1)

      变量的赋值操作会执行两个动作, 首先编译器会在当前作用域中声明一个变量(如果之前没有声明过), 然后在运行时引擎会在作用域中查找该变量, 如果能够找到就会对它赋值.----<你所不知道的Ja ...

  10. 《杜增强讲Unity之Tanks坦克大战》1-准备工作

    0.案例介绍 0.1开始界面   点击Play Now 进入游戏界面   左边的坦克使用ws控制前后移动,ad键左右旋转,空格键开火   右边的坦克使用方向键上下控制前后移动,方向键左右键实现左右旋转 ...