SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

WSL2:ubuntu 20.04/ apt upgradeで「dpkg: error while cleaning up」エラー

目次

WSL2:ubuntu 20.04/ apt upgradeで「dpkg: error while cleaning up」エラー

いつものようにターミナルを立ち上げて、以下のコマンドを実行しました。

sudo apt update

sudo apt upgrade

するとエラーになりました。

発生したエラー

エラーメッセージは以下のとおりです。

installed mariadb-server package pre-removal script subprocess returned error exit status 255
postinst called with unknown argument 'abort-deconfigure'
dpkg: error while cleaning up:
 installed mariadb-server package post-installation script subprocess returned error exit status 1
dpkg: considering deconfiguration of mariadb-server-core, which would be broken by installation of mariadb-client-core ...
dpkg: yes, will deconfigure mariadb-server-core (broken by mariadb-client-core)
Preparing to unpack .../mariadb-client-core_1%3a10.9.7+maria~ubu2004_amd64.deb ...
De-configuring mariadb-server-core (1:10.9.6+maria~ubu2004) ...
Unpacking mariadb-client-core (1:10.9.7+maria~ubu2004) over (1:10.9.6+maria~ubu2004) ...
Selecting previously unselected package mariadb-client.
Preparing to unpack .../mariadb-client_1%3a10.9.7+maria~ubu2004_amd64.deb ...
Unpacking mariadb-client (1:10.9.7+maria~ubu2004) ...
Preparing to unpack .../libpcre3_2%3a8.45-1+ubuntu20.04.1+deb.sury.org+1_amd64.deb ...
Unpacking libpcre3:amd64 (2:8.45-1+ubuntu20.04.1+deb.sury.org+1) over (2:8.44-2+ubuntu20.04.1+deb.sury.org+1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/mariadb-server_1%3a10.9.7+maria~ubu2004_amd64.deb
 /var/cache/apt/archives/mariadb-server-core_1%3a10.9.7+maria~ubu2004_amd64.deb

Mariadbをあえて10.9という新しいバージョンでやっているので、割と、upgrade時のエラーがありがちなのですが、このメッセージは初めてです。

dpkg (Debian Package=Debianのパッケージ管理コマンド)でエラーをだしているようです。

そいつが「cleaning up」中にエラーが発生したといってます。

よく読むとメッセージに

dpkg: considering deconfiguration of mariadb-server-core, which would be broken by installation of mariadb-client-core.
dpkg: yes, will deconfigure mariadb-server-core (broken by mariadb-client-core)

dpkg: mariadb-client-coreのインストールによって壊れてしまうmariadb-server-coreの設定解除を検討中。
dpkg: はい、mariadb-server-core の設定を解除します。

とあります。

解決した方法

どうも、壊れた状態になっているパッケージがあって、それが邪魔している感じです。

なので。

sudo apt --fix-broken install

を実行してみました。

今回は、これで解決しました。

上記、実行後に再度「update」と「upgrade」を行ったところ、エラーなく終了することができました。

やれやれです。

実際、これでもエラーになるケースもあります。

一応、そういうときにやった手順も備忘的に書いておきます。

ケースによっては実行前に「/etc/apt/sources.list.d/」以下からリポジトリ情報そのものを消してやらないといけない場合もあったりするので、単純に実行すればいいというわけにもいかないのですが、参考として・・。

依存関係の強制的な修正を以下の順番で実行して解決したときもあります。

1.キャッシュ(ローカルに保存されたパッケージ情報)の削除

sudo apt clean

2.最新のパッケージ情報のダウンロードとキャッシュの更新

sudo apt update

3.依存関係の修正を強制的にこころみる

sudo apt install -f

の順番で実行します。

ではでは。