Как исправить ошибки apt update и применить apt --fix-broken

Как исправить ошибки apt update и применить apt --fix-broken

Kevin Wu
27 августа 2026 г.· Обновлено 4 октября 2026 г.· 10 мин чтения

Чтобы исправить ошибки apt update и починить сломанные пакеты, сохраните полный вывод, определите категорию сбоя и только затем запускайте подходящее исправление: при подтверждённых нарушенных зависимостях сначала просмотрите план через sudo apt-get --simulate --fix-broken install, а потом выполните реальный --fix-broken install. Сбой apt update также может быть вызван DNS или сетью, устаревшим репозиторием, подписью, другим пакетным процессом, прерванной настройкой dpkg либо заполненной файловой системой. Для этих случаев нужны разные действия; принудительный параметр может скрыть причину и разрешить опасные удаления.

Ключевые выводы

  • До изменения конфигурации сохраните URL репозитория, имя пакета и последние строки ошибки.
  • apt-get check диагностирует зависимости, --fix-broken запрашивает исправление, а --simulate показывает план.[1]
  • Никогда не удаляйте файлы блокировки, пока ими может владеть пакетный процесс.
  • Отклоняйте план, который удаляет несвязанные пакеты рабочего стола, ядра, защиты или данных.

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

В какой последовательности исправить ошибки apt update?

Шаг 1: Сохраните полный сбой

Сохраните неудачную команду, URL репозитория, имена пакетов и последние строки ошибки. Запишите недавние изменения источников, DEB-пакетов, удержаний или обновлений, не публикуя учётные данные.

Шаг 2: Классифицируйте доказательство

Выберите категорию: сеть или DNS, репозиторий или выпуск, аутентификация подписи, активный владелец блокировки, прерванное состояние dpkg, нарушенная зависимость либо исчерпанные байты или inode.

Шаг 3: Восстановите предварительные условия

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

Шаг 4: Проверьте состояние пакетов

Выполните apt-get check, dpkg --audit и apt-mark showhold. Не считайте удержание, распакованный пакет и отсутствующий индекс репозитория одним и тем же состоянием.

Шаг 5: Соблюдайте владение блокировкой

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

Шаг 6: Исправьте выявленного владельца

Исправляйте только подтверждённую настройку репозитория или подписи, а dpkg --configure -a используйте только при явном состоянии прерванной настройки.

Шаг 7: Смоделируйте исправление зависимостей APT

При подтверждённых нарушенных зависимостях APT запустите вариант --simulate --fix-broken и проверьте каждую установку, обновление, понижение версии и удаление, прежде чем разрешить реальную транзакцию.

Шаг 8: Повторите проверки и подтвердите результат

Повторите исходную операцию, apt-get check и dpkg --audit. Проверьте затронутую программу или службу и сохраните вывод до и после вместе с записью об обслуживании.

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

Как сохранить и классифицировать ошибку?

Выполните неудачную команду один раз в терминале и сохраните весь её вывод. Не вставляйте в публичную заявку секреты, учётные данные частного репозитория или внутренние имена хостов. Запишите выпуск Ubuntu, время, последнюю успешную пакетную операцию, недавние изменения репозиториев или DEB-пакетов и объём свободного места.

Выбирайте ветвь по формулировке ошибки:

Признак в ошибкеВероятная ветвьПервая проверка
Имя не удаётся разрешить или временный сбой разрешенияDNS или сетьЗапросить точное имя хоста и проверить IP-путь
Отсутствует Release-файл, у репозитория нет Release-файла или 404Репозиторий/выпускПроверить URL, suite и поддержку у поставщика
Открытый ключ, подпись или репозиторий не подписанАутентификацияСверить официальную инструкцию по подписи и системное время
Could not get lock или блокировка frontendАктивный пакетный процессНайти процесс-владелец и дождаться его
dpkg был прерван или пакеты распакованы, но не настроеныСостояние dpkgИзучить состояние, затем при необходимости завершить настройку
Unmet dependencies или удерживаемые нарушенные пакетыСостояние зависимостейВыполнить apt-get check и изучить затронутые пакеты
No space left on deviceМесто или inodeПроверить затронутую файловую систему до повтора

Ошибка индекса apt update и нарушенное состояние установленных пакетов могут сосуществовать, но одна команда не исправляет все категории.

Что проверить до исправления?

Начните с команд только для чтения или диагностики:

sudo apt-get check
dpkg --audit
df -h
df -i

apt-get check при необходимости обновляет кэш пакетов и проверяет наличие нарушенных зависимостей. Руководство APT рассматривает её отдельно от --fix-broken, который пытается устранить проблему с зависимостями. dpkg --audit ищет частично установленные пакеты и несогласованное состояние.[2] Нехватку места на диске и исчерпание inode нужно устранить в первую очередь, потому что пакетным инструментам нужно место для загрузки, распаковки и обновления своих баз данных.

Проверьте также удерживаемые пакеты:

apt-mark showhold

Удержание (hold) может быть намеренным — ради совместимости или по эксплуатационным причинам. Не снимайте его, пока не узнаете, кто его установил и какое обновление оно блокирует.

Как обработать ошибки сети и репозитория?

При сбое имени хоста проверьте точный хост через resolvectl query. Если не работает системное разрешение имён, диагностируйте службу разрешения имён и IP-путь, а не редактируйте файлы репозиториев.

При ошибке 404, отсутствующем Release-файле или неподдерживаемом suite изучите определение источника и сравните его с официальной документацией поставщика для вашего выпуска Ubuntu. Сторонний репозиторий может ещё не поддерживать новый выпуск, переехать или быть закрыт. Отключайте или исправляйте только тот источник, который точно определили, и сохраняйте запись, чтобы его можно было вернуть. Не удаляйте все сторонние источники, чтобы исчезло предупреждение.

При ошибках подписи проверьте автоматическую установку времени, происхождение репозитория, официальный способ установки ключа, а также не был ли ключ подписи заменён или не истёк ли его срок. Не используйте параметры обхода аутентификации. Руководство APT относит такие параметры, как разрешение неаутентифицированных пакетов и force-yes, к опасным, потому что они снимают защитные механизмы.

Что делать с блокировкой менеджера пакетов?

Блокировка обычно означает, что уже работают Software Updater, unattended upgrades, APT или dpkg. Найдите штатные пакетные процессы и дождитесь их завершения. На управляемом сервере перед любыми действиями проверьте задание обслуживания и журналы.

Не удаляйте файл блокировки. Файл — это не само состояние владения, и его удаление может позволить двум процессам одновременно изменять пакетные данные. Если процесс кажется зависшим, сначала выясните, загружает ли он данные, распаковывает, настраивает или ждёт ввода. Передавайте проблему по штатной процедуре обслуживания системы, а не завершайте процесс вслепую.

Как восстановить прерванную настройку dpkg?

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

sudo dpkg --configure -a

Команда возобновляет настройку всех распакованных, но ненастроенных пакетов, поэтому читайте каждый вопрос и каждую ошибку. Это не универсальная первая команда при сбоях репозитория, DNS или подписи. Руководство dpkg описывает --configure -a как настройку всех распакованных, но не настроенных пакетов.

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

Когда применять --fix-broken?

Используйте его только после того, как apt-get check подтвердил проблему с зависимостями, а нужные для исправления индексы репозиториев пригодны. Сначала смоделируйте предлагаемую транзакцию:

sudo apt-get --simulate --fix-broken install

Симуляция не устанавливает блокировку и не записывает состояние пакетов, поэтому это предварительный просмотр, а не доказательство того, что реальная транзакция пройдёт успешно. Проверьте каждую установку, обновление, понижение версии и удаление. Если план узкий и понятен, выполните то же исправление без --simulate:

sudo apt-get --fix-broken install

Остановитесь, если решатель предлагает удалить несвязанные приложения, окружение рабочего стола, работающее ядро, компоненты безопасности, базы данных или важные службы с данными. Вместо этого устраните конфликт репозитория, закрепления версии (pin), локального DEB-пакета или удерживаемого пакета.

Как проверить исправление?

Снова выполните исходную операцию, затем проверьте состояние пакетов:

sudo apt update
sudo apt-get check
dpkg --audit

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

Если причина была в месте на диске, воспользуйтесь руководством по освобождению места в затронутой файловой системе Linux и проверьте и байты, и inode, прежде чем снова запускать пакетные инструменты.

Итоги

Сохраните ошибку, выберите подходящую ветвь и проводите диагностику до исправления. Устраняйте проблему с DNS, репозиторием, подписью, блокировкой, dpkg, зависимостями или местом у её владельца. Моделируйте исправление зависимостей и отклоняйте неожиданные удаления. Никогда не жертвуйте аутентификацией пакетов или целостностью базы ради временно спокойного терминала.

Часто задаваемые вопросы (FAQ)

Устанавливает ли apt update обновления?

Нет. Команда обновляет индексы пакетов. Установка или обновление — отдельное действие, хотя обновление индексов может выявить ошибки репозиториев.

Можно ли удалить файлы блокировки APT?

Нет. Сначала найдите процесс, который выполняет пакетную работу, и дождитесь его или используйте документированную процедуру службы. Удаление пути не делает одновременную запись в базу безопасной.

Что меняет apt-get check?

Её назначение — диагностическая проверка зависимостей, хотя она может обновить кэш пакетов. Она не запрашивает то же исправление, что --fix-broken.

Безопасно ли запускать --fix-broken вслепую?

Нет. Команда может предложить удаления и другие изменения. Сначала выполните симуляцию, изучите план и разберитесь в конфликте пакетов или репозиториев.

apt --fix-broken install и apt-get -f install — одно и то же?

Как запрос на исправление — да: -f — короткая форма --fix-broken, и вместе с install имена пакетов можно не указывать, чтобы APT сам подобрал вероятное решение.[1] Интерфейс apt запрашивает то же исправление. У dpkg такого параметра нет: он сообщает о проблемах с зависимостями, но не загружает пакеты для их устранения. В любом случае сначала выполните симуляцию.

Почему APT сообщает, что у репозитория нет Release-файла?

URL репозитория или suite могут быть неверными, устаревшими, неподдерживаемыми или неправильно опубликованными. Проверьте их по официальной инструкции владельца репозитория и не обходите предупреждение.

Что делает dpkg --configure -a?

Пытается настроить все пакеты, которые распакованы, но не настроены. Применяйте её при выявленном состоянии прерванной настройки, а не как универсальное средство для APT.

Можно ли разрешить неаутентифицированные пакеты, чтобы обойти ошибку подписи?

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


Отказ от ответственности: Состояние пакетов зависит от выпуска Ubuntu, источников, pin и установленного ПО. Для важных систем сохраняйте резервную копию и консоль восстановления.

Источники:

  1. Ubuntu Manpage Repository — apt-get(8) — https://manpages.ubuntu.com/manpages/noble/man8/apt-get.8.html
  2. Ubuntu Manpage Repository — dpkg(1) — https://manpages.ubuntu.com/manpages/noble/man1/dpkg.1.html

Sources checked 4 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Как исправить ошибки apt update и применить apt --fix-broken | AethoVPN