Cloud-init устанавливает пакеты в Debian с исходниками contrib

Cloud-init устанавливает пакеты в Debian с исходниками contrib

Мне нужно установить несколько пакетов zfs на экземплярах Debian с помощью cloud-init. Для одного из пакетов требуются исходники contrib. Я могу заставить его обновить список источников, но пакеты не устанавливаются. Если я удаляю списки исходников contrib, некоторые пакеты устанавливаются, но не те, которым нужны contrib. Это своего рода уловка 22. Удалось ли кому-нибудь успешно установить zfs и все необходимые компоненты с помощью cloud-init?

Вот что я использую, когда добавляю package_updateили preserve_sources_list: trueне получается обновить файл sources.list. Не могу победить. lol Спасибо!

#cloud-config
locale: en_US.UTF-8
timezone: America/New_York
apt:
  sources_list: | # needed for spl package
    deb $MIRROR $RELEASE bullseye main contrib
    deb-src $MIRROR $RELEASE bullseye main contrib
    deb $MIRROR $RELEASE bullseye-updates main contrib
    deb-src $MIRROR $RELEASE bullseye-updates main contrib
    deb $MIRROR $RELEASE bullseye-security main contrib
    deb-src $MIRROR $RELEASE bullseye-security main contrib
packages:
  - linux-headers-5.10.0-21-amd64
  - linux-image-amd64
  - spl
  - kmod
  - snapd
  - nfs-common
  - htop
  - nano
  - build-essential
  - zfsutils-linux
  - zfs-dkms
  - zfs-zed
runcmd:
  - mkdir /mnt/v-nas
  - mkdir /mnt/home

решение1

Ваши исходные строки выглядят неправильно. В Debian Bullsye $RELEASEбудет заменено на bullseye.

Поэтому это:

deb $MIRROR $RELEASE bullseye main contrib

Должно отображаться в вашей конфигурации списка apt как:

deb http://some.site.com/ bullseye bullseye main contrib

Неужели здесь действительно должно быть две bullseyeзаписи?

Связанный контент