Вопрос или проблема
Надеюсь, у вас всё хорошо. Проблема начала проявляться после обновления с Ubuntu 23.10 до Ubuntu 24.04 LTS (через обновление Gnome Software).
Вот вывод команды sudo apt update -y
:
$ sudo apt update -y
Попадание:1 https://archive.ubuntu.petiak.ir/ubuntu noble InRelease
Попадание:2 https://archive.ubuntu.petiak.ir/ubuntu noble-updates InRelease
Попадание:3 https://archive.ubuntu.petiak.ir/ubuntu noble-backports InRelease
Попадание:4 https://dl.google.com/linux/chrome/deb stable InRelease
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
19 пакетов могут быть обновлены. Запустите 'apt list --upgradable', чтобы увидеть их.
N: Пропуск получения настроенного файла 'main/binary-i386/Packages', так как репозиторий 'https://dl.google.com/linux/chrome/deb stable InRelease' не поддерживает архитектуру 'i386'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
Части, вызывающие беспорядок:
N: Пропуск получения настроенного файла 'main/binary-i386/Packages', так как репозиторий 'https://dl.google.com/linux/chrome/deb stable InRelease' не поддерживает архитектуру 'i386'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Отсутствует Signed-By в источнике списка (5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
В моем случае помогло удаление префикса страны из /etc/apt/sources.list.d/ubuntu.sources
.
Итак, было раньше
[…]
URIs: http://ru.archive.ubuntu.com/ubuntu/
[…]
и затем стало:
[…]
URIs: http://archive.ubuntu.com/ubuntu/
[…]
Я не совсем уверен, что это вызывает (возможно, отсутствие ключа?), но это явно какая-то неправильная конфигурация на стороне установщика Ubuntu 24.04.
Взяв подсказку с https://www.digitalocean.com/community/questions/n-missing-signed-by-in-the-sources-list-5-entry-for-http-mirrors-digitalocean-com-ubuntu, я добавил:
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
В каждую запись в моем файле /etc/apt/sources.list.d/, для gb.archive.ubuntu.com и security.ubuntu.com в моем случае. Это исправило ошибку, и все источники теперь загружаются и проверяются.
Я предполагаю, что столкнулся с этим из-за того, что установка старая и обновлялась многократно, включая тот факт, что я, вероятно, вручную настраивал файл источников в какой-то момент. Он все еще был в старом стиле “просто одна строка на источник” до этого обновления с LTS 22, через 23, до LTS 24.
Я столкнулся с этим вчера. Я решил проблему следующим образом:
- Я нахожусь в Новой Зеландии, поэтому я использую
http://nz.archive.ubuntu.com/ubuntu
, а не более общийhttp://archive.ubuntu.com/ubuntu
. По какой-то причине обновление до 24.04 сбросило URL-адреса на общий, не региональный URL. Добавление префиксаnz.
ко всем URL-адресам во всех файлах, названныхarchive_uri-http_archive_ubuntu_com_ubuntu-*
, в/etc/apt/sourced.d.list/
продвинуло меня на один шаг вперед. - Я скопировал строку
Signed-By:
, упомянутую в/etc/apt/sources.list.d/ubuntu.sources
, во все файлыarchive_uri-http_archive_ubuntu_com_ubuntu-*
в том же каталоге. Это работает, потому что URL вubuntu.sources
является региональнымnz.archive.ubuntu.com
, который я теперь скопировал во всеarchive_*
файлы на предыдущих шагах. - Выполнение
sudo apt update
затем дало мне кучу предупреждений, похожих на
W: Target CNF (universe/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/archive_uri-http_archive_ubuntu_com_ubuntu-impish.sources:1 and /etc/apt/sources.list.d/ubuntu.sources:1
- Проверка проблемного файла
archive_uri-http_archive_ubuntu_com_ubuntu-impish.sources
показала, что он действительно является по существу дубликатом содержимогоubuntu.sources
, поэтому я переместил его в другую директорию (sudo mv archive_uri-http_archive_ubuntu_com_ubuntu-impish.sources ~/
)
После этого я смог запустить sudo apt update
без ошибок/предупреждений.
Я не на 100% уверен, каким должен быть URL в вашем случае. Посмотрите, что там в ubuntu.sources
. Возможно, стоит поискать более быстрый в списке зеркал. Ища под Ираном, я бы подумал, что Saba Abr Mizban или Tegra host должны быть намного быстрее, чем тот, который вы используете в данный момент.
-
Найдите источники, которые содержат
us.archive.ubuntu.com
grep -r "us.archive.ubuntu.com" /etc/apt/ /etc/apt/sources.list.d/us_archive_ubuntu_com_ubuntu.sources:URIs: http://us.archive.ubuntu.com/ubuntu /etc/apt/sources.list.d/us_archive_ubuntu_com_ubuntu.list.save:deb http://us.archive.ubuntu.com/ubuntu focal multiverse /etc/apt/sources.list.d/us_archive_ubuntu_com_ubuntu.list.distUpgrade:deb http://us.archive.ubuntu.com/ubuntu noble multiverse
-
Отредактируйте файл
us_archive_ubuntu_com_ubuntu.sources
, добавивSigned-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
в конец файла.sudo vim /etc/apt/sources.list.d/us_archive_ubuntu_com_ubuntu.sources Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
ПРИМЕЧАНИЕ: Я отредактировал только один файл, а не все!
Для url-адресов serverloft.eu, мой файл /etc/apt/sources.list.d/third-party.sources
теперь выглядит так, после простого добавления последней строки, и теперь предупреждения исчезли:
Types: deb deb-src
URIs: http://ubuntu.mirror.serverloft.eu/ubuntu
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Для зеркала aliyun, я добавил следующую строку в конец third-party.sources, чтобы исправить эту проблему. Но я задаюсь вопросом, не стоит ли спросить GPG у сайта зеркала Aliyun?
cat third-party.sources
Types: deb deb-src
URIs: http://mirrors.aliyuncs.com/ubuntu/
Suites: noble noble-updates noble-security noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-by: /usr/share/keyrings/ubuntu-archive-keyring.gpg
UBUNTU 24.04.1 После установки (UEFI) =
sudo nano /etc/apt/sources.list
скопируйте и вставьте это =
deb http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
Контроль X для выхода, Y для сохранения, enter, теперь =
sudo apt update
Ответ или решение
Обнаруженные проблемы при обновлении до Ubuntu 24.04 LTS после Ubuntu 23.10 могут быть вызваны изменениями в системе управления репозиториями, которые было введены при новом обновлении. Ошибка "Missing Signed-By in the sources.list(5) entry" указывает на то, что в конфигурации репозиториев отсутствует информация о GPG-ключах, которую необходимо явно указать для безопасности и предотвращения манипуляций с пакетами.
Фокус внимания (F): Определение проблемы
После обновления до новой версии Ubuntu, вы столкнулись с сообщением об ошибке, которое свидетельствует о необходимости уточнения данных о ключа GPG в файле sources.list
или sources.list.d/
. Это вызвано изменёнными требованиями безопасности в Ubuntu 24.04 LTS, которые требуют наличия поля Signed-By
в каждом определении репозитория.
Исследование (O): Анализ проблемы
Ваш вывод команды sudo apt update -y
показывает, что система обнаружила отсутствие информации о GPG-ключе для определенных репозиториев. Это ошибка конфигурации, часто встречающаяся при обновлении системы, которая могла сохраниться с момента прошлых обновлений. Одними из решений были бы коррекция URL-адресов на актуальные зеркала и прописывание строки Signed-By
с указанием на правильные ключи.
Решение (R): Пошаговая инструкция
-
Редактирование источников обновлений: Откройте файл
/etc/apt/sources.list
или соответствующие файлы в папке/etc/apt/sources.list.d/
с помощью текстового редактора, например командойsudo nano /etc/apt/sources.list
. -
Добавление строки ‘Signed-By’: Для каждого URL внесите строку
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
после каждого URI. Это позволит установить доверие к пакету, поскольку он будет подписан нужным ключом. -
Алгоритм поиска ошибок: Выполните команду
grep -r "archive.ubuntu" /etc/apt/
для поиска упоминаний обarchive.ubuntu
. Это поможет в обнаружении всех точек, где нужно произвести изменения. -
Пользовательские и локальные зеркала: Убедитесь, что вы используете наиболее актуальные и быстрые зеркала для вашего региона. Например, используйте региональные зеркала, такие как
nz.archive.ubuntu.com
для Новой Зеландии. -
Общая проверка: После внесения изменений, выполните
sudo apt update
для проверки конфигурации и обновления индексов пакетов.
Инструкция (E): Повторное выполнение и тестирование
После внесения необходимых изменений и выполнения sudo apt update
проверьте, исчезли ли предупреждения. Убедитесь, что вы больше не видите сообщений о "Missing Signed-By". Также проверьте возможность обновления системных пакетов через sudo apt upgrade
без возникновения ошибок.
Заключительные мысли (S): Заключение
Эти изменения не только устранят ошибку, но и повысят безопасность вашей системы за счет полной проверки источников пакетов с использованием правильных и актуальных ключей. Взгляд на ситуацию с точки зрения профессионала в области ИТ позволяет вам быстро и эффективно автоматизировать решения подобных проблем и поддерживать безопасность и работу систем.