web-dev-qa-db-ja.com

アップデートの問題を修正する方法(Ubuntu 20.04)

Ubuntu 20.04へのアップデートを完了し、パッケージもアップデートしようとしていましたが、保持されているパッケージの1つでエラーが発生しました。これは、「Sudo apt upgrade」を実行した後の出力です。

Reading package lists...
Done Building dependency tree
Reading state information...
Done Calculating upgrade... 
Done The following packages have been kept back:   
gdb gir1.2-peas-1.0 libpeas-1.0-0 libsmbclient libwbclient0 samba-libs 
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

壊れたパッケージ/依存関係をクリアするために、次のような複数のコマンドを実行してみました。

Sudo apt clean
Sudo apt autoclean
Sudo apt autoremove

何も動作していないようです(dist-upgradeでも何も実行されません)。パッケージを手動で更新しようとすると、次のメッセージが表示されました。

Sudo apt-get install gdb

The following packages have unmet dependencies:
 gdb : Depends: libpython3.8 (>= 3.8.0~a1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

私は結果なしでもっと多くのことを試みたので、私の選択肢は何なのかと思っていました。

ランニング apt cache policy gbd libpython3.8は出力を生成します。

gdb:
  Installed: 8.1-0ubuntu3.2
  Candidate: 9.1-0ubuntu1
  Version table:
     9.1-0ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu focal/main AMD64 Packages
 *** 8.1-0ubuntu3.2 100
        100 /var/lib/dpkg/status
libpython3.8:
  Installed: (none)
  Candidate: 3.8.2-1ubuntu1
  Version table:
     3.8.2-1ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu focal/main AMD64 Packages
3
Eugene

私もこの問題を抱えていたので、これを修正しました

すべての前にこの2つのポイントを忘れないでください:

-1-すべての手順が完了するまでPCを再起動しないでください

-2-再起動する前にgrubを更新することを忘れないでください:Sudo update-grub2

ここでの問題は、ubuntuを18.04から20.04にアップグレードしたときに、bionicのすべてのインスタンスがフォーカルに置き換えられなかったことです。libpython3.8-stdlib(3.8.2-1 + bionic1)がlibpython3.8-stdlib( = 3.8.2-1ubuntu1.1)したがって、解決策は手動で置き換えることです:)これを行う手順は次のとおりです。

1-ライブラリに依存するパッケージの名前をテキストファイルに保存して、後で再インストールします。Sudo apt-get autoremove libpython3.8-stdlibメッセージに、このすべてのパッケージが表示されます。

((apg apparmor apport apport-gtk ...xserver-xorg-video-vmware xwayland Yelp yelp-xsl))

それらをテキストファイルにコピーし、「はい」をタップして、バイオニックバージョンのlibpython3.8-stdlibをアンインストールします。

2-フォーカルバージョンをインストールします。

Sudo apt-get install libpython3.8-stdlib

3-テキストファイルに保存されているパッケージを1つずつインストールします。次のようなscreiptファイルを作成できます:((....

Sudo apt-get install gir1.2-gck-1
Sudo apt-get install gir1.2-gcr-3
Sudo apt-get install gir1.2-gdm-1.0
Sudo apt-get install gir1.2-geoclue-2.0
Sudo apt-get install gir1.2-gnomebluetooth-1.0

...))

buntu-desktopがパッケージテキストファイルにない場合は、忘れずにインストールしてくださいSudo apt-get install ubuntu-desktop

4- grubを更新し、:Sudo update-grub2を実行します

5-最後にPCを再起動します

それで全部です :)

4
Mohamed Ali