在 Debian 上安裝 JDK 8
我正在嘗試在 Debian 上安裝 JDK 8。我發現了很多類似的主題,但沒有一個能解決我的問題。在大多數主題中,解決方案是這個命令
sudo apt-get install software-properties-common sudo apt-get install python-software-properties sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk
但我得到了這個錯誤
正在讀取包列表…完成建構依賴關係樹正在讀取狀態資訊…完成某些包無法安裝。這可能意味著您請求了一種不可能的情況,或者如果您使用的是不穩定的發行版,一些必需的軟體包尚未創建或已從 Incoming 中移出。以下資訊可能有助於解決這種情況:
以下軟體包具有未滿足的依賴關係: openjdk-8-jdk :依賴:openjdk-8-jre (= 8u111-b14-2~bpo8+1) 但不會安裝依賴:openjdk-8-jdk-headless ( = 8u111-b14-2~bpo8+1) 但它不會被安裝 E: 無法糾正問題,你持有損壞的包。
我還檢查了更新
sudo update-alternatives --config java
輸出是
連結組 java 中只有一種選擇(提供 /usr/bin/java): /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 無需配置。
第一件事是始終查看 Debian PTS 以了解您可以使用哪些選項。例如,如果我去 -
https://tracker.debian.org/pkg/openjdk-8
在左邊你有一個叫做版本的東西——你能看到嗎,它顯示了——
stable-bpo: 8u121-b13-1~bpo8+1 testing: 8u121-b13-3 unstable: 8u121-b13-4
現在 stable-bpo 意味著它在後端。backports 頁面很好地描述了它的功能,請參閱https://backports.debian.org/
因此,您需要將@Reto 共享的地址以及反向移植地址添加到您已經擁有的軟體包列表中 -
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free
現在更新索引,它應該在最後說這樣的話 -
Reading package lists... Done Building dependency tree Reading state information... Done 6 packages can be upgraded. Run 'apt list --upgradable' to see them.
看不到可以升級的包數量,因為這是我有多少包,我更新包的頻率等的函式。如果四行與上面相似,則意味著索引更新順利,沒有錯誤。
一旦完成,你可以簡單地做 -
$ aptitude search openjdk-8
獲取列出或未列出多少個不同的 openjdk-8 包的列表。例如,我正在測試,這裡有很多。我們也有 openjdk-9。
一旦你得到它,就像你之前嘗試安裝的那樣安裝 -
$ sudo aptitude install openjdk-8
並讓 aptitude 處理所有依賴關係解決方案。如果您仍有問題,請在此處告知我們。
openjdk-8 在我的預設 Jessie/stable 安裝中可用 - 只需要 apt-get 安裝它(openjdk-8-jdk 以及它推薦或依賴的任何其他您想要/需要的東西)
當然,它可能取決於您的 /etc/apt/sources.list 文件,包括 contrib 和非免費儲存庫
/etc/apt/sources.list 應該類似於
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free