Вопрос или проблема
Надеюсь, у вас все хорошо. Проблема началась после обновления с Ubuntu 23.10 на Ubuntu 24.04 LTS (через Gnome Software Updater).
Вот вывод команды sudo apt update -y
:
$ sudo apt update -y
Hit:1 https://archive.ubuntu.petiak.ir/ubuntu noble InRelease
Hit:2 https://archive.ubuntu.petiak.ir/ubuntu noble-updates InRelease
Hit:3 https://archive.ubuntu.petiak.ir/ubuntu noble-backports InRelease
Hit: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 в записи sources.list(5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Недостающий Signed-By в записи sources.list(5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Недостающий Signed-By в записи sources.list(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 в записи sources.list(5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Недостающий Signed-By в записи sources.list(5) для 'https://archive.ubuntu.petiak.ir/ubuntu'
N: Недостающий Signed-By в записи sources.list(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.
Я сам столкнулся с этой проблемой вчера. Я решил вопрос следующим образом:
- Я нахожусь в Новой Зеландии, поэтому использую
http://nz.archive.ubuntu.com/ubuntu
, а не более общийhttp://archive.ubuntu.com/ubuntu
. По какой-то причине обновление до 24.04 сбросило 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: Целевая CNF (universe/cnf/Commands-all) настроена несколько раз в /etc/apt/sources.list.d/archive_uri-http_archive_ubuntu_com_ubuntu-impish.sources:1 и /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 должны быть гораздо быстрее, чем то, что вы сейчас используете.
Следуя подсказке из 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.
-
Найдите источники, содержащие
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 23.10 до Ubuntu 24.04 LTS, вы столкнулись с ошибкой N: Missing Signed-By in the sources.list(5) entry
. Это предупреждение указывает на то, что для ваших репозиториев отсутствуют подписи, которые необходимы для проверки подлинности пакетов.
Решение проблемы
Вот шаги, которые помогут вам устранить это предупреждение:
-
Обновление списка репозиториев:
Откройте файл/etc/apt/sources.list
или файлы в директории/etc/apt/sources.list.d/
, где установлены ваши репозитории. Чтобы увидеть, какие репозитории у вас настроены, выполните следующую команду:grep -r "^deb " /etc/apt/
Это покажет все строки, содержащие репозитории.
-
Добавление строки Signed-By:
Для каждого репозитория, который вы нашли, необходимо добавить строкуSigned-By:
с указанием на файл ключа. Обычно, для официальных репозиториев Ubuntu, это/usr/share/keyrings/ubuntu-archive-keyring.gpg
. Например, файл репозитория может выглядеть так:Types: deb deb-src URIs: http://archive.ubuntu.com/ubuntu Suites: noble noble-updates noble-security noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
-
Проверка конфигурации:
Убедитесь, что строки для всех репозиториев, как официальных, так и сторонних, содержат строкуSigned-By
. Это необходимо для правильного выполнения командыapt update
. -
Удаление старых или дублирующих записей:
Проверьте, нет ли старых или дублирующих записей в ваших файлах/etc/apt/sources.list.d/
. Если вы нашли такие дубли, их можно удалить или переместить в безопасное место, чтобы избежать конфликтов. -
Замена региональных зеркал:
Иногда обновление может вернуть ссылки на не региональные зеркала. Проверьте и замените их на более быстрые, используя список зеркал Launchpad. Например, для пользователей из России стоит использоватьhttp://ru.archive.ubuntu.com/ubuntu/
или другое более подходящее зеркало. -
Обновление и установка пакетов:
После всех изменений выполните команду:sudo apt update
Если никаких предупреждений не возникло, значит, проблема успешно решена. Если же вы увидите другие сообщения об ошибках, внимательно прочитайте их и действуйте в соответствии с рекомендациями.
Заключение
После выполнения этих шагов ваша система должна успешно обновляться без предупреждений о Missing Signed-By
. Обязательно сохраняйте резервные копии ваших файлов репозиториев перед внесением изменений, чтобы иметь возможность восстановить их в случае необходимости. Если вы сталкиваетесь с проблемами, не стесняйтесь обращаться за помощью на форумах или к сообществу Ubuntu.