Отсутствует Signed-By в записи sources.list(5) после установки Ubuntu 24.04

Вопрос или проблема

Надеюсь, у вас все хорошо. Проблема началась после обновления с 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.

  1. Найдите источники, содержащие 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
    
  2. Отредактируйте файл 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. Это предупреждение указывает на то, что для ваших репозиториев отсутствуют подписи, которые необходимы для проверки подлинности пакетов.

Решение проблемы

Вот шаги, которые помогут вам устранить это предупреждение:

  1. Обновление списка репозиториев:
    Откройте файл /etc/apt/sources.list или файлы в директории /etc/apt/sources.list.d/, где установлены ваши репозитории. Чтобы увидеть, какие репозитории у вас настроены, выполните следующую команду:

    grep -r "^deb " /etc/apt/

    Это покажет все строки, содержащие репозитории.

  2. Добавление строки 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
  3. Проверка конфигурации:
    Убедитесь, что строки для всех репозиториев, как официальных, так и сторонних, содержат строку Signed-By. Это необходимо для правильного выполнения команды apt update.

  4. Удаление старых или дублирующих записей:
    Проверьте, нет ли старых или дублирующих записей в ваших файлах /etc/apt/sources.list.d/. Если вы нашли такие дубли, их можно удалить или переместить в безопасное место, чтобы избежать конфликтов.

  5. Замена региональных зеркал:
    Иногда обновление может вернуть ссылки на не региональные зеркала. Проверьте и замените их на более быстрые, используя список зеркал Launchpad. Например, для пользователей из России стоит использовать http://ru.archive.ubuntu.com/ubuntu/ или другое более подходящее зеркало.

  6. Обновление и установка пакетов:
    После всех изменений выполните команду:

    sudo apt update

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

Заключение

После выполнения этих шагов ваша система должна успешно обновляться без предупреждений о Missing Signed-By. Обязательно сохраняйте резервные копии ваших файлов репозиториев перед внесением изменений, чтобы иметь возможность восстановить их в случае необходимости. Если вы сталкиваетесь с проблемами, не стесняйтесь обращаться за помощью на форумах или к сообществу Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...