Dev*_*oid 122 update-alternatives
命令是update-alternatives
用来做什么的?
拿这个例子:
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jre1.7.0_09/bin/java 1
Run Code Online (Sandbox Code Playgroud)
它有什么作用?和路径加jdk有什么区别?
假设我已经运行了命令。我如何恢复到原来的状态?
ger*_*ijk 91
/etc/alternatives
为此,它会更新链接以指向程序。有很多示例,例如x-www-browser
、editor
等,它们将链接到您喜欢的浏览器或编辑器。某些脚本或系统工具可能希望您手动编辑文件(例如 中的配置冲突dpkg
),他们会研究替代方案以提供您选择的编辑器。对于java
,这是 Java 运行时环境 - Oracle 的、OpenJRE 等。
中的链接/etc/alternatives
只是符号链接。你可以看到他们使用例如
ls -l /etc/alternatives
Run Code Online (Sandbox Code Playgroud)
此外,常规/usr/bin
二进制文件也是符号链接。例如:
ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug 14 10:33 /usr/bin/java -> /etc/alternatives/java
ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Aug 14 10:33 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
Run Code Online (Sandbox Code Playgroud)
所以,不需要PATH
修改。它只是使用符号链接。
虽然 @gertvdjik 的答案很好地解释了替代方案如何在较低级别工作,但它没有明确说明如何恢复原始状态。
我发现使用galternatives
作为软件包提供的相应 GUI 更容易。要安装它,只需运行:
sudo apt-get install galternatives
Run Code Online (Sandbox Code Playgroud)
那么管理替代方案就会变得容易得多。特别是对于 java,您有很多必须更新的辅助二进制文件,并且在 GUI 中概述它们会更快。
归档时间: |
|
查看次数: |
113214 次 |
最近记录: |