Bạn sẽ có thể làm việc với một tệp trạng thái tốt đã biết trước đó và cập nhật từ đó. Mỗi khi bạn thực hiện cài đặt hoặc cập nhật, tệp trạng thái sẽ được lưu vào bản sao lưu được nén bằng / var / backup . Thực hiện một ls -l dpkg * trên thư mục hiển thị:
-rw-r--r-- 1 root root 2266732 2010-09-30 08:35 dpkg.status.0
-rw-r--r-- 1 root root 624182 2010-09-29 08:49 dpkg.status.1.gz
-rw-r--r-- 1 root root 623844 2010-09-28 08:55 dpkg.status.2.gz
-rw-r--r-- 1 root root 620358 2010-09-24 11:04 dpkg.status.3.gz
-rw-r--r-- 1 root root 619021 2010-09-23 15:34 dpkg.status.4.gz
-rw-r--r-- 1 root root 619013 2010-09-23 08:03 dpkg.status.5.gz
-rw-r--r-- 1 root root 618968 2010-09-21 08:33 dpkg.status.6.gz
Ngoài ra còn có một bản sao lưu của tệp được tạo trong thư mục / var / lib / dpkg / có tên status-old. Thực hiện trạng thái ls -l * trên thư mục hiển thị:
-rw-r--r-- 1 root root 2266732 2010-09-30 08:35 status
-rw-r--r-- 1 root root 2267191 2010-09-30 08:35 status-old
Vì vậy, để phục hồi sau khi tham nhũng, bạn có thể làm như sau:
1. Tạo một bản sao lưu của tệp trạng thái bị hỏng :
mv /var/lib/dpkg/status /var/lib/dpkg/status_bkup
2. Sao chép tệp trạng thái dpkg gần đây vào vị trí từ một trong các nguồn trên:
hoặc
cp /var/lib/dpkg/status-old /var/lib/dpkg/status
hoặc là
cp /var/backups/dpkg.status.#.gz /var/lib/dpkg/
gunzip -d /var/lib/dpkg/dpkg.status.#.gz
mv /var/lib/dpkg/dpkg.status.# /var/lib/dpkg/status
3. Sau đó chạy cập nhật apt-get:
sudo apt-get update
Nên làm vậy.
status
tệp: đó là nguồn thông tin chính và trong khi rất nhiều trong số đó là dư thừa, thì không phải tất cả đều như vậy. Tuy nhiên, có thể sửa chữa tệp bằng tay. Đăng một đoạn của tập tin xung quanh dòng có vấn đề, giả sử 20Package:
dòng4040 bao gồm ít nhất một dòng trước và sau dòng 15945.