如何为debootstrap添加更多变体或自定义包?

我有一组包,我希望在debootstrap中安装minibase变种。 我正在努力确定如何自定义变体,以便在运行debootstrap时不仅仅在chroot中安装基础。 有没有办法实现这个目标?

将自己的变体与其他自定义包添加到debootstrap非常容易。

debootstrap配置/运行时脚本位于/usr/share/debootstrap/scripts 。 让我们创建一个allmybase变体,它包含minbase所有minbase以及htoptraceroute包。

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

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

    变种 - 构建的fakechroot minbase allmybase
    
  3. 在第34行找到work_out_debs()函数,并查看“base”变量(此处为minbase )的base变量的默认设置:

         elif doing_variant fakechroot ||  do_variant minbase; 然后
                基=“易于”
    
  4. 在函数末尾添加自定义包的自定义包:

         elif doing_variant allmybase; 然后
                 base =“apt htop traceroute”
    
  5. 使用--print-debs “simulation”标志保存,退出并测试它,例如

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