我有一组软件包,希望与 debootstrap 中的 minibase 变体一起安装。我很难弄清楚如何自定义变体,以便在运行 debootstrap 时在 chroot 中安装的不仅仅是基础。有什么方法可以实现吗?
答案1
使用额外的自定义包添加自己的变体非常容易解引导。
这解引导配置/运行时脚本位于/usr/share/debootstrap/scripts
。让我们创建一个allmybase
包含 中的所有内容minbase
以及包htop
和 的变体traceroute
。
/usr/share/debootstrap/scripts/precise
在编辑器中打开。- 请注意,这与许多 Ubuntu 版本一样,是指向 的符号链接
/usr/share/debootstrap/scripts/gutsy
;如果您只想影响特定版本,请断开链接并将其作为勇敢脚本。
- 请注意,这与许多 Ubuntu 版本一样,是指向 的符号链接
在第 22 行左右,找到以 开头的行
variants
并在末尾添加您的自定义变体:变体 - buildd fakechroot minbase全部我的数据库
找到
work_out_debs()
第 34 行附近的函数,并查看base
“基本”变体的变量的默认设置(此处为minbase
):elif doing_variant fakechroot || doing_variant minbase; 然后 基础=“apt”
在函数末尾附加带有自定义包的变体:
elif doing_variant allmybase; 然后 base="apt htop traceroute"
保存、退出,并使用“模拟”标志进行测试
--print-debs
,例如sudo debootstrap --print-debs --variant=allmybase precise /tmp/prec-chroot
- 在此示例中,输出将显示
htop
和traceroute
包将包含在全部我的数据库chroot。
- 在此示例中,输出将显示