Вопрос или проблема
Пытаюсь обновить пакеты на своей виртуальной машине Ubuntu 20.04. Когда я запускаю sudo apt upgrade
, я получаю
Чтение списков пакетов… Готово
Строится дерево зависимостей.
Чтение информации о состоянии… Готово
Вам может потребоваться выполнить ‘apt –fix-broken install’, чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
python3-setuptools : Зависит: python3-pkg-resources (= 45.2.0-1), но установлен 45.2.0-1ubuntu0.2
E: Неудовлетворенные зависимости. Попробуйте ‘apt –fix-broken install’ без пакетов (или укажите решение).
Когда я запускаю sudo apt install --fix-broken
Чтение списков пакетов… Готово
Строится дерево зависимостей
Чтение информации о состоянии… Готово
Исправление зависимостей… Готово
Следующие дополнительные пакеты будут установлены:
python3-setuptools
Рекомендуемые пакеты:
python-setuptools-doc
Следующие пакеты будут обновлены:
python3-setuptools
1 обновлен, 0 новых установок, 0 для удаления и 4 не обновлены.
Необходимо получить 330 кБ архивов.
После этой операции дополнительно будет использовано 2,048 Б дискового пространства.
Вы хотите продолжить? [Y/n] y
Игнорировать:1 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 python3-setuptools all 45.2.0-1ubuntu0.2
Ошибка:1 http://mirrors.edge.kernel.org/ubuntu focal-security/main amd64 python3-setuptools all 45.2.0-1ubuntu0.2
403 Запрещено [IP: 91.189.91.82 80]
E: Не удалось получить http://mirrors.edge.kernel.org/ubuntu/pool/main/s/setuptools/python3-setuptools_45.2.0-1ubuntu0.2_all.deb 403 Запрещено [IP: 91.189.91.82 80]
E: Не удалось получить некоторые архивы, возможно, выполните apt-get update или попробуйте с –fix-missing?
Когда я запускаю sudo apt upgrade --fix-missing
Чтение списков пакетов… Готово
Строится дерево зависимостей
Чтение информации о состоянии… Готово
Вам может потребоваться выполнить ‘apt –fix-broken install’, чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
python3-setuptools : Зависит: python3-pkg-resources (= 45.2.0-1), но установлен 45.2.0-1ubuntu0.2
E: Неудовлетворенные зависимости. Попробуйте ‘apt –fix-broken install’ без пакетов (или укажите решение).
И, похоже, я застрял в этом цикле. Я не знаю, почему я получаю ошибку 403 запрещено, я могу вставить URL в браузер и подключиться к нему без каких-либо проблем, я могу получить файл с помощью curl, так что я знаю, что брандмауэр на работе не блокирует его или что-то в этом роде. Я пробовал использовать источник us.archive.ubuntu.com, а также несколько различных зеркал, расположенных в Калифорнии (где находится сервер), но безрезультатно.
У меня есть 5 пакетов для обновления, которые я не могу закончить обновление из-за этой проблемы с поврежденной установкой python3-setuptools.
fwupd-signed/focal-updates 1.51.1~20.04.1+1.4-0ubuntu0.1 amd64 [можно обновить с: 1.27.1ubuntu7+1.2-2~20.04.1]
linux-generic/focal-updates 5.4.0.204.200 amd64 [можно обновить с: 5.4.0.137.135]
linux-headers-generic/focal-updates 5.4.0.204.200 amd64 [можно обновить с: 5.4.0.137.135]
linux-image-generic/focal-updates 5.4.0.204.200 amd64 [можно обновить с: 5.4.0.137.135]
python3-setuptools/focal-security,focal-updates 45.2.0-1ubuntu0.2 all [можно обновить с: 45.2.0-1]
Ответ или решение
Решение проблемы с обновлением на Ubuntu 20.04
Ваша ситуация с обновлением пакетов на виртуальной машине с Ubuntu 20.04 требует внимательного подхода, так как ошибка с зависимостями и проблемы с доступом к репозиториям могут привести к зависанию системы в процессе обновления. Вот пошаговое руководство по устранению данной проблемы.
Анализ проблемы
При выполнении команды sudo apt upgrade
выводится сообщение о том, что пакеты имеют неудовлетворенные зависимости:
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Судя по логам, проблема в пакете python3-setuptools
, который требует определенной версии python3-pkg-resources
. При попытке исправления зависимостей командой sudo apt install --fix-broken
вы получаете ошибку 403 Forbidden при доступе к зеркалам Ubuntu:
E: Failed to fetch http://mirrors.edge.kernel.org/ubuntu/pool/main/s/setuptools/python3-setuptools_45.2.0-1ubuntu0.2_all.deb 403 Forbidden
Эта ошибка может указывать на несколько возможных проблем:
- Ошибки в конфигурации репозиториев.
- Проблемы, связанные с доступом к содержимому определенных зеркал.
- Кэширование неактуальных данных.
Шаги для устранения проблемы
-
Обновите индекс пакетов. Сначала попробуйте обновить индекс пакетов с помощью команды:
sudo apt update
Это обновит ваш локальный кэш списка доступных пакетов. Если во время выполнения этой команды возникают ошибки, это может указывать на проблемы с сетевым соединением или конфигурацией зеркал.
-
Попробуйте другой зеркальный сервер. В случае, если команда
sudo apt update
завершится ошибкой из-за недоступного зеркала, вы можете изменить его на другое:-
Откройте файл конфигурации источников:
sudo nano /etc/apt/sources.list
-
Измените адреса зеркал на альтернативные, например:
deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb http://us.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb http://us.archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
-
Сохраните файл и выйдите из редактора.
-
-
Повторите обновление. После изменения зеркала снова выполните:
sudo apt update
Затем выполните:
sudo apt --fix-broken install
-
Очистите кэш и попробуйте переустановить пакеты. Если предыдущие шаги не помогли, попробуйте очистить локальный кэш и переустановить конфликтующий пакет:
sudo apt clean sudo apt autoclean sudo apt remove python3-setuptools sudo apt install python3-setuptools
-
Последовательное обновление. Если ошибка всё же продолжает возникать, можно попробовать последовательно обновить пакеты, исключив
python3-setuptools
:sudo apt upgrade python3-setuptools --ignore-dependencies
Затем завершите обновление остальных пакетов:
sudo apt upgrade
Заключение
Несмотря на кажущиеся сложности с обновлением системы, следуя представленным шагам, вы сможете избежать ситуаций, когда система зависает из-за неудовлетворённых зависимостей. Рекомендуется также регулярно проверять и обновлять репозитории для того, чтобы избежать подобных проблем в будущем. Если вы продолжаете сталкиваться с трудностями, возможно, стоит рассмотреть предложение сообщества Ubuntu или обратиться к документации для получения более специализированной помощи.