LoginSignup
1
0

【エラー解決】dpkgのロックエラーの解決法

Posted at

環境

  • Kali Linux 2021

dpkgのロックエラーが出た

apt upgradeを実行後、放置してたらいつの間にか再起動処理があった。
再度apt upgradeを実行するとWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process <PID>という文言が出力され実行できなかった。

$ sudo apt upgrade               
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3822

対処法

様々な対処法があるみたいですが、今回はロックファイルを削除する方法で対処しました。

/var/lib/dpkg/lock/var/lib/dpkg/lock-frontendファイルを削除します。

$ sudo rm -rf /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend 

その後

削除後、再度apt upgradeコマンドを実行しました。
しかし、まだアップグレード出来ません。

$ sudo apt upgrade                                          
E: dpkg は中断されました。問題を修正するには 'sudo dpkg --configure -a' を手動で実行する必要があります。

とりあえず、出力の指示通りのコマンドを実行します。

$ sudo dpkg --configure -a

すると処理は進みましたが、最終的にエラーが出力され完了できませんでした。

(省略)
処理中にエラーが発生しました:
 llvm-14
 llvm-14-runtime

もう一度apt upgradeを実行したところ先ほどのエラーで出力されたパッケージに関係するエラーが出力されました。

$ sudo apt upgrade                                                                           1 ⨯
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 llvm-14 : 依存: llvm-14-runtime (= 1:14.0.6-16) しかし、1:14.0.6-13 はインストールされています
           依存: llvm-14-linker-tools (= 1:14.0.6-16) しかし、1:14.0.6-13 はインストールされています
           推奨: llvm-14-dev しかし、インストールされていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。

すると、apt --fix-broken installを実行してみろと指示が出たので実行してみます。

$ sudo apt --fix-broken install                                                            100 ⨯
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
依存関係を解決しています ... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  avahi-utils coreboot-utils coreboot-utils-doc cryptsetup-run debtags dsniff espeak-ng-data
  fastjar gir1.2-atspi-2.0 gir1.2-handy-1 gir1.2-notify-0.7 gir1.2-polkit-1.0 gir1.2-secret-1
  icu-devtools jarwrapper kali-debtags libadwaita-1-0 libao-common libao4 libatk1.0-data
  libavresample4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
  libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libboost-filesystem1.74.0
  libboost-iostreams1.74.0 libboost-locale1.74.0 libboost-thread1.74.0 libbrlapi0.8 libcbor0
  libconfig++9v5 libdotconf0 libdumbnet1 libespeak-ng1 libev4 libexporter-tiny-perl libffado2
  libflac8 libflashrom1 libfluidsynth2 libfmt7 libgeos3.12.0 libgssdp-1.2-0 libgupnp-1.2-0
  libgupnp-igd-1.0-4 libhandy-1-0 libhiredis1.1.0 libhttp-server-simple-perl libicu-dev
  libigdgmm11 libilmbase25 liblist-moreutils-perl liblist-moreutils-xs-perl liblouis-data
  liblouis20 libmbim-utils libnfs13 libnginx-mod-http-geoip libnginx-mod-http-image-filter
  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnginx-mod-stream-geoip
  libnids1.21 libnma-gtk4-0 libofa0 libopenexr25 libopenfec1 libopts25 liborcus-0.17-0
  liborcus-parser-0.17-0 libotf0 libpcaudio0 libperl5.32 libperl5.36 libpipewire-0.3-modules
  libpoppler102 libproj19 libqmi-utils libqt5qmlworkerscript5 libqt5quickcontrols2-5
  libqt5quicktemplates2-5 librest-0.7-0 libroc0.3 librtlsdr0 libsnapd-glib-2-1 libsonic0
  libspeechd2 libtinyxml2-9 libwebsockets16 libwireplumber-0.4-0 libxcb-damage0 libxcb-xv0
  libxml2-dev libzxing2 lua-lpeg nginx-core openjdk-11-jre openjdk-11-jre-headless
  perl-modules-5.32 perl-modules-5.36 python3-backcall python3-debian python3-ntlm-auth
  python3-pickleshare python3-pylnk python3-requests-ntlm python3-requests-toolbelt
  qml-module-qtgraphicaleffects qml-module-qtqml qml-module-qtqml-models2
  qml-module-qtquick-controls qml-module-qtquick-layouts qml-module-qtquick-window2
  qml-module-qtquick2 ruby2.7 sphinx-rtd-theme-common
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  llvm-14-linker-tools llvm-14-runtime
以下のパッケージはアップグレードされます:
  llvm-14-linker-tools llvm-14-runtime
アップグレード: 2 個、新規インストール: 0 個、削除: 0 個、保留: 428 個。
2 個のパッケージが完全にインストールまたは削除されていません。
1,771 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 49.2 kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
(データベースを読み込んでいます ... 現在 373446 個のファイルとディレクトリがインストールされています。)
.../llvm-14-runtime_1%3a14.0.6-16_amd64.deb を展開する準備をしています ...
llvm-14-runtime (1:14.0.6-16) で (1:14.0.6-13 に) 上書き展開しています ...
.../llvm-14-linker-tools_1%3a14.0.6-16_amd64.deb を展開する準備をしています ...
llvm-14-linker-tools (1:14.0.6-16) で (1:14.0.6-13 に) 上書き展開しています ...
llvm-14-runtime (1:14.0.6-16) を設定しています ...
llvm-14-linker-tools (1:14.0.6-16) を設定しています ...
llvm-14 (1:14.0.6-16) を設定しています ...
libc-bin (2.37-15) のトリガを処理しています ...
systemd (255.4-1) のトリガを処理しています ...
man-db (2.12.0-3) のトリガを処理しています ...
kali-menu (2023.4.7) のトリガを処理しています ...
needrestart is being skipped since dpkg has failed

パッケージの修正処理が完了しました。

これでようやくapt upgradeを実行することが出来ました。

sudo apt upgrade

参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0