Как исправить ошибку «sudo apt-get update не работает»

2024-06-25 · Обновлено 2026-07-06

Быстрое решение: «sudo apt-get update» не работает

Если в 2026 году sudo apt-get update завершается ошибкой на Ubuntu (24.04 LTS «Noble Numbat», 22.04 LTS «Jammy Jellyfish» или Debian), вот самые распространённые решения — в том порядке, в котором их стоит пробовать:

  1. Убедитесь, что есть интернет и работает DNS. Выполните ping -c 3 archive.ubuntu.com. Если имя хоста не разрешается, проблема в вашей сети или DNS, а не в APT — сначала устраните её.

  2. Проверьте /etc/apt/sources.list на предмет неверных или нерабочих URL репозиториев. Откройте файл командой sudo nano /etc/apt/sources.list (в 24.04 проверьте также /etc/apt/sources.list.d/ubuntu.sources) и закомментируйте все записи с опечатками, недоступные адреса и репозитории с истёкшей поддержкой (end-of-life).

  3. Пересоберите повреждённый кэш списков пакетов. Так вы удалите устаревшие или частично загруженные индексные файлы, а затем загрузите их заново:

    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    
  4. Исправьте просроченные или отсутствующие ключи репозиториев (GPG). Если вы видите NO_PUBKEY или «the following signatures were invalid: EXPSIG», импортируйте недостающий ключ. Современный способ использует gpg и файл-хранилище ключей (keyring):

    curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpg
    

    Замените URL на тот, что указан в документации вашего репозитория. (Старая команда apt-key объявлена устаревшей в Ubuntu 22.04+ и удалена в более новых выпусках.)

  5. Освободите место на диске, если обновление завершается ошибкой «No space left on device» — выполните df -h, затем очистите кэш командой sudo apt clean.

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

Введение

В мире Linux, особенно в дистрибутивах на базе Ubuntu и Debian, команда sudo apt-get update — это базовый инструмент обслуживания системы. Она обновляет списки пакетов, чтобы у вашей системы была самая свежая информация о доступном программном обеспечении и его версиях. Однако пользователи иногда сталкиваются с тем, что эта важная команда перестаёт работать как надо.

Цель этой статьи — провести вас через диагностику и устранение проблем с командой sudo apt-get update. Описанные шаги применимы к актуальным выпускам Ubuntu LTS 2026 года — 24.04 LTS («Noble Numbat») и 22.04 LTS («Jammy Jellyfish»), — а также к Debian 12 («Bookworm») и другим дистрибутивам на базе Debian. Новичок вы в Linux или опытный пользователь — умение устранять эту неполадку необходимо, чтобы поддерживать систему в исправном и актуальном состоянии.

Почему это важно?

  1. Безопасность системы: Регулярные обновления нередко содержат критически важные исправления безопасности.
  2. Совместимость программ: Актуальные списки пакетов помогают избежать конфликтов при установке нового программного обеспечения.
  3. Доступ к новейшим возможностям: Свежая информация о пакетах открывает доступ к последним версиям программ.
  4. Стабильность системы: Корректное обновление системы повышает её общую стабильность и производительность.

В следующих разделах мы разберём распространённые причины сбоев sudo apt-get update и приведём пошаговые решения, которые вернут вашу систему в рабочее состояние.

Описание проблемы: симптомы и последствия

Когда команда sudo apt-get update работает некорректно, пользователи могут столкнуться с самыми разными симптомами. Понимание этих симптомов — первый шаг к диагностике и решению проблемы.

Распространённые симптомы

  1. Сообщения об ошибках: Пользователи часто видят такие сообщения, как:

    • «Failed to fetch» (не удалось получить)
    • «Could not resolve hostname» (не удалось разрешить имя хоста)
    • «Connection failed» (соединение не удалось)
    • «404 Not Found» (404 — не найдено)
  2. Низкая скорость: Процесс обновления может стать крайне медленным или как будто зависнуть.

  3. Частичные обновления: Часть репозиториев обновляется успешно, а другие завершаются с ошибкой.

  4. Ошибки GPG: Сообщения о проблемах с ключами или подписями репозиториев.

  5. Сетевые ошибки: Тайм-ауты или невозможность подключиться к серверам.

Последствия проблемы

Сбой sudo apt-get update может иметь ряд негативных последствий:

  1. Невозможность установить новые программы: Без обновлённых списков пакетов вы не сможете установить новые программы или их последние версии.

  2. Уязвимости в безопасности: Пропущенные важные обновления безопасности могут оставить систему открытой для известных угроз.

  3. Проблемы с зависимостями: Устаревшая информация о пакетах может привести к конфликтам при попытке установить или обновить программное обеспечение.

  4. Нестабильность системы: В некоторых случаях частичные обновления или несовпадающие версии пакетов приводят к нестабильности системы.

  5. Раздражение и потеря времени: Устранение этой проблемы бывает трудоёмким и утомительным, особенно для менее опытных пользователей.

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

Анализ распространённых причин

Понимание первопричин сбоев sudo apt-get update крайне важно для эффективного устранения неполадок. Вот самые частые причины, по которым эта команда может не работать:

  1. Проблемы с подключением к интернету

    • Плохое или нестабильное интернет-соединение
    • Проблемы с разрешением DNS
    • Настройки брандмауэра или прокси, блокирующие доступ
  2. Проблемы с серверами репозиториев

    • Временные сбои сервера
    • Перегрузка сервера в часы пик
    • Рассинхронизированные или отключённые зеркала
  3. Повреждённый или устаревший список источников

    • Неправильные URL репозиториев в файле sources.list
    • Устаревшие или больше не поддерживаемые репозитории
    • Дублирующиеся записи, вызывающие конфликты
  4. Проблемы с ключами GPG

    • Отсутствующие или просроченные ключи GPG для репозиториев
    • Изменившиеся подписи репозиториев
  5. Расхождения в системном времени

    • Неверное системное время приводит к сбоям проверки SSL-сертификатов
  6. Проблемы с дисковым пространством

    • Недостаточно места в каталоге /var/lib/apt/lists/
    • Переполнен корневой раздел
  7. Конфликты программ

    • Другая программа мешает процессу обновления
    • Незавершённые предыдущие обновления или прерванные процессы обновления
  8. Устаревший менеджер пакетов

    • Используется старая версия apt или apt-get, в которой могут быть ошибки
  9. Сетевые ограничения

    • Корпоративные сети или публичный Wi-Fi с ограниченным доступом к отдельным серверам
  10. Проблемы с локализацией

    • Языковые настройки мешают получению информации о репозиториях

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

Шаги решения

Пройдём по пошаговому процессу устранения проблемы «sudo apt-get update»:

1. Проверьте подключение к интернету

Сначала убедитесь, что интернет-соединение стабильно и работает исправно.

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

2. Проверьте файл sources.list

Файл sources.list содержит информацию о репозиториях. Проверим его и при необходимости исправим:

a. Откройте файл:

sudo nano /etc/apt/sources.list

b. Найдите явные ошибки — например, опечатки в URL.

c. Удалите или закомментируйте репозитории, которые вам больше не нужны.

d. Сохраните изменения и выйдите (в nano нажмите Ctrl+X, затем Y, затем Enter).

3. Смените сервер загрузки

Иногда переключение на другое зеркало решает проблему:

a. Откройте «Программы и обновления» (или аналог в вашем дистрибутиве).

b. На вкладке «Программное обеспечение Ubuntu» нажмите «Загружать с» и выберите «Другой».

c. Нажмите «Выбрать лучший сервер» либо вручную выберите другое зеркало.

d. Закройте окно и обновите данные, когда будет предложено.

4. Очистите кэш APT

Очистка кэша APT способна решить многие проблемы:

sudo rm -rf /var/lib/apt/lists/*
sudo apt clean

5. Проверьте наличие конфликтующих процессов

Убедитесь, что APT не занят другим процессом:

a. Проверьте, не заблокирован ли dpkg:

sudo lsof /var/lib/dpkg/lock-frontend

b. Если процесс найден, дождитесь его завершения или аккуратно завершите его вручную.

6. Исправьте ключи GPG репозиториев

Если обновление завершается ошибкой NO_PUBKEY или сообщением о просроченной подписи (EXPKEYSIG / EXPSIG), нужно импортировать или обновить ключ репозитория.

В актуальных версиях Ubuntu (22.04 LTS и 24.04 LTS) и в Debian 12 инструмент apt-key объявлен устаревшим (а в более новых выпусках удалён). Рекомендуемый способ — загрузить ключ репозитория в /usr/share/keyrings/:

curl -fsSL https://<repo-domain>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<repo>.gpg

Замените <repo-domain> и <repo> на значения из официальной документации вашего репозитория, а затем убедитесь, что соответствующая строка в /etc/apt/sources.list.d/ ссылается на это хранилище ключей через signed-by=/usr/share/keyrings/<repo>.gpg.

В старых системах, где apt-key ещё доступен, ключи можно обновить командой:

sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com

7. Проверьте системное время

Убедитесь, что системное время выставлено верно:

date

Если время неверное, обновите его:

sudo timedatectl set-ntp true

8. Проверьте дисковое пространство

Убедитесь, что на диске достаточно свободного места:

df -h

При необходимости освободите место, удалив ненужные файлы или старые ядра.

9. Отключите IPv6 (при необходимости)

Если вы подозреваете, что причина в IPv6:

a. Отредактируйте файл sysctl.conf:

sudo nano /etc/sysctl.conf

b. Добавьте следующие строки:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

c. Сохраните, выйдите и примените изменения:

sudo sysctl -p

10. Заключительная попытка обновления

Выполнив эти шаги, снова запустите команду обновления:

sudo apt-get update

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

Профилактические меры

Уметь исправлять проблемы с «sudo apt-get update» важно, но ещё лучше не допускать их вовсе. Вот несколько профилактических мер, которые вы можете принять:

1. Регулярно обновляйте систему

  • Планируйте регулярные обновления, чтобы поддерживать систему в актуальном состоянии.
  • Периодически выполняйте следующие команды:
sudo apt-get update
sudo apt-get upgrade

2. Держите список источников в порядке

  • Регулярно просматривайте файл /etc/apt/sources.list и все файлы в /etc/apt/sources.list.d/.
  • Удаляйте или комментируйте репозитории, которыми вы больше не пользуетесь.
  • Будьте осторожны при добавлении новых репозиториев.

3. Делайте резервную копию списка источников

  • Создайте резервную копию рабочего файла sources.list:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
  • Это позволит при необходимости быстро восстановить рабочую конфигурацию.

4. Используйте официальные репозитории

  • По возможности придерживайтесь официальных репозиториев.
  • Будьте осторожны с PPA (Personal Package Archives) и сторонними репозиториями.

5. Поддерживайте актуальность ключей GPG

  • Держите ключи репозиториев актуальными, чтобы проверки подписей не завершались ошибками.
  • В современных Ubuntu (22.04 / 24.04) и Debian 12 храните ключ каждого репозитория в /usr/share/keyrings/ и ссылайтесь на него через signed-by= в записи источников репозитория, а не через устаревший apt-key.
  • В старых системах, где apt-key ещё есть, ключи можно обновить командой:
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com

6. Следите за дисковым пространством

  • Регулярно проверяйте объём свободного места на диске:
df -h
  • По возможности настройте оповещения о нехватке места на диске.

7. Обеспечьте стабильное интернет-соединение

  • Позаботьтесь о стабильном подключении к интернету для обновлений.
  • Для важных системных обновлений имеет смысл использовать проводное соединение.

8. Используйте менеджер обновлений

  • В настольных окружениях удобнее пользоваться встроенным менеджером обновлений.

9. Читайте журналы обновлений

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

10. Синхронизируйте системное время

  • Следите за тем, чтобы системные часы оставались синхронизированными:
sudo timedatectl set-ntp true

How to fix sudo apt-get update not working

Заключение

Поддержание системы Linux в исправном и актуальном состоянии крайне важно для безопасности, стабильности и оптимальной производительности. Команда sudo apt-get update играет в этом ключевую роль, и умение устранять её сбои — необходимый навык для любого пользователя Linux.

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

Действуя на упреждение при обслуживании системы и владея знаниями для решения типичных проблем, вы сможете сохранить свою систему Linux надёжным и эффективным инструментом для повседневных задач.

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

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

В1: Как часто следует запускать sudo apt-get update?

О: Рекомендуется запускать sudo apt-get update перед установкой новых программ или хотя бы раз в неделю. Для серверов и систем с повышенными требованиями к безопасности стоит обновляться ежедневно.

В2: В чём разница между apt-get update и apt-get upgrade?

О: apt-get update обновляет список доступных пакетов и их версий, но сами пакеты не устанавливает и не обновляет. apt-get upgrade же устанавливает более новые версии уже имеющихся у вас пакетов.

В3: Безопасно ли прерывать apt-get update во время выполнения?

О: В целом прерывать apt-get update безопасно, но делать это не рекомендуется. Прерывание может оставить списки пакетов в несогласованном состоянии. Если команда прервалась, просто запустите её ещё раз, чтобы она завершилась полностью.

В4: Почему для запуска apt-get update нужны права sudo?

О: Права sudo нужны потому, что обновление списков пакетов связано с записью в системные каталоги, защищённые из соображений безопасности. Изменять эти важнейшие системные файлы должны иметь право только администраторы.

В5: Может ли apt-get update привести к нестабильности системы?

О: Сам apt-get update не вызывает нестабильности, поскольку лишь обновляет информацию о пакетах. Однако если после этого вы обновите сами пакеты, есть небольшой риск несовместимости или ошибок в новых версиях.

В6: Нормально ли, что apt-get update выполняется долго?

О: Время выполнения зависит от скорости вашего интернета и количества репозиториев. Несколько минут — это нормально, но если выполнение затянулось необычно долго, проверьте интернет-соединение или попробуйте другое зеркало.

В7: Можно ли использовать apt update вместо apt-get update?

О: Да, apt update — это более новая и более удобная команда, которая делает то же самое, что и apt-get update. Она входит в набор команд apt, рассчитанный на более понятную интерактивную работу.