Поиск по сайту:

[Решено] Невозможно проанализировать файл пакета /var/lib/apt/lists


Видите ошибку «Невозможно проанализировать файл пакета /var/lib/apt/lists» в Ubuntu Linux? Вот как справиться с этой распространенной ошибкой обновления в дистрибутивах на базе Ubuntu.

В прошлом я обсуждал ряд ошибок обновления Ubuntu. Если вы используете командную строку для обновления Ubuntu, вы можете столкнуться с некоторыми «ошибками».

Некоторые из этих «ошибок» по сути представляют собой встроенные функции, предотвращающие несанкционированные изменения в вашей системе. Я не буду вдаваться в эти детали в этом кратком уроке.

В этом кратком совете я покажу вам, как устранить следующую ошибку, с которой вы можете столкнуться при обновлении системы или установке нового программного обеспечения:

Чтение списков пакетов… Ошибка!
E: Невозможно проанализировать файл пакета /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease
E: Не удалось проанализировать или открыть списки пакетов или файл состояния.

Подобная ошибка может возникнуть в Debian:

E: Невозможно проанализировать файл пакета /var/lib/apt/extended_states (1)

Нет абсолютно никакой необходимости паниковать, даже если там написано: «Файл кэша пакета поврежден». Это действительно легко «исправить».

Обработка ошибки «Невозможно проанализировать файл пакета» в дистрибутивах Linux на базе Ubuntu и Debian

Вот что вам нужно сделать. Внимательно посмотрите на имя и путь к файлу, на который жалуется Ubuntu.

Чтение списков пакетов… Ошибка!
E: Невозможно проанализировать файл пакета /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease
E: Не удалось проанализировать списки пакетов или файл состояния. быть проанализированы или открыты.

Например, в приведенной выше ошибке он жаловался на /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease.

Это дает вам представление о том, что с этим файлом что-то не так. Теперь все, что вам нужно сделать, это удалить этот файл и восстановить кеш.

sudo rm <file_that_is_not_parsed>

Итак, в моем случае я мог бы использовать эту команду: sudo rm /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease, а затем перестроить кеш с помощью sudo apt update команда.

Шаг за шагом для новичков

Если вы знакомы с командами Linux, возможно, вы знаете, как удалить файл по его абсолютному пути. Для начинающих пользователей позвольте мне помочь вам безопасно удалить файл.

Сначала вам следует перейти в каталог, в котором хранится файл:

cd /var/lib/apt/lists/

Теперь удалите файл, который не анализируется:

sudo rm archive.ubuntu.com_ubuntu_dists_bionic_InRelease

Теперь, если вы снова запустите обновление, кэш apt будет восстановлен.

sudo apt update

Слишком много файлов невозможно проанализировать?

Это нормально, если у вас есть один или два файла, которые не анализируются при обновлении системы. Но если система жалуется на десять-двадцать таких файлов, удалять их по одному слишком утомительно.

Что можно сделать в таком случае, чтобы удалить весь кеш и затем сгенерировать его заново:

sudo rm -r /var/lib/apt/lists/*
sudo apt update

Объяснение того, как это решило вашу проблему

/var/lib/apt — это каталог, в котором хранятся файлы и данные, связанные с менеджером пакетов apt. /var/lib/apt/lists — это каталог, который используется для хранения информации для каждого ресурса пакета, указанного в исходном списке вашей системы.

Проще говоря, в /var/lib/apt/lists хранится кэш информации о пакете. Когда вы хотите установить или обновить программу, ваша система проверяет в этом каталоге информацию об указанном пакете. Если она находит подробную информацию о пакете, то она переходит в удаленный репозиторий и фактически загружает программу или ее обновление.

Когда вы запускаете sudo apt update, он создает кеш. Вот почему даже если вы удалите все в каталоге /var/lib/apt/lists, при запуске обновления будет создан новый кеш.

Вот как он решает проблему, когда файлы не анализируются. Ваша система пожаловалась на то, что информация о конкретном пакете или репозитории каким-то образом была повреждена (либо неудачная загрузка, либо изменение файла source.list вручную). Удаление этого файла (или всего) и восстановление кеша решает проблему.

Все еще сталкиваетесь с ошибкой?

Это должно решить проблему для вас. Но если проблема все еще сохраняется или у вас есть какие-либо другие проблемы, дайте мне знать в разделе комментариев, и я постараюсь вам помочь.

Статьи по данной тематике: