亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Debian 10 (Buster) 上安裝 openjdk-8-jdk?

如何在 Debian 10 (Buster) 上安裝 openjdk-8-jdk?

搖曳的薔薇 2023-03-23 16:19:50
由于安全問題,Debian 似乎不再支持 openjdk-8-jdk。為 Debian 10 (Buster) 安裝 openjdk-8-jdk 的最簡單方法是什么?
查看完整描述

5 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

或者,您可以使用 adoptopenjdk 存儲庫:


wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -


sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/


sudo apt-get update && sudo apt-get install adoptopenjdk-8-hotspot

https://adoptopenjdk.net/installation.html


查看完整回答
反對 回復 2023-03-23
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

警告:這個答案表明 Debian 發行版的不受支持和危險的混合。按照建議自行承擔風險,因為它可能會在升級時破壞系統,如 http://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian中所述

包鏡像搜索步驟:

  1. 搜索包目錄中搜索openjdk-8-jdk??梢钥吹絻蓚€結果:

  2. 選擇拉伸存儲庫

  3. 滾動到下載 openjdk-8-jdk部分并選擇您的體系結構。例如amd64

  4. 現在您可以看到鏡像列表和說明如何通過 apt 安裝軟件包:

    您應該能夠通過向 /etc/apt/sources.list 添加一行來使用任何列出的鏡像,如下所示:

    deb http://security.debian.org/debian-security stretch/updates 主要

安裝步驟:

  1. 安裝軟件源管理器

    apt-get update
    apt-get install software-properties-common
  2. 用openjdk-8-jdk添加鏡像

    apt-add-repository 'deb http://security.debian.org/debian-security stretch/updates main'
    apt-get update
  3. 安裝 openjdk 8

    apt-get install openjdk-8-jdk

注意:您可以使用上述步驟找到官方的 Debian 鏡像以及您要安裝的任何其他軟件包


查看完整回答
反對 回復 2023-03-23
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您可以搜索Debian 軟件包站點,發現openjdk-8-jdkDebian 10 的軟件包目前只能從不穩定的 (sid) 存儲庫中獲得。

首先最好檢查并保存已安裝的 Java SDK/JRE 包的當前系統范圍符號鏈接(如果有):

ls -la /etc/alternatives | grep java > previous-java-alternatives.txt

然后檢查是否可以使用當前配置安裝此軟件包:

apt-cache policy openjdk-8-jdk

如果不是,那么您需要將不穩定的存儲庫添加到源列表中。負輸出可能意味著您更喜歡使用穩定的存儲庫,并且通常不適合您從不穩定的存儲庫更新所有其他軟件。因此,在將不穩定的存儲庫添加到源列表之前,請確保將APT::Default-Release配置選項設置為"stable"

grep -r Default-Release /etc/apt/

如果否(默認情況下),則通過創建此文件按照該答案中的建議進行設置:

/etc/apt/apt.conf.d/99defaultrelease

APT::Default-Release "stable";

現在您已準備好將不穩定的存儲庫添加到源列表中。之前我比較喜歡在安裝系統時查看我選擇的鏡像。只需查看主要來源列表:

cat /etc/apt/sources.list

在我的例子中,輸出顯示mirror.yandex.ru服務器被用作系統源。所以我對不穩定使用相同的并添加這個文件:

/etc/apt/sources.list.d/91-debian-unstable.list

deb http://mirror.yandex.ru/debian/ unstable main
deb-src http://mirror.yandex.ru/debian/ unstable main

(我也有90-debian-testing.list測試回購的文件。)

然后更新包列表:

apt update

并檢查你的系統不會從不穩定的來源更新:

apt list --upgradable

并重新檢查是否需要安裝包:

apt-cache policy openjdk-8-jdk

安裝包:

apt install openjdk-8-jdk

查看新的符號鏈接:

ls -la /etc/alternatives | grep java-8

只需在他們身上浪費幾秒鐘(或繼續man 1 update-alternatives)。


查看完整回答
反對 回復 2023-03-23
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

這是我用來在 Bitbucket 的 Pipelines Docker 映像 NodeJS 10.16.2 上安裝 OpenJDK 8 的腳本。但是現在我看到這個 docker 鏡像是基于 Stretch 的……


它基于https://github.com/docker-library/openjdk/blob/89851f0abc3a83cfad5248102f379d6a0bd3951a/8-jdk/Dockerfile


#!/bin/bash

set -x #echo on

# based on https://github.com/docker-library/openjdk/blob/89851f0abc3a83cfad5248102f379d6a0bd3951a/8-jdk/Dockerfile


apt-get update && apt-get install -y --no-install-recommends \

  bzip2 \

  unzip \

  xz-utils &&

  rm -rf /var/lib/apt/lists/*


echo 'deb http://httpredir.debian.org/debian-security stretch/updates main' >/etc/apt/sources.list.d/jessie-backports.list


# Default to UTF-8 file.encoding

export.UTF-8


# add a simple script that can auto-detect the appropriate JAVA_HOME value

# based on whether the JDK or only the JRE is installed

{ \

    echo '#!/bin/sh'; \

    echo 'set -e'; \

    echo; \

    echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \

} > /usr/local/bin/docker-java-home \

&& chmod +x /usr/local/bin/docker-java-home


export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export JAVA_VERSION=8u252

export JAVA_DEBIAN_VERSION=8u252-b09-1~deb9u1


# see https://bugs.debian.org/775775

# and https://github.com/docker-library/java/issues/19#issuecomment-70546872

export CA_CERTIFICATES_JAVA_VERSION=20170929~deb9u3


set -x \

    && apt-get update \

    && apt-get install -y \

        openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \

        ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \

    && rm -rf /var/lib/apt/lists/* \

    && [ "$JAVA_HOME" = "$(docker-java-home)" ]


# see CA_CERTIFICATES_JAVA_VERSION notes above

/var/lib/dpkg/info/ca-certificates-java.postinst configure


更新

事情發生了變化,版本升級了。這是適用于https://hub.docker.com/layers/node/library/node/10.16.2/images/sha256-8f420c033acee137f9e902092a04d371bdf1f839559cce60614c0d5905d20294?context=explore的最新腳本


#!/bin/bash

set -x #echo on

# based on https://github.com/docker-library/openjdk/blob/89851f0abc3a83cfad5248102f379d6a0bd3951a/8-jdk/Dockerfile


apt-get update && apt-get install -y --no-install-recommends \

  bzip2 \

  unzip \

  xz-utils &&

  rm -rf /var/lib/apt/lists/*


echo 'deb http://httpredir.debian.org/debian-security stretch/updates main' >/etc/apt/sources.list.d/jessie-backports.list


# Default to UTF-8 file.encoding

export.UTF-8


# add a simple script that can auto-detect the appropriate JAVA_HOME value

# based on whether the JDK or only the JRE is installed

{ \

    echo '#!/bin/sh'; \

    echo 'set -e'; \

    echo; \

    echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \

} > /usr/local/bin/docker-java-home \

&& chmod +x /usr/local/bin/docker-java-home


export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export JAVA_VERSION=8u265

export JAVA_DEBIAN_VERSION=8u265-b01-0+deb9u1


# see https://bugs.debian.org/775775

# and https://github.com/docker-library/java/issues/19#issuecomment-70546872

export CA_CERTIFICATES_JAVA_VERSION=20170929~deb9u3


set -x \

    && apt-get update \

    && apt-get install -y \

        openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \

        ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \

    && rm -rf /var/lib/apt/lists/* \

    && [ "$JAVA_HOME" = "$(docker-java-home)" ]


# see CA_CERTIFICATES_JAVA_VERSION notes above

/var/lib/dpkg/info/ca-certificates-java.postinst configure



查看完整回答
反對 回復 2023-03-23
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

我需要安裝一個 32 位版本,但據我所知,這在 adoptopenjdk 上不可用。我在 java.com 的下載區找到了一個二進制文件的副本:

jre-8u241-linux-i586.tar.gz

我所需要的只是 JRE(而不是 JDK,但兩者的過程應該相同)并且由于它也僅供個人使用,因此 Oracle 二進制文件還可以(它們在這方面有限制)。

我下載了二進制文件并將其放在需要運行它的用戶的主文件夾 (~/) 中,然后像這樣解壓縮它:

mkdir ~/java && cd ~/java && tar -xf jre-8u241-linux-i586.tar.gz

然后通過將此行附加到 ~/.profile 來將位置添加到將運行 Java 應用程序的用戶的路徑中:

export PATH=$PATH:/home/youruserid/java/jre1.8.0_241/bin

這對我的情況很有效,但毫無疑問有更好的方法來安裝二進制文件。例如,所有 Unix 用戶都可以使用它,而不僅僅是一個。


查看完整回答
反對 回復 2023-03-23
  • 5 回答
  • 0 關注
  • 562 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號