🛠️ Решение ошибки “W: Some index files failed to download.” на Ubuntu

by itisgood

Похоже, одно из зеркал Ubuntu сегодня не работает, и я не могу установить новый пакет на свой сервер Ubuntu 20.04 LTS.

Когда я пытаюсь обновить списки источников программного обеспечения, я получаю эту ошибку: “W: Some index files failed to download. They have been ignored, or old ones used instead.”

Я попытался обновить списки репозитория пару раз, перезагрузил сервер, но все равно получаю ту же ошибку.

Я проверил интернет-соединение, оно работает отлично!

Я выполнил следующую команду для обновления моего сервера Ubuntu:

$ sudo apt update

И я столкнулся с этой ошибкой:

Err:1 http://in.archive.ubuntu.com/ubuntu focal InRelease
  Could not connect to in.archive.ubuntu.com:80 (2403:8940:ffff::f), connection timed out Could not connect to in.archive.ubuntu.com:80 (103.97.84.254), connection timed out
Err:2 http://in.archive.ubuntu.com/ubuntu focal-updates InRelease
  Unable to connect to in.archive.ubuntu.com:http:
Err:3 http://in.archive.ubuntu.com/ubuntu focal-backports InRelease
  Unable to connect to in.archive.ubuntu.com:http:
Err:4 http://in.archive.ubuntu.com/ubuntu focal-security InRelease
  Unable to connect to in.archive.ubuntu.com:http:
Reading package lists... Done                           
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://in.archive.ubuntu.com/ubuntu/dists/focal/InRelease  Could not connect to in.archive.ubuntu.com:80 (2403:8940:ffff::f), connection timed out Could not connect to in.archive.ubuntu.com:80 (103.97.84.254), connection timed out
W: Failed to fetch http://in.archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease  Unable to connect to in.archive.ubuntu.com:http:
W: Failed to fetch http://in.archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease  Unable to connect to in.archive.ubuntu.com:http:
W: Failed to fetch http://in.archive.ubuntu.com/ubuntu/dists/focal-security/InRelease  Unable to connect to in.archive.ubuntu.com:http:
W: Some index files failed to download. They have been ignored, or old ones used instead.
Как видно из вышеприведенного вывода, одно из зеркал не работает, и нам придется либо отключить его, либо заменить его рабочим, чтобы исправить эту ошибку.

Как исправить “W: Some index files failed to download.”

Эта ошибка обычно устраняется, как только зеркало Ubuntu отвечает по сети.

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

Перед изменением списков источников настоятельно рекомендуется сначала сделать их резервные копии:

$ sudo mv /etc/apt/sources.list{,.backup}
$ sudo mv /etc/apt/sources.list.d{,.backup}

Способ 1 – переключиться обратно на оригинальное зеркало

В Ubuntu есть примеры исходных списков в файле /usr/share/doc/apt/examples/sources.list.

Давайте посмотрим на содержимое этого файла:

$ cat /usr/share/doc/apt/examples/sources.list
Вывод:
# See sources.list(5) manpage for more information
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
deb http://us.archive.ubuntu.com/ubuntu focal main restricted
deb-src http://us.archive.ubuntu.com/ubuntu focal main restricted

deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb-src http://security.ubuntu.com/ubuntu focal-security main restricted

deb http://us.archive.ubuntu.com/ubuntu focal-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu focal-updates main restricted

Теперь создайте новые исходные списки из примера файла, как показано ниже:

$ sudo mkdir /etc/apt/sources.list.d
$ sudo cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list
$ sudo apt update

Это восстановит все зеркала на главный сервер, обычно зеркала в США.

Как добавить дополнительные репозитории

Мы включили репро [Main].

Этот репозиторий содержит бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое Canonical.

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

 

  • RestrictedФирменные драйверы для устройств.
  • MultiverseПрограммное обеспечение ограниченное авторским
  • UniverseПоддерживаемое сообществом бесплатное программное обеспечение с открытым исходным кодом.

Чтобы включить эти репозитории, запустите:

$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe
$ sudo apt update

Вы можете проверить все включенные репозитории, как показано ниже:

$ grep ^deb /etc/apt/sources.list

Как отключить репозитории

Если вы посмотрите на этот новый файл sources.list, исходные репозитории также были включены.

Строки начинаются с «deb-src» и указывают исходные репозитории.

Это полезно для разработчиков.

Если вы являетесь обычным пользователем, вам они не нужны.

Чтобы отключить репозитории, откройте файл /etc/apt/sources.list и просто поместите символ хеша (#) перед строкой, начинающейся с deb-src.

После комментирования строка должна выглядеть следующим образом:

#deb-src http://us.archive.ubuntu.com/ubuntu focal-updates main restricted
[...]
Если вы живете за пределами США, возможно, основные зеркала будут работать медленнее.
В этом случае вы можете переключиться на ближайшее зеркало.

Способ 2 – Скопировать списки источников из другой рабочей системы

Если у вас есть другой компьютер с той же версией Ubuntu, просто скопируйте содержимое файла sources.list и используйте его в своей системе.

Это самый простой и легкий способ.

Если дополнительные репозитории, такие как Restricted, Multiverse и Universe, еще не включены, сделайте:

$ sudo add-apt-repository restricted
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository universe
$ sudo apt update

You may also like

Leave a Comment