Linux
在 dpkg info 目錄中移動或刪除 ext4 上的文件時出錯
我的 ubuntu 系統上留下了一個麻煩的空文件(核心 4.19.1 的 md5sums),具有奇怪的所有者/組/日期/屬性
如何修復或解決此缺陷文件?
$ uname -a Linux olly-ryzen-pc1 4.20.10-042010-generic #201902150516 SMP Fri Feb 15 10:19:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
統計
$ stat /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums Datei: /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums Größe: 0 Blöcke: 0 EA Block: 4096 Normale leere Datei <= empty file Gerät: 802h/2050d Inode: 27918873 Verknüpfungen: 1 Zugriff: (5625/-rwS-w-r-t) Uid: (477987903/ UNKNOWN) Gid: (3699747887/ UNKNOWN) Zugriff : 2381-05-02 11:29:39.163881368 +0100 Modifiziert: 2293-06-01 00:54:46.455862499 +0100 Geändert : 2167-05-10 21:19:01.867729249 +0100 Geburt : -
lsattr
$ lsattr /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums lsattr: Keine Daten verfügbar Beim Lesen der Flags von /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
apt, dpkg
此文件無法更改或刪除(刪除/清除 4.19.1),但會影響 apt-get 安裝應用程序。
–fix-broken 或 –reinstall dpkg 退出也帶有“不允許”消息。
無法刪除。控制資訊文件 »/var/lib/dpkg/info/linux-image-unsigned-4。19.1-041901-generic.md5sums’ 無法刪除:不允許操作
chmod -st, chown root:root
沒有變化。
rm -f
不。
現場 USB
還嘗試從 USB-Stick 啟動 ubuntu(安裝 4.18)進行修復,但是:
sudo e2fsck -f /dev/sba2
不報錯
sudo badblocks -vsn /dev/sda2
報告 0 個壞塊和
rm
,chmod
,chown
: 與上述相同的行為..只是為了比較,這裡是一個鄰居文件:
$ stat /var/lib/dpkg/info/linux-sound-base.md5sums Datei: /var/lib/dpkg/info/linux-sound-base.md5sums Größe: 545 Blöcke: 8 EA Block: 4096 Normale Datei Gerät: 802h/2050d Inode: 27269131 Verknüpfungen: 1 Zugriff: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Zugriff : 2019-02-03 16:56:08.943545720 +0100 Modifiziert: 2015-07-31 05:42:23.000000000 +0200 Geändert : 2018-05-22 01:20:37.178864616 +0200 Geburt : - $ lsattr /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.list --------------e--- /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.list
由於
fsck
沒有發現任何錯誤,您可能需要使用debugfs
清除inode。請注意,我上次使用是debugfs
幾年前的,所以要小心!首先閱讀手冊頁以了解此工具的功能。從救援媒體啟動,然後執行
debugfs /dev/sda2
您可以嘗試使用 debugfs 的
rm
命令來刪除該文件:rm /var/lib/dpkg/info/linux-image-unsigned-4.19.1-041901-generic.md5sums
(假設 /dev/sda2 安裝在
/
,不是/var
)如果這不起作用,您可以嘗試釋放 inode。
stat
您已經從輸出中知道了 inode 編號 (27918873) 。您可以使用以下命令釋放 inode:freei 27918873
debugfs
使用我建議再次執行文件系統之後fsck
。