Tuesday, 27 July 2010

Редактирование образов для OpenVZ

Часто возникает задача скорректировать какой-либо конфиг в образе для OpenVZ, которые представляет собой обычный tar.gz архив.

Создаем папку, где будем собирать образ:
mkdir /tmp/newimage_debian-5.0-x86_64-ispmanager-superlite


Копируем в нее образ, который планируем изменить:
cp debian-5.0-x86_64-ispmanager-superlite.tar.gz /tmp/newimage_debian-5.0-x86_64-ispmanager-superlite


Переходим в новую папку:
cd /tmp/newimage_debian-5.0-x86_64-ispmanager-superlite


Распаковываем образ в текущую папку:
tar -xf debian-5.0-x86_64-ispmanager-superlite.tar.gz


Удаляем исходный образ:
rm debian-5.0-x86_64-ispmanager-superlite.tar.gz


Готовимся к чруту:
mount --bind /dev dev
mount --bind /proc proc
mount --bind /sys sys


Чрутимся в папку образа и выполняем требуемые изменения:
chroot ./


Далее, допустим, обновляем систему:
apt-get update;
apt-get upgrade;
# чтобы кэш пакетов место не занимал
apt-get clean;


Либо пример для CentOS:
yum update
yum clean all


После того, как изменения внесены, выходим из chroot:
exit


Размонтируем:
umount dev
umount proc
umount sys


Архивируем образ обратно:
tar -cpzf ./debian-5.0-x86_64-ispmanager-superlite.tar.gz *


Все, образ изменен без потери функциональности :)

No comments:

Post a Comment

Note: only a member of this blog may post a comment.