update-alternatives --config somecommand
如何找到 somecommand
的符號連結?
來自https://stackoverflow.com/a/48374564/156458
update-alternatives --config java
通過將符號連結安裝到命令來工作/usr/bin/java
,/usr/bin/javac
等等。如何
update-alternatives --config somecommand
找到符號連結somecommand
?例如,它是否依賴於
$PATH
,因此其工作方式與直接在 bash 中somecommand
執行時bash 查找文件的方式相同嗎?somecommand
如果文件
somecommand
不是符號連結,會update-alternative --config somecommand
起作用嗎?謝謝。
工作方式
update-alternatives
在其手冊頁中進行了描述。給定命令的可用替代列表(或文件,通常 - 替代不限於命令)儲存在/var/lib/dpkg/alternatives
Debian 及其衍生版本的文件中;因此 的替代品java
儲存在/var/lib/dpkg/alternatives/java
. 在 Fedora、RHEL 和衍生產品上,文件儲存在/var/lib/alternatives
.當一個包希望提供替代方案時,它會使用
update-alternatives --install
(和適當的參數)安裝它;當它希望刪除替代項時,它會使用update-alternatives --remove
. 如有必要,您可以使用這些來提供自己的替代方案。請注意,特別是在 Java 的情況下,在 Debian 和衍生產品上,替代處理稍微複雜一些,您應該使用
update-java-alternatives
而不是手動操作所有替代。如果由於某種原因替代管理的文件不是符號連結,
update-alternatives
則將認為替代已損壞並拒絕觸摸它。