オペレーティングシステムとバージョン:Debian 8
アーキテクチャ:64ビット
パッケージを更新しようとしましたが、次のエラーが発生します。
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
libc-bin : Depends: libc6 (< 2.29) but 2.31-4 is installed
libc-dev-bin : Depends: libc6 (< 2.29) but 2.31-4 is installed
libc6 : Depends: libnss-nisplus but it is not installable
libc6-dev : Depends: libc6 (= 2.28-8) but 2.31-4 is installed
locales : Depends: libc-bin (> 2.31) but 2.28-8 is installed
Depends: libc-l10n (> 2.31) but 2.28-8 is installed
openssh-server : Depends: openssh-client (= 1:8.3p1-1) but 1:6.7p1-5+deb8u8 is installed
Depends: runit-helper (>= 2.8.14~) but it is not installable
Depends: libcom-err2 (>= 1.43.9) but it is not installable
Depends: libgssapi-krb5-2 (>= 1.17) but 1.12.1+dfsg-19+deb8u5 is installed
Depends: libkrb5-3 (>= 1.13~alpha1+dfsg) but 1.12.1+dfsg-19+deb8u5 is installed
E: Unmet dependencies. Try using -f.
コマンドを試行すると、apt-get -f install
次のエラーが発生します。
# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
libc-bin : Depends: libc6 (< 2.29) but 2.31-4 is installed
libc-dev-bin : Depends: libc6 (< 2.29) but 2.31-4 is installed
libc6 : Depends: libnss-nisplus but it is not installable
libc6-dev : Depends: libc6 (= 2.28-8) but 2.31-4 is installed
locales : Depends: libc-bin (> 2.31) but 2.28-8 is installed
Depends: libc-l10n (> 2.31) but 2.28-8 is installed
openssh-server : Depends: openssh-client (= 1:8.3p1-1) but 1:6.7p1-5+deb8u8 is installed
Depends: runit-helper (>= 2.8.14~) but it is not installable
Depends: libcom-err2 (>= 1.43.9) but it is not installable
Depends: libgssapi-krb5-2 (>= 1.17) but 1.12.1+dfsg-19+deb8u5 is installed
Depends: libkrb5-3 (>= 1.13~alpha1+dfsg) but 1.12.1+dfsg-19+deb8u5 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
私のものソースリスト文書:
# cat /etc/apt/sources.list
deb http://mirrors.kernel.org/debian/ jessie main
deb-src http://mirrors.kernel.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://mirrors.kernel.org/debian/ jessie-updates main
deb-src http://mirrors.kernel.org/debian/ jessie-updates main
deb http://ftp.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.debian.org/debian/ testing main contrib non-free
apt-cacheポリシーの出力:
# apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 http://mirrors.kernel.org/debian/ jessie-updates/main Translation-en
500 http://mirrors.kernel.org/debian/ jessie-updates/main amd64 Packages
release v=label=Debian,o=Debian,a=oldoldstable-updates,n=jessie-updates,l=Debian,c=main
origin mirrors.kernel.org
500 http://security.debian.org/ jessie/updates/main Translation-en
500 http://security.debian.org/ jessie/updates/main amd64 Packages
release v=8,o=Debian,a=oldoldstable,n=jessie,l=Debian-Security,c=main
origin security.debian.org
500 http://mirrors.kernel.org/debian/ jessie/main Translation-en
500 http://mirrors.kernel.org/debian/ jessie/main amd64 Packages
release v=8.11,o=Debian,a=oldoldstable,n=jessie,l=Debian,c=main
origin mirrors.kernel.org
Pinned packages:
nginx -> (not found)
私はここに閉じ込められています。助けてください。
ありがとうございます。
答え1
ご使用のシステムには、Debian 開発リリースのさまざまな段階でインポートされた一連のパッケージが混在しています。たとえば、libc6
パッケージは現在テスト中のバージョン(Debian 11になる予定)用で、パッケージはlocales
Debian 10開発中のある時点の以前のバージョン用です。
物事を秩序よく復元するには、目標を選択する必要があります。解放するを選択して該当する項目に切り替えます。システムがDebian 8になければならず、apt
それに合わせて設定した場合(与えられた出力apt-cache policy
)、Debian 8またはDebian 9で始まる方が良いでしょう。 Debian 8 を仮定しましょう:
testing
/etc/apt/sources.list
アイテムの削除apt
Debian 8にダウングレードするように指示します。printf "Package: *\n Pin: release o=Debian n=jessie\n Pin-Priority: 1001\n" > /etc/apt/preferences.d/jessie
「アップグレード」によるダウングレード:
apt-get update apt-get dist-upgrade
この作業を始める前にテストストアが最初に追加された理由を確認するには、チームメイトに確認する必要があります。おそらく、いくつかのパッケージが意図的にそこから引かれていたでしょう。
Debian 8 に戻ると、次のことを行う必要があります。ELTSリポジトリの追加(引き続きお使いいただく予定ならスポンサーになることを検討してください) またはアップグレードDebian 9たぶん、Debian 10。
答え2
...正直言って、あなたのシステムは真剣に古いです。
「testing」は、次の「安定した」リリースになるリポジトリであるステージングリポジトリの静的名前です。
この時点ではBullseye - debian 11になります。 「Jessie」はDebian 8で、[2018][1]で中止され、さらに7月に長期サポートも中止されました。
私疑うこのラインは、Jessieがまだ安定していて、誰かが利用可能なものよりもいくつかの新しいパッケージを望んでいたときに再び追加されました。この特別な方法は真剣に禁忌であり、ちょうどその理由を見つけました。
幸いなことに、希望、まだ何もインストールされていないので、「testing」を含む行を削除するとsources.list
エラーが消えます。しかし、先に述べたように、Debian 8は廃止され、ほとんどどのようなアップデートも受けられませんでした。重要な部分を除いて、2年間のセキュリティ修正以外に、過去3ヶ月間にもそのような修正はありませんでした。
もちろん、これは現在の問題を解決しません。少なくともそうする必要があるようです。スタートdistから現在の安定版(10)にアップグレードしてください。おそらく、2016年頃までさかのぼるnginxバージョンのサポートを受けられないようです。