Ви повинні мати можливість працювати з попереднім відомим файлом хорошого стану та оновлюватись звідти. Кожен раз, коли ви робите встановлення чи оновлення, файл статусу зберігається в gzipped резервну копію під / var / backup . Виконання ls -l dpkg * у каталозі показує:
-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
Існує також резервна копія файлу, створеного в каталозі / var / lib / dpkg / з назвою status-old. Здійснення ls -l status * у каталозі показує:
-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
Отже, щоб відновитись від корупції, ви повинні зробити наступне:
1. Створіть резервну копію корупційного файла статусу :
mv /var/lib/dpkg/status /var/lib/dpkg/status_bkup
2. Скопіюйте останній файл статусу dpkg з одного з джерел вище:
або
cp /var/lib/dpkg/status-old /var/lib/dpkg/status
або
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. Потім запустіть оновлення apt-get:
sudo apt-get update
Це повинно це робити.
status
файл: він є основним джерелом інформації, і хоча багато його є зайвим, не все це є. Однак, можливо, файл можна відремонтувати вручну. Розмістіть фрагмент файлу навколо проблемної лінії, скажімо, 20–40 рядків, включаючи принаймні одинPackage:
рядок до і після рядка 15945.