Dpkg
/var/lib/dpkg/ 在 fsck 後消失
所有
apt
類似命令都無法創建鎖定文件,因為/var/lib/dpkg/
不存在。此外,/lost+found/
還有內容:pi@pi-top:~ $ sudo ls -al /lost+found/ total 102456 drwx------ 11 root root 16384 Apr 3 16:26 . drwxr-xr-x 23 root root 4096 May 5 17:00 .. -rw------- 1 root root 104857600 Apr 3 16:30 #29025 lrwxrwxrwx 1 root root 9 Mar 29 10:05 #87867 -> /run/lock lrwxrwxrwx 1 root root 4 Mar 29 10:05 #87868 -> /run drwxr-xr-x 2 root root 4096 May 5 10:35 #89863 drwxr-xr-x 12 root root 4096 Apr 3 16:41 #89864 drwxr-xr-x 44 root root 4096 Apr 3 16:30 #89865 drwxrwsr-x 2 root staff 4096 Mar 12 14:03 #89866 drwxr-xr-x 6 root root 4096 May 5 16:30 #89867 drwxrwsr-x 2 root mail 4096 Mar 29 10:05 #89868 drwxr-xr-x 2 root root 4096 Mar 29 10:05 #89869 drwxr-xr-x 5 root root 4096 Mar 29 10:32 #89870 drwxrwxrwt 3 root root 4096 May 5 16:31 #89871
/var/lib/
儘管系統沒有顯示任何其他症狀,但也缺少很多。是否可以恢復系統(或至少dpkg
)?如果是這樣,怎麼做?
很抱歉,但在這個階段,您最好從乾淨的備份中恢復。當在
fsck
中放置這麼多目錄時/lost+found
,這表明存在大量損壞。很可能有更多的損壞,但是因為它在文件內容中而不是在元數據中,所以 fsck 無法知道。從備份還原時,請確保它是乾淨的備份。損壞可能在檢測到之前就已開始。
辨識文件內容的唯一方法
lost+found
是查看它們並弄清楚。沒有系統的方法。如果有的話,fsck 會這樣做。查看您顯示的內容
/lost+found
,目錄似乎已/var
損壞。您可以嘗試通過創建/var
適當的條目並將其移動/lost+found
到/var
.# Running as root, of course umask 022 mkdir /var mv /lost+found/\#87867 /var/lock mv /lost+found/\#87868 /var/run mv /lost+found/\#89866 /var/local mv /lost+found/\#89868 /var/mail …
我從元數據(所有權和符號連結目標)中找出了上面的條目。您可以通過查看目錄內容來了解更多資訊。與現有的系統安裝進行比較(最好是相同的發行版或至少接近的版本,但處理器架構無關緊要)。
/var/lib
可能是#89865
因為它往往有很多子目錄,但這只是一個猜測。它可能完全來自系統的另一部分。不要專注於恢復
/var/lib/dpkg
而忽略其餘的。缺乏/var/lib/dpkg
只是你注意到的第一個症狀。在 PC 上,我建議進行 RAM 測試(使用Memtest86+,它在大多數發行版上作為一個軟體包提供,並且至少在 Ubuntu 上預設安裝)。在 Raspberry Pi 上,如果您的系統使用 SD 卡,我建議更換 SD 卡:SD 卡是系統中最不可靠的部分,如果您繼續使用它,它可能會不斷損壞您的數據。