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://www.jb51.net/article/112372.htm
http://www.cnblogs.com/caidi/p/6009217.html