linux 软件多版本共存
update-alternatives 命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。alternatives 的管理目录 /etc/alternatives 。
alternatives 管理方式
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 24 1120 2017 /usr/bin/python -> /etc/alternatives/python
$ ls -l /etc/alternatives/python
lrwxrwxrwx 1 root root 18 1121 2017 /etc/alternatives/python -> /usr/bin/python2.7
python 这个可执行命令实际是一个链接,指向了 /etc/alternatives/python 。而这个也是一个链接,指向了 /usr/bin/python2.7 ,这才是最终的可执行文件。alternatives 实际上是通过软链接的方式对版本进行管理。
语法
$ update-alternatives --help
用法:update-alternatives [<选项> ...] <命令>
命令:
--install <链接> <名称> <路径> <优先级>
[--slave <链接> <名称> <路径>] ...
在系统中加入一组候选项。
--remove <名称> <路径> 从 <名称> 替换组中去除 <路径> 项。
--remove-all <名称> 从替换系统中删除 <名称> 替换组。
--auto <名称> 将 <名称> 的主链接切换到自动模式。
--display <名称> 显示关于 <名称> 替换组的信息。
--query <名称> 机器可读版的 --display <名称>.
--list <名称> 列出 <名称> 替换组中所有的可用候选项。
--get-selections 列出主要候选项名称以及它们的状态。
--set-selections 从标准输入中读入候选项的状态。
--config <名称> 列出 <名称> 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
--set <名称> <路径> 将 <路径> 设置为 <名称> 的候选项。
--all 对所有可选项一一调用 --config 命令。
<链接> 是指向 /etc/alternatives/<名称> 的符号链接。(如 /usr/bin/pager)
<名称> 是该链接替换组的主控名。(如 pager)
<路径> 是候选项目标文件的位置。(如 /usr/bin/less)
<优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
..........
实例
- display 参数显示关于 Python 替换组的信息
$ update-alternatives --display python
python - 手动模式
link best version is /usr/bin/python3.5
链接目前指向 /usr/bin/python2.7
link python is /usr/bin/python
/usr/bin/python2.7 - 优先级 1
/usr/bin/python3.5 - 优先级 2
- 选择候选项
$ update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/bin/python3.5 2 自动模式
* 1 /usr/bin/python2.7 1 手动模式
2 /usr/bin/python3.5 2 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
- install 参数用于添加一个命令的link值
# 添加 python link
$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
# 第一个参数: --install 表示向update-alternatives注册服务名。
# 第二个参数: 注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;
# 第三个参数: 服务名,以后管理时以它为关联依据。
# 第四个参数: 被管理的命令绝对路径。
# 第五个参数: 优先级,数字越大优先级越高。
- remove 参数用于删除一个命令的link值,其附带的slave也将一起删除
$ update-alternatives –remove python /usr/bin/python2.7
linux 软件多版本共存的更多相关文章
- Linux下快速静态编译Qt以及Qt动态/静态版本共存
Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...
- 使用Linux的alternatives命令替换选择软件的版本
上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询 ...
- Python linux多版本共存以及虚拟环境管理(转摘)
Python linux多版本共存以及虚拟环境管理 2017年08月01日 18:42:25 sliderSun 阅读数:197更多 个人分类: python 版权声明:本文为博主原创文章,未经博 ...
- Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)
经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...
- linux 下多版本gcc 共存问题
linux 下多版本gcc 共存问题 http://blog.csdn.net/isfirst/article/details/42296583 参考 http://blog.csdn.net/chi ...
- Linux下快速静态编译Qt以及Qt动态/静态版本共存(提供了编译4.6,5.6的精通编译脚本,并且apt-get install 需要的库也全列出来了。还有分析问题的心理过程)good
qt4.6 Linux./configure -static -release -confirm-license -opensource -qt-zlib -qt-libpng -qt-libjpeg ...
- centos LAMP第一部分-环境搭建 Linux软件删除方式,mysql安装,apache,PHP,apache和php结合,phpinfo页面,ldd命令 第十九节课
centos LAMP第一部分-环境搭建 Linux软件删除方式,mysql安装,apache,PHP,apache和php结合,phpinfo页面,ldd命令 第十九节课 打命令之后可以输入: e ...
- linux 软件的安装与Tarball
Linux 系统上真正认识的可执行文件其实是二进制文件 ( binary program ) shell scripts 只是利用 shell (例如 bash) 这支程序的功能进行一些判断式,而最终 ...
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...
随机推荐
- Mybatis一对一,一对多,多对多代码
一对一 <!-- 关系映射 --> <!-- 1-1:自动映射 --> <select id="oneToOne" resultType=" ...
- Vue-cli构建spa应用
2.1 VUE-cli构建spa应用 npm install -g vue-cli Vue init webpack-simple demo vue init webpack demo2 如果在项目目 ...
- A MacFUSE-Based Process File System for Mac OS X
referer: http://osxbook.com/book/bonus/chapter11/procfs/ Processes as Files The process file system ...
- Vue+element 解决浏览器自动填充记住的账号密码问题
我们在做form表单的时候,会发现,浏览器会自动的将我们之前保存的密码, 自动的填充到表单中input 为 type="password" 的框中 登录页面也就算了,但是注册页面就 ...
- SAP里SE38设置模板
经验丰富些的大佬们都会有一套自己的风格,比如report主程序里几个form,常见的fieldcat的宏定义,常见的一些数据定义等等. 1.使用事物代码SE38进入编辑器. 2.点击客户端最右下角的文 ...
- iperf3 网络测试工具
Iperf3 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽.延迟抖动和数据包丢失.对于每个测试,它都会报告带宽,丢包和 ...
- mysql官网下载对应的mysql包
1. 在百度搜索mysql,点击mysql官网上下载mysql的地址 在url直接输入mysql的下载地址也可以:https://dev.mysql.com/downloads/mysql/ 如图: ...
- python脚本测试websocket接口协议
import websocket url = 'wss://host:port/rt/tr' #websocket连接地址 ws = websocket.create_connection(url) ...
- vue-loader作用
(1)浏览器本身并不认为.vue文件,所以必须对.vue文件进行加载解析,此时需要vue-loader (2)类似的loader还有许多,如:html-loader.css-loader.style- ...
- Linux应急响应
1.识别现象 top / ps -aux 监控与目标IP通信的进程 while true; do netstat -antp | grep [ip]; done 若恶意IP变化,恶意域名不变,使用ho ...