update-alternatives切换Ubuntu软件版本
2018-02-05 23:36
288 查看
update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令及那个软件版本(参考内容)。
环境:win10自带Ubuntu 14.04.5 LTS \n \l
可以看到Ubuntu自带的gcc版本为4.8,我们将他更改为gcc4.4。
依次执行如下命令安装并切换为gcc 4.4:
最后再查看下gcc 的版本:
可以看到,gcc的版本已经更改过来了。
display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。使用语法:update-alternatives –display name ,其中name为命令链接名称。
如执行命令: update-alternatives –display java
install选项的功能就是增加一组新的系统命令链接符了,使用语法为:update-alternatives –install link name path priority [–slave link name path]… 其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java; path为你所要使用新命令、新软件的所在目录; priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接; –slave为从alternative。alternative有两种模式:auto和manual,默认都为auto模式,因为大多数情况下update-alternatives命令都被postinst (configure) or prerm (install)调用的,如果将其更改成手动的话安装脚本将不会更新它了。
remove选项的功能是删除一个alternative及相关从alternative,使用语法为:update-alternatives –remove name path,其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接。
config选项功能为在现有的命令链接选择一个作为系统默认的,使用语法为:update-alternatives –config name。
如执行:sudo update-alternatives –config java
若是想将manual改回自动模式的话,执行命令: update-alternatives –auto name即可。
如: update-alternatives –config java
环境:win10自带Ubuntu 14.04.5 LTS \n \l
1.以改变ubuntu系统gcc版本为例测试update-alternatives功能
使用命令查看当先系统gcc版本:frey@Frey:/usr/bin$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
可以看到Ubuntu自带的gcc版本为4.8,我们将他更改为gcc4.4。
依次执行如下命令安装并切换为gcc 4.4:
sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100 sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 50
最后再查看下gcc 的版本:
frey@Frey:/mnt/e/$ gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.7-8ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --disable-libmudflap --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1)
可以看到,gcc的版本已经更改过来了。
2.update-alternatives 命令选项diplay、install、remove、config介绍
该部分主要转载内容,点击查看原文内容display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。使用语法:update-alternatives –display name ,其中name为命令链接名称。
如执行命令: update-alternatives –display java
java - auto mode link currently points to /opt/java/jdk1.6.0_27/bin/java /opt/java/jdk1.6.0_27/bin/java - priority 1062 /usr/lib/jvm/java-6-openjdk/jre/bin/java - priority 1061 slave java.1.gz: /usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz Current 'best' version is '/opt/java/jdk1.6.0_27/bin/java'.
install选项的功能就是增加一组新的系统命令链接符了,使用语法为:update-alternatives –install link name path priority [–slave link name path]… 其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java; path为你所要使用新命令、新软件的所在目录; priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接; –slave为从alternative。alternative有两种模式:auto和manual,默认都为auto模式,因为大多数情况下update-alternatives命令都被postinst (configure) or prerm (install)调用的,如果将其更改成手动的话安装脚本将不会更新它了。
remove选项的功能是删除一个alternative及相关从alternative,使用语法为:update-alternatives –remove name path,其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接。
config选项功能为在现有的命令链接选择一个作为系统默认的,使用语法为:update-alternatives –config name。
如执行:sudo update-alternatives –config java
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /opt/java/jdk1.6.0_27/bin/java 1062 auto mode 1 /opt/java/jdk1.6.0_27/bin/java 1062 manual mode 2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode Press enter to keep the current choice[*], or type selection number:
若是想将manual改回自动模式的话,执行命令: update-alternatives –auto name即可。
如: update-alternatives –config java
相关文章推荐
- 在Ubuntu中通过update-alternatives切换软件默认版本
- 在Ubuntu中通过update-alternatives切换java版本
- Ubuntu中update-alternatives命令(版本切换)
- Ubuntu 中采用 update-alternatives 配置软件多版本
- Linux使用update-alternatives进行软件版本切换
- Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)
- Ubuntu中update-alternatives命令(版本切换)
- update-alternatives——linux软件版本管理命令
- 使用update-alternatives 命令修改Java版本-自动切换Java版本
- 使用update-alternatives切换ubuntu下默认的java命令
- 使用update-alternatives切换ubuntu下默认java命令
- 使用update-alternatives切换ubuntu下默认java命令
- 使用update-alternatives 命令修改Java版本-自动切换Java版本
- 在Ubuntu中通过update-alternatives切换软件版本
- 在Ubuntu中通过update-alternatives切换软件版本
- linux使用update-alternatives切换java版本
- 使用update-alternatives切换ubuntu下默认java命令
- 在Ubuntu中通过update-alternatives切换软件版本
- 在Ubuntu中通过update-alternatives切换软件版本
- 在Ubuntu中通过update-alternatives切换软件版本