Debian 10 dpkg/apt ダウングレードエラー

Debian 10 dpkg/apt ダウングレードエラー

Linux初心者は次のとおりです。

ゲームやビデオの編集に役立つように、最新バージョンのAMD Mesaをインストールしようとしています。 Busterリポジトリには18.xバージョンしかないようです。私はSidリポジトリのパッケージを試しましたが、apt -f installを使用してもダウングレードされ続けます。私はdebian.orgからMesa 20に必要なすべての.debファイルをダウンロードし、dpkg -iを使用してインストールしました(DontBreakDebianによると、これは悪い考えです)。手動でインストールされたすべてのパッケージをBusterが使用するバージョンに再度ダウングレードしようとしています。

Inkscapeを例にしてみましょう(すでにインストールされています)。

root@CBTS-WBPC5:/home/cbts/Downloads# apt install inkscape
Reading package lists... Done
Building dependency tree       
Reading state information... Done
inkscape is already the newest version (0.92.4-3).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 i965-va-driver:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
 libavutil56:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
 libbsd0 : Breaks: libbsd0:i386 (!= 0.11.3-1) but 0.9.1-2+deb10u1 is to be installed
 libbsd0:i386 : Breaks: libbsd0 (!= 0.9.1-2+deb10u1) but 0.11.3-1 is to be installed
 libdrm-intel1:i386 : Depends: libdrm2:i386 (>= 2.4.38) but it is not going to be installed
 libdw1 : Depends: libelf1 (= 0.176-1.1) but 0.183-3 is to be installed
 libedit2 : Breaks: libedit2:i386 (!= 3.1-20191231-2+b1) but 3.1-20181209-1 is to be installed
 libedit2:i386 : Breaks: libedit2 (!= 3.1-20181209-1) but 3.1-20191231-2+b1 is to be installed
 libelf-dev : Depends: libelf1 (= 0.176-1.1) but 0.183-3 is to be installed
 libelf1 : Breaks: libelf1:i386 (!= 0.183-3) but 0.176-1.1 is to be installed
 libelf1:i386 : Breaks: libelf1 (!= 0.176-1.1) but 0.183-3 is to be installed
 libexpat1 : Breaks: libexpat1:i386 (!= 2.2.10-2) but 2.2.6-2+deb10u1 is to be installed
 libexpat1:i386 : Breaks: libexpat1 (!= 2.2.6-2+deb10u1) but 2.2.10-2 is to be installed
 libexpat1-dev : Depends: libexpat1 (= 2.2.6-2+deb10u1) but 2.2.10-2 is to be installed
 libncurses-dev : Depends: libtinfo6 (= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
                  Depends: libncurses6 (= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
 libncurses6 : Breaks: libncurses6:i386 (!= 6.2+20201114-2) but 6.1+20181013-2+deb10u2 is to be installed
 libncurses6:i386 : Breaks: libncurses6 (!= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
 libncursesw6 : Depends: libtinfo6 (= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
 libstdc++6 : Breaks: libstdc++6:i386 (!= 10.2.1-6) but 8.3.0-6 is to be installed
 libstdc++6:i386 : Breaks: libstdc++6 (!= 8.3.0-6) but 10.2.1-6 is to be installed
 libtinfo-dev : Depends: libtinfo6 (= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
 libtinfo6 : Breaks: libtinfo6:i386 (!= 6.2+20201114-2) but 6.1+20181013-2+deb10u2 is to be installed
 libtinfo6:i386 : Breaks: libtinfo6 (!= 6.1+20181013-2+deb10u2) but 6.2+20201114-2 is to be installed
 libva-drm2:i386 : Depends: libdrm2:i386 (>= 2.4.16) but it is not going to be installed
 libva-x11-2:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
 libvulkan-dev : Depends: libvulkan1 (= 1.1.97-2) but 1.2.162.0-1 is to be installed
 libvulkan1 : Depends: libc6 (>= 2.29) but 2.28-10 is to be installed
              Breaks: libvulkan1:i386 (!= 1.2.162.0-1) but 1.1.97-2 is to be installed
 libvulkan1:i386 : Breaks: libvulkan1 (!= 1.1.97-2) but 1.2.162.0-1 is to be installed
 libwayland-client0 : Breaks: libwayland-client0:i386 (!= 1.19.0-2) but 1.16.0-1 is to be installed
 libwayland-client0:i386 : Breaks: libwayland-client0 (!= 1.16.0-1) but 1.19.0-2 is to be installed
 libwayland-dev : Depends: libwayland-client0 (= 1.16.0-1) but 1.19.0-2 is to be installed
 libx11-6 : Breaks: libx11-6:i386 (!= 2:1.7.0-2) but 2:1.6.7-1+deb10u1 is to be installed
 libx11-6:i386 : Breaks: libx11-6 (!= 2:1.6.7-1+deb10u1) but 2:1.7.0-2 is to be installed
 libx11-dev : Depends: libx11-6 (= 2:1.6.7-1+deb10u1) but 2:1.7.0-2 is to be installed
 libx11-xcb-dev : Depends: libx11-xcb1 (= 2:1.6.7-1+deb10u1) but 2:1.7.0-2 is to be installed
 libx11-xcb1 : Breaks: libx11-xcb1:i386 (!= 2:1.7.0-2) but 2:1.6.7-1+deb10u1 is to be installed
 libx11-xcb1:i386 : Breaks: libx11-xcb1 (!= 2:1.6.7-1+deb10u1) but 2:1.7.0-2 is to be installed
 libxau-dev : Depends: libxau6 (= 1:1.0.8-1+b2) but 1:1.0.9-1 is to be installed
 libxau6 : Breaks: libxau6:i386 (!= 1:1.0.9-1) but 1:1.0.8-1+b2 is to be installed
 libxau6:i386 : Breaks: libxau6 (!= 1:1.0.8-1+b2) but 1:1.0.9-1 is to be installed
 libxcb-dri3-0 : Breaks: libxcb-dri3-0:i386 (!= 1.14-3) but 1.13.1-2 is to be installed
 libxcb-dri3-0:i386 : Breaks: libxcb-dri3-0 (!= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-dri3-dev : Depends: libxcb-dri3-0 (= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-present-dev : Depends: libxcb-present0 (= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-present0 : Breaks: libxcb-present0:i386 (!= 1.14-3) but 1.13.1-2 is to be installed
 libxcb-present0:i386 : Breaks: libxcb-present0 (!= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-randr0-dev : Depends: libxcb-randr0 (= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-sync-dev : Depends: libxcb-sync1 (= 1.13.1-2) but 1.14-3 is to be installed
 libxcb-sync1 : Breaks: libxcb-sync1:i386 (!= 1.14-3) but 1.13.1-2 is to be installed
 libxcb-sync1:i386 : Breaks: libxcb-sync1 (!= 1.13.1-2) but 1.14-3 is to be installed
 libzstd1 : Breaks: libzstd1:i386 (!= 1.4.8+dfsg-2.1) but 1.3.8+dfsg-3+deb10u2 is to be installed
 libzstd1:i386 : Breaks: libzstd1 (!= 1.3.8+dfsg-3+deb10u2) but 1.4.8+dfsg-2.1 is to be installed
 zlib1g : Breaks: zlib1g:i386 (!= 1:1.2.11.dfsg-2) but 1:1.2.11.dfsg-1 is to be installed
 zlib1g:i386 : Breaks: zlib1g (!= 1:1.2.11.dfsg-1) but 1:1.2.11.dfsg-2 is to be installed
 zlib1g-dev : Depends: zlib1g (= 1:1.2.11.dfsg-1) but 1:1.2.11.dfsg-2 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

apt -fインストール出力:

root@CBTS-WBPC5:/home/cbts/Downloads# apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  dkms libasound2-dev libblkid-dev libcaca-dev libelf1:i386 libgles1 libglib2.0-dev libglib2.0-dev-bin libglvnd-dev libglvnd0:i386
  libmount-dev libomxil-bellagio-bin libomxil-bellagio0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpng-dev libpng-tools
  libpulse-dev libselinux1-dev libsensors5:i386 libsepol1-dev libsfml-audio2.5 libsfml-graphics2.5 libsfml-network2.5
  libsfml-system2.5 libsfml-window2.5 libslang2-dev libtinfo5:i386 libwayland-server0:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb-xfixes0:i386 libxdamage1:i386 libxshmfence1:i386 mono-llvm-tools
  qt5-qmake qt5-qmake-bin qtbase5-dev-tools uuid-dev
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libbsd0 libdrm2:i386 libedit2 libelf1 libexpat1 libncurses6 libstdc++6 libtinfo6 libvulkan1 libwayland-client0 libx11-6
  libx11-xcb1 libxau6 libxcb-dri3-0 libxcb-present0 libxcb-randr0 libxcb-sync1 libzstd1 zlib1g
The following NEW packages will be installed:
  libdrm2:i386
The following packages will be DOWNGRADED:
  libbsd0 libedit2 libelf1 libexpat1 libncurses6 libstdc++6 libtinfo6 libvulkan1 libwayland-client0 libx11-6 libx11-xcb1 libxau6
  libxcb-dri3-0 libxcb-present0 libxcb-randr0 libxcb-sync1 libzstd1 zlib1g
0 upgraded, 1 newly installed, 18 downgraded, 0 to remove and 3 not upgraded.
42 not fully installed or removed.
Need to get 0 B/3,156 kB of archives.
After this operation, 480 kB disk space will be freed.
Do you want to continue? [Y/n] y
dpkg: warning: downgrading libstdc++6:amd64 from 10.2.1-6 to 8.3.0-6
(Reading database ... 313759 files and directories currently installed.)
Preparing to unpack .../libstdc++6_8.3.0-6_amd64.deb ...
Unpacking libstdc++6:amd64 (8.3.0-6) over (10.2.1-6) ...
dpkg: error processing archive /var/cache/apt/archives/libstdc++6_8.3.0-6_amd64.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libstdc++6', which is different from other instances of package libstdc++6:amd64
Errors were encountered while processing:
 /var/cache/apt/archives/libstdc++6_8.3.0-6_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

私が試したこと:

  • 適切な -f インストール
  • Sidリポジトリと適切なアップデートを削除しました。

uname -a: Linux CBTS-WBPC5 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux

ベストアンサー1

ご存知のように、メジャーバージョンの境界を超えてアップグレードするのは(古い安定から安定へ/不安定へ/から不安定など)本当に悪い考えです。。 Debian には、最新バージョンから最新パッケージをバックポートするバックポートバージョンツリーがあります。いいえ現在のインストールの中断 - バックポートされていない場合、中断なしで動作することがまだ証明されていないためです。

[以下の完全な説明を読んでください。それを得なさい。インターネットに接続できず、ネットワークを見ることができない状況が発生した場合は、後で参照できるように印刷してください。など。 ]

問題を解決するためにやるべきことが多すぎます。修正できるなら。インストールしたバージョンに適していないリポジトリを削除する必要があります。私は個人的にBusterを使用しています。いいえ安定したバージョンがあっても使用してください。同じもの。結局、シードは新しい馬小屋になり、バスターはオールドステーブルになってアップデートすることになると、今経験しているのと同じ混乱が続くことになるからです。 (個人的には、古い安定/安定/不安定がDebianで考慮され実装された最悪のものの1つだと思います!)

次のコマンドを実行して、適切なキャッシュとデータベースをある程度リセットします(sudorootとしてログインしている間に実行しない場合は、コマンドの前に付けます)。

apt-get 自動削除
apt-get クリーンアップ
apt-get 自動クリーンアップ
apt-get アップデート
apt-get チェック

[注:このプロセスが進行中いいえ他のアップデートや別のapt-get updateコマンドを実行します。 ]

次に、Sidパッケージレベルにアップグレードされた各パッケージを見つける必要があります(または利用可能な適切なBusterバージョンがない)。あなたはそれを使用することができますDebian のパッケージ検索機能どのバージョンがどのバージョンに適用されるかを絞り込むのに役立ちます。今は--forceオプションを使用しないでください!

ダウングレードする必要があるパッケージのリストがある場合は、1つずつダウングレードしてみてください。一部はこの時点で失敗するため、スキップしてリストに保存し、成功したアイテムを削除してください。リストを見てからもう一度見てください。これをしばらく繰り返します。これにより、最終的に最も問題のあるパッケージのリストが減ります。場合によっては、パッケージはSidにはありますが、Busterにはまったくないことがあります。パッケージを削除(消去)します。

このリストを数十回見た後でも、依存関係がダウングレードされないかダウングレードされないため、まったくダウングレードされていないパッケージがまだ存在する可能性があります。 --forceオプションを使用してダウングレードする必要があるかもしれません。優先 - 依存関係を強制的にダウングレードします。最初、一度ダウングレードされると、そのパッケージに依存するパッケージが最終的にそれ自体でダウングレードできると判断できるからです。

このプロセスを数十回繰り返す必要があります。必要な場合以外は、サービスやアプリケーションを再起動または再起動しないでください。 (すべての依存関係が同様にダウングレードされて動作するまで、最終的に実行を妨げるものをダウングレードしたくはありません!)

結局、すべてのパッケージをダウングレードするか、頑固なパッケージの数が減ります。この時点で、ダウングレードに必要なsepを見つけるために手動で確認する必要があります。依存関係などを確認する必要があり、Busterにまったく存在しないいくつかのパッケージを削除する必要があります(Sidのみ)。

もしすべてが順調に進むと、すべてをBuster内で有効な状態に戻そうとします。この時点に達すると、apt-get updateすべてのBusterパッケージを利用可能な最新バージョンに安全にアップグレードできます。 (まだSidに属している必要がありますが、Busterに属していないパッケージは更新しないように注意してください!)

すべてがうまくいったら、すべてのことが終わったはずです。

ある時点で解決できない問題が発生した場合は、aptのパッケージキャッシュ、パッケージリストなどを手動で削除して元の状態にリセットする必要があります。この複雑さは、ここに掲載されている広範な説明が必要なもう1つの問題です。 Webには、これらすべてを詳細に説明するいくつかのDebian関連のページがあります。 (そして印刷してください!ダウングレードの過程で必要なものすべてにハードコピーでアクセスすることをお勧めします。これにより同時にインターネットアクセスが中断される可能性があるため、読み取って参照するには紙のコピーが必要です。印刷する内容が多すぎてインターネットとネットワークにアクセスするために使用できる2番目のコンピュータがあります。

頑張ってください。

おすすめ記事