2024年3月5日作成
Arch Linuxのアップデートでlibblockdevが競合する
Arch Linuxの更新をしようとしたところ、以下のようなエラーで停止しました。
$ sudo pacman -Syu
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
どうやら、udisks2-2.10.1-3には依存パッケージとしてlibblockdevとlibblockdev-utilsが 入っているけれども、いつ頃からか、これらのパッケージが競合するようになったようでした。
競合しているなら、どちらかを外さなければいけません。 そこで、どちらを残すのが正しいのか調べるためudisks2の差分をみると、
--- /home/lufia/usidks2-2.10.1-3 2024-02-23 00:11:57.000000000 +0900
+++ /home/lufia/udisks2-2.10.1-4 2024-03-02 05:02:17.000000000 +0900
@@ -2,10 +2,10 @@
# using fakeroot version 1.33
pkgname = udisks2
pkgbase = udisks2
-pkgver = 2.10.1-3
+pkgver = 2.10.1-4
pkgdesc = Daemon, tools and libraries to access and manipulate disks, storage devices and technologies
url = https://www.freedesktop.org/wiki/Software/udisks/
-builddate = 1708614717
+builddate = 1709323337
packager = David Runge <dvzrv@archlinux.org>
size = 15273052
arch = x86_64
@@ -25,6 +25,7 @@
depend = glibc
depend = libatasmart
depend = libblockdev
+depend = libbd_utils.so=3-64
depend = libblockdev.so=3-64
depend = libblockdev-crypto
depend = libblockdev-fs
@@ -33,8 +34,6 @@
depend = libblockdev-nvme
depend = libblockdev-part
depend = libblockdev-swap
-depend = libblockdev-utils
-depend = libbd_utils.so=3-64
depend = libgudev
depend = libgudev-1.0.so=0-64
depend = polkit
@@ -73,7 +72,6 @@
makedepend = libblockdev-nvme
makedepend = libblockdev-part
makedepend = libblockdev-swap
-makedepend = libblockdev-utils
makedepend = libgudev
makedepend = lvm2
makedepend = polkit
のように、libblockdev-utilsの方が依存パッケージから消えていたので、 アップデートの前に強制削除してから更新を実施しました。
$ sudo pacman -Rdd libblockdev-utils
$ sudo pacman -Syu
他にも、公式フォーラムによると、更新するときlibblockdev-utilsを無視する方法もあるようですね。
$ sudo pacman -Syu --ignore libblockdev-utils