Software-Installation

update-alternatives --config somecommand 如何找到 somecommand 的符號連結?

  • January 22, 2018

來自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/alternativesDebian 及其衍生版本的文件中;因此 的替代品java儲存在/var/lib/dpkg/alternatives/java. 在 Fedora、RHEL 和衍生產品上,文件儲存在/var/lib/alternatives.

當一個包希望提供替代方案時,它會使用update-alternatives --install(和適當的參數)安裝它;當它希望刪除替代項時,它會使用update-alternatives --remove. 如有必要,您可以使用這些來提供自己的替代方案。

請注意,特別是在 Java 的情況下,在 Debian 和衍生產品上,替代處理稍微複雜一些,您應該使用update-java-alternatives而不是手動操作所有替代。

如果由於某種原因替代管理的文件不是符號連結,update-alternatives則將認為替代已損壞並拒絕觸摸它。

引用自:https://unix.stackexchange.com/questions/418852