Исправлено неработающее обновление apt-get.
Ошибка обновления sudo apt в Ubuntu? В последних строках вывода указывается настоящая причина: неправильные часы, устаревший репозиторий, сломанный PPA, отсутствие ключа GPG или блокировки. В этом руководстве показано, как прочитать ошибку и исправить только виновный источник.
📑Главы
<ол класс="главы">📋 Обзор и пошаговое руководство
Запустите обновление и прочтите последние строки
Начните с запуска обновления и правильного прочтения вывода — снизу. Большинство строк являются хорошими новостями: Hit означает, что источник ответил нормально, а Get означает, что был загружен новый список пакетов. Имеют значение только два типа строк: строки Err посередине и строки сводки, начинающиеся с E: или W: в самом конце. Последние две или три строки простыми словами называют один сломанный источник и причину.
sudo apt updateOne honest fact that calms most people down: one broken source does not poison the others. The sources that said Hit or Get updated normally. Your job is to find the single bad entry, fix or disable exactly that entry, and run the update again - never start by deleting the whole sources file.
Проверьте часы
Первая из двух 30-секундных проверок. Каждый репозиторий Ubuntu публикует подписанный файл Release с указанием времени его создания и даты, до которой он остается действительным, и apt сверяет эту отметку с часами вашего ПК. Если часы идут неправильно (разряженная батарея CMOS и машины с двойной загрузкой часто делают это), apt отклоняет файл с сообщением Файл версии еще не действителен и даже подсчитывает время ожидания. Запустите date и сравните его со своим телефоном; неправильный год, месяц или даже несколько часов имеют значение.
date
sudo timedatectl set-ntp true
sudo apt updateSwitching NTP on lets the PC correct itself from the internet. Fix the time and the same update command usually succeeds within a minute - nothing about your repositories, keys or installation was ever damaged.
Проверьте сеть и DNS
Вторая 30-секундная проверка: сможет ли этот компьютер вообще добраться до архива Ubuntu? Если эта команда печатает IP-адрес, разрешение имен работает и сетевой путь активен. Если ничего не печатает, то виновата сеть или DNS - ни один репозиторий не виноват, и редактирование исходных файлов не поможет, пока не будет исправлено подключение.
getent hosts archive.ubuntu.comOnly when the clock is right and the archive answers do the repository fixes below make sense.
Создайте резервную копию исходных файлов, прежде чем что-либо редактировать
Остальные исправления могут включать файлы, указывающие apt, откуда загружать: /etc/apt/sources.list и файлы для каждого источника внутри /etc/apt/sources.list.d/. Прежде чем изменить одну строку в любом месте, сохраните копию оригинала в безопасном месте, чтобы ошибочное редактирование всегда можно было отменить, вернув копию обратно.
Исправить устаревший репозиторий
Если ошибка говорит о том, что в репозитории нет файла выпуска — обычно с кодом 404 — для каждой строки одного выпуска Ubuntu, то срок существования этого выпуска подошел к концу, и его пакеты удалены из основного архива. apt сообщает правду: по этому адресу больше ничего нет.
Настоящих исправлений два. Реальный вариант — обновить машину до поддерживаемой версии Ubuntu. Опция удержания состоит в том, чтобы указать только строки этого старого выпуска в архиве старых выпусков Ubuntu (old-releases.ubuntu.com), который сохраняет старые выпуски доступными - полезно для повторного обновления ПК, а не для обеспечения безопасности неподдерживаемой системы навсегда. Никогда не заменяйте весь исходный файл случайным файлом, скопированным из Интернета; у него будут неправильные кодовые имена и неверные источники.
Исправить сломанный PPA или отсутствующий ключ GPG
PPA — это сторонний источник, добавленный вами или учебником ранее, и один мертвый PPA — его владелец прекратил публикацию вашего выпуска или PPA был удален — не удается выполнить весь запуск, даже если каждый исходный код Ubuntu исправен. Ошибка называет адрес PPA. Отключите или удалите только эту запись PPA (собственный файл в /etc/apt/sources.list.d/ или запись в разделе «Программное обеспечение и обновления» в разделе «Другое программное обеспечение») и оставьте все остальное нетронутым.
Другая проблема с подписью: NO_PUBKEY, за которой следует идентификатор ключа: с репозиторием все в порядке, но ваш компьютер еще не доверяет своему ключу подписи. Решение состоит в том, чтобы добавить ключ этого репозитория, взятый только с официальной страницы репозитория. Ключ подписи решает, чему доверяет ваш компьютер, поэтому никогда не импортируйте его со случайного сайта загрузки.
--allow-insecure-repositories. Относитесь к этому максимум как к временной диагностике, а не как к исправлению: это отключает проверку подписи, которая защищает вас, поэтому настоящим ремонтом всегда является ключ или сам репозиторий.Блокировка – ожидание другого процесса
Не удалось получить блокировку означает, что система пакетов занята, а не сломана. Одновременно только одна программа может записывать базу данных пакетов, а само сообщение называет процесс, удерживающий блокировку - на обычном рабочем столе, который очень часто представляет собой автоматические обновления (автоматическое обновление безопасности выполняет запланированный запуск), окно Software Updater, оставленное открытым, или другой терминал. Подождите несколько минут, дайте ему завершиться и снова запустите sudo apt update; большинство ошибок блокировки устраняются сами собой.
/var/lib/dpkg/ или /var/lib/apt/lists/), пока процесс пакета может еще работать. Файлы блокировки не являются проблемой — они являются билетом очереди. Их удаление позволяет двум авторам одновременно войти в базу данных, и именно так безобидное сообщение превращается в настоящее повреждение системы пакетов.Какой бы причиной ни была названа ваша ошибка, завершите ее одинаково: исправьте только одну вещь, запустите sudo apt update еще раз и убедитесь, что она завершилась без строк E: в конце.
🏷️Topic Search Variables & Keywords
🎙️ Полная расшифровка — нажмите, чтобы развернуть
Пошаговое руководство по устранению неполадок и решениям — не работает? Попробуйте это. Экранная демонстрация от Технического Аншу.
Не удалось обновить sudo apt в Ubuntu? В последних строках вывода указывается настоящая причина: неправильные часы, устаревший репозиторий, сломанный PPA, отсутствие ключа GPG или блокировки. В этом руководстве показано, как прочитать ошибку и исправить только виновный источник.
(На этом этапе расшифровка, доступная на исходной странице, заканчивается — полное пошаговое руководство смотрите в видео выше.)
❓ Часто задаваемые вопросы (на английском языке)
Является ли это руководство абсолютно бесплатным?
Да! Во всех руководствах и методах, продемонстрированных Tech Anshu, используются бесплатные легальные и образовательные ресурсы.
Могут ли новички следовать этому руководству?
Абсолютно! Каждый шаг демонстрируется на экране с подробными инструкциями, поэтому каждый может легко следовать им.
Где я могу задать вопросы, если застряну?
Оставьте комментарий прямо под видео на YouTube, и наше сообщество и технический специалист Anshu помогут вам.
🚀 Посмотрите полное руководство на YouTube
🚀 Посмотрите полное пошаговое видеоруководство на YouTube: https://www.youtube.com/watch?v=rAWEvloS-Bw
Подпишитесь на техническую поддержку Anshu для ИТ-поддержки, устранения неполадок Windows и управления сервером.
▶️ Посмотреть полное видео