You are here: Home » Справка и подсказки » Ошибка pacman «warning: failed to retrieve some files» (РЕШЕНО)

Ошибка pacman «warning: failed to retrieve some files» (РЕШЕНО)

Эта статья посвящена ошибкам, которые возникают из-за проблем со списком зеркал.

Ошибка pacman «The requested URL returned error: 404»

Для работы менеджера пакетов имеется кэш - в этом кэше собрана информация о существующих пакетах для установки, их версиях и ссылки на скачивание. Чтобы обновить (или скачать впервые) этот кэш, нужно выполнить команду:

sudo pacman -Sy

После этого можно выполнять обновление системы или обновление пакета.

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

error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirrors.evowise.com : The requested URL returned error: 404

Для её исправления нужно выполнить приведённую выше команду, а затем повторить установку.

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

sudo pacman -Syu

Эта команда привела к ошибке:

error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirrors.evowise.com : The requested URL returned error: 404
error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirror.rackspace.com : The requested URL returned error: 404
error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirror.rackspace.com : The requested URL returned error: 404
error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirror.dkm.cz : The requested URL returned error: 404
error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from mirror.dkm.cz : The requested URL returned error: 404
error: failed retrieving file 'goaccess-1.4.5-1-x86_64.pkg.tar.zst' from europe.mirror.pkgbuild.com : The requested URL returned error: 404
....................................................................
....................................................................
....................................................................
warning: failed to retrieve some files
error: failed to commit transaction (failed to retrieve some files)
Errors occurred, no packages were upgraded.

Многократное повторение команды ничего не меняет.

Причина в следующем: pacman скачивает кэш с некачественного зеркала, в котором содержится неверная информация. Для исправления, нужно выбрать другое зеркало, или переместить другое зеркало вверх списка, если вы используете несколько зеркал.

Начнём с того, что переключимся на новый список зеркал. Дело в том, что при установке пакета pacman-mirrorlist (в этом пакете содержится список зеркал), новый файл /etc/pacman.d/mirrorlist не заменяет существующий, а сохраняется с именем /etc/pacman.d/mirrorlist.pacnew. То есть даже если у вас последняя версия пакета pacman-mirrorlist, это не означает, что у вас актуальная версия файла /etc/pacman.d/mirrorlist. Проверте, существует ли файл /etc/pacman.d/mirrorlist.pacnew:

ls -l /etc/pacman.d/mirrorlist.pacnew

Если файл существует, то выполните следующие две команды (в противном случае пропустите их):

sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.back
sudo mv /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist

Это не всё - дело в том, что в файле /etc/pacman.d/mirrorlist по умолчанию все зеркала закомментированы, то есть отключены. Чтобы это исправить, откройте данный файл:

sudo gedit /etc/pacman.d/mirrorlist

и раскомментируйте, то есть удалите символ # в начале строки. Выберите те зеркала и страны, которые ближе к вам.

В моём случае проблемным зеркалом, вызвавшим описанную выше ошибку, стало следующее (не используйте его):

#Server = http://mirrors.evowise.com/archlinux/$repo/os/$arch

Arch Linux перестал обновляться

Если вы запускаете команду «sudo pacman -Syu» каждый день, то вы могли заметить, то в редкий день не бывает обновлений. Если вдруг для вашей системы на протяжении нескольких дней перестали приходить обновления, это может означать, что кэш пакетов скачивается с некачественного зеркала.

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

ошибка: не удалось обновить core (не настроены сервера для репозитория)

Ещё одна возможная ошибка после того, как вы выполнили какие-либо работы со списком зеркал установочных пакетов:

:: Обновление баз данных пакетов...
ошибка: не удалось обновить core (не настроены сервера для репозитория)
ошибка: не удалось обновить extra (не настроены сервера для репозитория)
ошибка: не удалось обновить community (не настроены сервера для репозитория)
ошибка: не удалось обновить multilib (не настроены сервера для репозитория)
ошибка: failed to synchronize all databases

Её причина в том, что в файле /etc/pacman.d/mirrorlist закомментированы все строки. Откройте этот файл:

sudo gedit /etc/pacman.d/mirrorlist

и раскомментируйте, то есть удалите символ # в начале строки для тех зеркал и стран, которые ближе к вам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo