Как добавить больше вариантов или пользовательских пакетов в debootstrap?

10

У меня есть набор пакетов, которые я хочу установить вместе с вариантом минибазы в debootstrap. Мне сложнее всего разобраться, как настроить варианты, чтобы при запуске debootstrap в chroot устанавливалось не только база. Есть ли способ добиться этого?

Марко Чеппи
источник

Ответы:

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и добавьте свой собственный вариант в конце:

    варианты - buildd fakechroot minbase allmybase
    
  3. Найдите work_out_debs()функцию в строке 34 и посмотрите настройки по умолчанию для baseпеременной для вашего «базового» варианта (здесь, minbase):

        elif working_variant fakechroot || running_variant minbase; затем
                база = «склонный»
    
  4. Добавьте свой собственный вариант с пользовательскими пакетами в конце функции:

        elif working_variant allmybase; затем
                base = "apt htop traceroute"
    
  5. Сохраните, выйдите и протестируйте его с --print-debsфлагом «имитация», например

    sudo debootstrap --print-debs --variant = allmybase точный / tmp / prec-chroot
    
    • В этом примере, выход будет показывать , что htopи tracerouteпакеты будут включены в allmybase корня.
иш
источник
Ух ты, я думаю, это выглядит почти так же грязно, как просто установка варианта и монтирование chroot + apt-get. Спасибо за информацию!
Марко Чеппи
Что ж, небольшая боль однажды принесет вам много пользы, если вы установите один и тот же вариант несколько раз;)
ish
Возможно, такой опции на момент вопроса не существовало, но тот же эффект может быть достигнут debootstrap --include=htop,tracerouteбез каких-либо изменений в сценариях debootstrap.
Райму