Ситуация следующая: у нас есть lxc (linux-контейнер), который содержит дистрибутив Debian Squeeze, созданный с помощью файла preseed. Мы хотели добавить несколько дополнительных пакетов (пакетов для тестовой системы OMF), которые не входят в список основных, дополнительных или несвободных пакетов debian. Целью (/ было) является распространение файла preseed, чтобы другие пользователи могли легко использовать дистрибутив debian (с новыми пакетами) в своем контейнере linux. Но LXC, похоже, не дает возможности добавлять дополнительные репозитории (или мы что-то упустили) в установку, откуда можно загрузить и установить дополнительные пакеты.
Решение, которое мы рассмотрели, использует Бродяга в сочетании с Chef, где мы сначала создаем контейнер linux, затем конвертируем этот контейнер linux в бродячий ящик, позволяем vagrant в сочетании с chef добавлять наши собственные пакеты (из репозиториев omf), а затем конвертируем его обратно в контейнер linux. Таким образом, мы распространяем файл предварительной загрузки контейнера linux, VagrantFile и, возможно, какой-нибудь сценарий оболочки для выполнения преобразований.
Но как это сделать? Можно ли преобразовать контейнер linux (/ var / lib / lxc / nameContainer / rootfs) в .box? Или возможно преобразовать .ext2 / .ext4 / .img (мы могли бы сначала преобразовать контейнер linux в это) в .box? И можем ли мы конвертировать обратно (из сгенерированной Vagrant VM в контейнер linux)? Мы не смогли найти никакой информации по этой теме (что, очевидно, не очень хороший знак ...)
Заранее спасибо,
Гленн
Нет автоматического способа, нет. Или, по крайней мере, я не смог найти.
Однако с точки зрения хранения LXC по сути является chroot.
Ты мог:
rootfs
)/etc/fstab
и со)