& ldquo; списки пакетов или файл состояния не могут быть проанализированы или открыты & rdquo; [Дубликат]

Эти температуры выглядят хорошо для меня для такой конфигурации. Я видел гораздо хуже.

1
задан 24 January 2014 в 19:26

3 ответа

Это старый вопрос, но только для цели архива ... Следующее - это то, что решает эту проблему в моем случае:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get clean
sudo apt-get update
21
ответ дан 24 May 2018 в 12:36
  • 1
    да удаление всех файлов apt-get и начало совершенно свежего также помогло мне, это заняло некоторое время, но работало! Tanx – azerafati 14 May 2016 в 17:28
  • 2
    Это работало для меня после 3 других опций - копировать старый статус / копировать статус резерва / удалять и создавать пустой статус - не работает. Я также понял, как возникла эта проблема. Я пытался сменить сервер во время моего последнего обновления вручную (в июне 2016 года), в то время как проблема была на самом деле с моим интернет-провайдером, который несколько раз висел в работе. Папка списков имела (возможно, поврежденные) списки с разных серверов Ubuntu, которые были очищены и воссозданы после этой операции. – Sri 14 July 2016 в 08:48
  • 3
    Это также сработало для меня, также см. Как исправить проблему с MergeList " или "файл состояния не может быть проанализирован" ошибка при попытке выполнить обновление? для получения дополнительной информации и amp; инструкции. – JonasCz 4 September 2016 в 12:36
  • 4
    Мне просто нужно было сделать последние два шага. – BananaNeil 19 November 2016 в 04:17

Я столкнулся с подобной ошибкой:

Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.

Я следовал аналогичным предложениям для копирования status-old.

$ head /var/lib/dpkg/status
$ head /var/lib/dpkg/status-old

Все мои статусные файлы были пустыми для некоторых причина. К счастью, я обнаружил, что есть резервные копии этих файлов:

$ ls -l /var/backups/dpkg.status.*
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.0
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.1.gz
-rw-r--r-- 1 root root 128168 Sep 20  2013 /var/backups/dpkg.status.2.gz
-rw-r--r-- 1 root root 112545 Sep 16  2013 /var/backups/dpkg.status.3.gz
-rw-r--r-- 1 root root 107767 Sep 14  2013 /var/backups/dpkg.status.4.gz
-rw-r--r-- 1 root root 107766 Sep 11  2013 /var/backups/dpkg.status.5.gz
-rw-r--r-- 1 root root  94583 Sep 11  2013 /var/backups/dpkg.status.6.gz

Я проверил последнюю резервную копию ...

$ head /var/backups/dpkg.status.0

... но она была пустой. Поэтому я расстегнул старую ...

$ gunzip /var/backups/dpkg.status.1.gz
$ head /var/backups/dpkg.status.1

На этот раз был контент. Поэтому я скопировал его ...

$ cp /var/backups/dpkg.status.1 /var/lib/dpkg/status

Тогда apt-get update бежал без проблем.

Кредит отправляется на этот пост.

6
ответ дан 24 May 2018 в 12:36

У меня была аналогичная ошибка, но проблема была не в dpkg.status, а в подходящем листинге.

Чтобы проверить вероятную причину, запустите strace -efile apt install something. Затем найдите последние файлы, которые были доступны до появления сообщения об ошибке:

stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS.uncompressed", 0x7fffd2f39d00) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS", 0x7fffd2f39e50) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f39d10) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f396d0) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=57344, ...}) = 0
open("/tmp/fileutl.message.XlglFW", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
unlink("/tmp/fileutl.message.XlglFW")   = 0
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 6
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 5
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
Reading package lists... Done
E: The package lists or status file could not be parsed or opened.
+++ exited with 100 +++

В моем случае последний файл (файл Release из фоссиологии) оказался 0 байтами. Удаление этого репозитория позволило вернуться к нормальной работе

0
ответ дан 24 May 2018 в 12:36

Другие вопросы по тегам:

Похожие вопросы: