一度は、dpkg
他のDebianバージョン(Sid)のいくつかのパッケージ(openjdk)を現在のインストール(Stretch)に強制インストールしました。うまくいくようです(「hello world」をコンパイルできます)。しかし、それ以降に何かをインストールしようとすると、libc6
バージョンの不一致に関する苦情が表示されます。
この問題をどのように無視できますか?
または同じ基本インストールで複数のopenjdkバージョンを使用する他の方法はありますか?私はSidを私のベースとして使用したくありません。
答え1
この問題を無視することはできません...
ただし、この問題を解決する方法はいくつかあります。
Debian 10にアップグレードできます。現在、このバージョンのOpenJDKバージョンは安定版に近く、まもなく同じバージョンが出る予定です。
StretchからバックポートされたOpenJDK(11)をインストールできます。これは不安定なバージョンと同じですが、Stretchパッケージ用に構築されました。
後者はおそらくもっと簡単でしょう。
echo deb http://deb.debian.org/debian stretch-backports main | sudo tee /etc/apt/sources.list.d/stretch-backports.list
sudo apt update
sudo apt install -t stretch-backports openjdk-11-jdk
また、処理する必要があるかもしれません一部libcには違いがありますが、具体的な内容はOpenJDKにアップグレードした項目によって異なります。
このように、OpenJDK 8と11を並べてインストールしてJAVA_HOME
適切に設定することで、適切なバージョンを使用できます。システム全体のデフォルトのJavaバージョンはを実行して設定できますupdate-java-alternatives
。
以前のバージョンのJavaをインストールするには、Debianスナップショットからパッケージセットをインストールしてみてください。オープンJDK 6そしてオープンJDK 7。バージョン9と10は安定リリースとしてリリースされていないので、とにかく必要ないので試してみません。
何をしても、最新バージョンの Debian からパッケージをインストールしようとするのではなく、dpkg
その--force
オプションを使用しないでください。