Java

安裝在 /etc 中的 javac

  • May 22, 2017

我已經安裝openjdk-9-jdk:amd64在 Ubuntu 上,當我執行which javac它時,它會顯示一個指向該/etc目錄的軟連結:

$ ls -l /usr/bin/javac
lrwxrwxrwx 1 root root 23 kwi 13 08:09 /usr/bin/javac -> /etc/alternatives/javac

據我所知,只有配置數據應該儲存在/etc. 為什麼javac儲存在那裡,我應該移動這個執行檔嗎?

如果您看一下,/etc/alternatives您會發現它不包含執行檔,而是包含更多符號連結;例如

$ ls -l /etc/alternatives/javac
lrwxrwxrwx 1 root root 43 Sep 20  2016 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

這就是替代方案的實現方式:路徑中的“二進制”是到替代方案的符號連結/etc/alternative,它本身就是到所選目標二進製文件的符號連結。此選擇配置數據,因此/etc非常合適。(替代方案不僅可以用於二進製文件,因此您也可以在其中找到聯機幫助頁等。)

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