Вы должны быть в состоянии работать с предыдущим известным файлом состояния и обновлять его оттуда. Каждый раз, когда вы выполняете установку или обновление, файл состояния сохраняется в резервную копию gzip в / var / backups . Выполнение команды 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 * в каталоге показывает:
-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 update:
sudo apt-get update
Это должно сделать это.
status
файл: это основной источник информации, и хотя большая его часть избыточна, но не вся. Однако возможно восстановить файл вручную. Поместите кусок файла вокруг проблемной строки, скажем, 20–40 строк, включая как минимум однуPackage:
строку до и после строки 15945.