Cloud-init 使用 contrib 源在 Debian 上安装软件包

Cloud-init 使用 contrib 源在 Debian 上安装软件包

我需要使用 cloud-init 在 Debian 实例上安装一些 zfs 包。其中一个包需要 contrib 源。我可以让它更新源列表,但包安装失败。如果我删除 contrib 源列表,一些包会安装,但不会安装需要 contrib 的包。有点像第 22 条军规。有人使用 cloud-init 成功安装 zfs 和所有先决条件吗?

这是我在添加package_updatepreserve_sources_list: true更新 sources.list 文件时使用的方法。我赢不了。哈哈谢谢!

#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条目吗?

相关内容