multistrap: Не удалось загрузить пакет ключей

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

Я пытаюсь использовать multistrap для создания образа arm64 debian bookworm.

Система хоста:
Ubuntu 20.04 x86_64

Конфигурация Multistrap:

[General]
arch=arm64
noauth=false
aptsources=Debian
bootstrap=Debian
addimportant=true

[Debian]
packages=network-manager git curl wget
keyring=debian-archive-keyring
suite=bookworm
source=http://ftp.debian.org/debian
components=main contrib non-free-firmware non-free

вызов multistrap:

sudo multistrap -d /mnt/temp -f display_config

вывод:

multistrap 2.2.10 using display_config
multistrap 2.2.10 using display_config
Defaulting architecture to native: amd64
multistrap building amd64 multistrap on 'amd64'
I: Setting /mnt/temp/lib64 -> /mnt/temp/lib symbolic link.
I: Downloading debian-archive-keyring 
E: Can't find a source to download version '2023.3+deb12u1' of 'debian-archive-keyring:amd64'
multistrap: Unable to download keyring package: '/mnt/temp/'

Я не знаю, что я делаю не так, моё конфигурация не кажется мне ошибочной.
Мне кажется странным, что она ищет debian-archive-keyring:amd64.
Этот пакет – пакет :all.

Кто-нибудь знает, что я упускаю?

Это может показаться странным, так как вы указываете, что debian-archive-keyring является пакетом “arch: all”. Однако я думаю, что когда целевая архитектура не совпадает с родной архитектурой хоста, её нужно установить как чужую архитектуру:

sudo dpkg --add-architecture arm64
sudo apt update

Вы можете удалить её после завершения создания целевого объекта, выполнив

sudo dpkg --remove-architecture arm64

Однако multistrap больше не поддерживается, и фактически заменён на mmdebstrap; вам следует использовать последний.

Ответ или решение

Если вы сталкиваетесь с ошибкой "multistrap: Unable to download keyring package" при создании образа Debian Bookworm для архитектуры arm64 с помощью multistrap на системе Ubuntu 20.04 x86_64, возможно, проблема заключается в конфигурации multistrap и архитектурных настройках. Давайте разберем шаги, которые помогут вам решить эту проблему.

Шаги по устранению проблемы:

  1. Добавьте поддержку архитектуры arm64 на хост-системе:
    Когда вы работаете с архитектурой, отличной от архитектуры вашей хост-системы, возможно, вам потребуется добавить эту архитектуру как "иностранную" на вашем текущем хосте. Это можно сделать с помощью следующих команд:

    sudo dpkg --add-architecture arm64
    sudo apt update

    Эти команды добавят поддержку arm64 на ваш Ubuntu 20.04, что позволит правильно обрабатывать зависимости, такие как debian-archive-keyring.

  2. Проверьте переданную архитектуру:
    Убедитесь, что в конфигурационных файлах указана правильная архитектура. В этом случае, явно указана arch=arm64, что, на первый взгляд, правильно. Однако multistrap также может подхватывать архитектуру по умолчанию с хост-системы, если это не явно определено в вызове.

  3. Альтернатива multistrap:
    Multistrap, как уже упоминалось, больше не поддерживается и был заменен на более современное решение – mmdebstrap. Это инструмент, который значительно лучше поддерживается и обновляется в соответствии с текущими требованиями Debian. Вы можете попробовать использовать mmdebstrap для создания вашего ARM64 образа:

    sudo apt install mmdebstrap
    mmdebstrap --architectures=arm64 --variant=minbase bookworm /mnt/temp 'deb http://ftp.debian.org/debian bookworm main'

Дополнительные рекомендации:

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

    sudo dpkg --remove-architecture arm64
  • Проверяйте источники пакетов: Убедитесь, что указанный источник (source=http://ftp.debian.org/debian) является доступным и актуальным. Вы всегда можете проверить доступность напрямую, используя wget или curl.

Эти шаги помогут вам устранить проблемы с загрузкой пакета debian-archive-keyring при использовании multistrap и, в целом, улучшат процесс создания Debian образов.

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

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