Linux

在 dpkg info 目錄中移動或刪除 ext4 上的文件時出錯

  • March 7, 2019

我的 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

引用自:https://unix.stackexchange.com/questions/504540