如何将更多变体或自定义程序包添加到debootstrap?


10

我有一组软件包,希望与debootstrap中的minibase变量一起安装。我最费力的是弄清楚如何自定义变体,以便在运行debootstrap时,在chroot中安装的不仅仅是基础。有什么办法可以做到这一点?

Answers:


10

debootstrap中添加带有其他自定义软件包的自定义变量非常容易。

debootstrap的配置/运行脚本位于/usr/share/debootstrap/scripts。让我们创建一个allmybase变体,其中包含minbase与包htop和一起的所有内容traceroute

  1. /usr/share/debootstrap/scripts/precise在编辑器中打开。

    • 请注意,这和许多Ubuntu版本一起是指向/usr/share/debootstrap/scripts/gutsy; 的符号链接。如果您只想影响特定的发行版,请断开链接,并使其成为gutsy脚本的副本。
  2. 在第22行附近,找到以开头的行,variants并在末尾添加您的自定义变体:

    变体-内置fakechroot minbase allmybase
    
  3. 找到第work_out_debs()34行附近的函数,并查看base“基本”变体(此处为)的变量的默认设置minbase

        Elif _doing_variant fakechroot || 最小变量 然后
                base =“ apt”
    
  4. 在函数的末尾添加带有自定义包的自己的变体:

        埃尔夫 然后
                base =“ apt htop traceroute”
    
  5. 保存,退出并使用--print-debs“ simulation”标志进行测试,例如

    sudo debootstrap --print-debs --variant = allmybase精确/ tmp / prec-chroot
    
    • 在此示例中,输出将显示htoptraceroute软件包将包含在allmybase chroot中。

哇,我想这似乎和安装变体并安装chroot + apt-get一样脏。谢谢你提供的详情!
Marco Ceppi

好吧,如果您反复安装相同的变体,一次痛苦将使您
受益匪浅

可能在提出问题时不存在该选项,但是debootstrap --include=htop,traceroute无需对debootstrap脚本进行任何修改就可以实现相同的效果。
raimue
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.