E:невозможно открыть /var/lib/apt/lists/*** ... E:Не удалось проанализировать или открыть списки пакетов или файл состояния

E:невозможно открыть /var/lib/apt/lists/*** ... E:Не удалось проанализировать или открыть списки пакетов или файл состояния

Я запустил sudo apt updateи так далее в терминале, а затем получил эту ошибку. Я не могу скопировать и вставить этот код ошибки, поэтому мне интересно, в чем может быть проблема. Это какая-то проблема с разрешениями или что-то еще?

An error occurred, please run Package Manager from the right-click menu   
or apt-get in a terminal to see what is wrong  

Сообщение об ошибке:

Error: Opening the cache (E:can not open /var/lib/apt/lists/download.docker.com linux_ubuntu_dists_focal InRelease  
- fopen (13: Permission denied), 
E:The package lists or status file could not be parsed or opened. 
This usually means that your installed packages have unmet dependencies.

введите описание изображения здесь

решение1

Я нашел старый ответ из старых постов, просто выполните эти команды:

sudo rm /var/lib/apt/lists/* -vf

sudo apt-get clean

sudo apt-get update

sudo apt-get upgrade

Мне это помогло!

решение2

Проблема в моем случае заключалась в том, что (по какой-то причине) разрешения для конкретного файла в сообщении об ошибке были установлены на 600, а владельцем был _apt:root

Я изменил это на 644 root:root, что соответствовало остальным файлам в этом каталоге, и это сработало. (Используя имя файла вопроса) я сделал следующее:

sudo chown root:root /var/lib/apt/lists//var/lib/apt/lists/download.docker.com_linux_ubuntu_dists_focal_InRelease
sudo chmod 644 /var/lib/apt/lists//var/lib/apt/lists/download.docker.com_linux_ubuntu_dists_focal_InRelease

Я не уверен, было бы правильнее оставить владельца _apt, но предполагаю, что это происходит потому, что я обычно запускаю команду обновления из терминала как пользователь root, а не разрешаю средству обновления программного обеспечения запустить ее, поэтому это могло повлиять на разрешения.

Связанный контент