由于缺少libpackagekit-glib2.so.18
. rpm -q --verify
说缺少几个文件,即使重新安装该软件包后,我还需要重新安装一些其他软件包
missing /usr/lib64/gnome-settings-daemon-3.0/gtk-modules/pk-gtk-module.desktop
missing /usr/lib64/gtk-2.0/modules/libpk-gtk-module.so
missing /usr/lib64/gtk-3.0/modules/libpk-gtk-module.so
missing c /etc/PackageKit/CommandNotFound.conf
missing /etc/profile.d/PackageKit.sh
missing /usr/libexec/pk-command-not-found
missing /usr/libexec/pk-gstreamer-install
rpm -q --verify --all
没有发现任何其他丢失或损坏的东西。
我对此感到非常惊讶。包更新以原子方式替换文件rename()
(并且应该fsync()
在之前使用rename()
以保证断电时写入的内容不会丢失)。
Fedora 28 中是否存在可能删除这些文件的错误?
或者是其他一些已知问题,例如硬件问题?
其他地方有类似症状的报告吗?
当前日期是 2018 年 5 月 28 日。etckeeper
(每日更新)表明 中的文件/etc
已丢失2018-05-16 11:33:41
。
在此之前我可以看到一个离线包更新,但它承认升级的唯一包是ostree
.
$ journalctl --since=-1month /usr/libexec/pk-offline-update
...
May 16 11:17:03 alan-laptop pk-offline-update[773]: package updating ostree-2018.5-1.fc28.x86_64 (updates)
...
May 16 11:17:05 alan-laptop pk-offline-update[773]: package cleanup ostree-2018.3-2.fc28.x86_64 (installed)
dnf history
节目
328 | install PackageKit | 2018-05-16 11:33 | Install | 1 <
327 | debuginfo-install glibc- | 2018-05-16 11:02 | Update | 2 >
326 | downgrade ostree | 2018-05-16 10:56 | Downgrade | 1 <
325 | builddep PackageKit | 2018-05-16 10:47 | Install | 11 ><
我的硬盘驱动器的 GNOME 磁盘 SMART 信息报告“磁盘正常”,并且简短的 SMART 测试成功且没有错误。
/lost+found/
是空的。
该系统是 Fedora 27(等)的升级版,而不是全新安装。
硬件是 Dell Lattitude E5450(商务系列笔记本电脑),带有旋转硬盘。硬盘驱动器标识为WDC WD5000LPLX-75ZNTT0 (01.01A01)
。
coredumpctl -r 列表 /usr/libexec/packagekitd
在 /etc 中的文件丢失之前两周,我遇到了一些 packagekit 崩溃:https://bugzilla.redhat.com/show_bug.cgi?id=1523706#c21
根据 coredumpctl 的说法,我后来发生了几次崩溃,这些崩溃的日期非常接近文件丢失的日期
TIME PID UID GID SIG COREFILE EXE
Mon 2018-05-14 18:14:01 BST 4474 0 0 11 missing /usr/libexec/packagekitd
Mon 2018-05-14 16:40:28 BST 1599 0 0 11 missing /usr/libexec/packagekitd
Wed 2018-05-02 12:10:53 BST 2174 0 0 11 missing /usr/libexec/packagekitd
Wed 2018-05-02 11:39:55 BST 27919 0 0 11 missing /usr/libexec/packagekitd
Wed 2018-05-02 10:47:53 BST 25548 0 0 6 missing /usr/libexec/packagekitd
Wed 2018-05-02 10:46:52 BST 21783 0 0 6 missing /usr/libexec/packagekitd
Wed 2018-05-02 10:42:43 BST 18529 0 0 11 missing /usr/libexec/packagekitd
Wed 2018-05-02 10:37:56 BST 12763 0 0 6 missing /usr/libexec/packagekitd
Wed 2018-05-02 10:15:49 BST 1569 0 0 6 missing /usr/libexec/packagekitd
Sat 2018-04-28 14:34:43 BST 1394 0 0 11 missing /usr/libexec/packagekitd
Tue 2018-03-06 10:54:03 GMT 1498 0 0 6 missing /usr/libexec/packagekitd
Wed 2018-02-28 10:40:55 GMT 1487 0 0 11 missing /usr/libexec/packagekitd
Fri 2018-02-23 21:01:21 GMT 1557 0 0 6 missing /usr/libexec/packagekitd
Thu 2017-11-16 10:05:46 GMT 10987 0 0 11 missing /usr/libexec/packagekitd
Tue 2017-11-14 11:04:56 GMT 1631 0 0 11 missing /usr/libexec/packagekitd
Mon 2017-10-16 16:56:48 BST 1557 0 0 11 missing /usr/libexec/packagekitd
Thu 2017-09-28 16:31:19 BST 1513 0 0 11 missing /usr/libexec/packagekitd
答案1
328 | install PackageKit | 2018-05-16 11:33 | Install | 1 < 327 | debuginfo-install glibc- | 2018-05-16 11:02 | Update | 2 > 326 | downgrade ostree | 2018-05-16 10:56 | Downgrade | 1 < 325 | builddep PackageKit | 2018-05-16 10:47 | Install | 11 ><
这个问题是由我所做的一些测试引起的。
我使用删除了 PackageKit rpm --nodeps -e
,因此我可以构建并安装修补过的包套件。
然后我用了make uninstall
, 和dnf install PackageKit
.
问题是PackageKit源码包被分割成几个不同的RPM。所以我只重新安装了主包,而不是任何子包。