Формирование Chroot-окружения в CentOS, Fedora и RHEL.Создаем БД для пакетного менеджера RPM внутри создаваемого chroot:
mkdir -p /home/chroot_web/var/lib/rpm
rpm --root /home/chroot_web --initdbЗагружаем базовые пакеты с описанием текущего релиза Fedora Linux (для CenOS пишем centos-release, для RHEL - redhat-release):
yumdownloader --destdir=/var/tmp fedora-release
cd /var/tmp
rpm --root /home/chroot_web -ivh --nodeps fedora-release*rpmСтавим в chroot apache и все необходимые для его работы зависимости, в итоге получим минимальную систему для работы httpd:
yum --installroot=/home/chroot_web -y install httpd
После настройки Apache запускаем его:
chroot /home/chroot_web /usr/sbin/apachectl start
URL: http://prefetch.net/articles/yumchrootlinux.html
Обсуждается: http://www.opennet.me/tips/info/2191.shtml
ещё можно сделать
# mount -o bind /dev /home/chroot_web/dev
# mount -t proc none /home/chroot_web/proc
Спасибо.Мне пришлось ещё скопировать в /home/chroot_web/dev
/dev/null
/dev/urandomи создать файл
/home/chroot_web/etc/sysconfig/networkА запускать можно с помощью
chroot /home/chroot_web /etc/init.d/httpd start
У меня debian, но общий смысл моего совета не меняется:
# grep chroot /etc/inittab
13:23:wait:/usr/sbin/chroot /home/chroot_mail /etc/init.d/rc 2
14:23:wait:/usr/sbin/chroot /home/chroot_web /etc/init.d/rc 2
Чего только люди не придумывают, что бы не использовать нормальные контейнеры (OVZ, PVC, VServer хотя бы, или тот же LXC)
чего люди не придумывают, чтобы не использовать chroot
>чего люди не придумывают, чтобы не использовать chrootНет, просто создание велосипедов, это зло))) мок совсем для другого придумали!
apache теперь и сам чрутиться умеет
А если Apache или его конфиг из-за какой-нибудь уязвимости подделают?
"Ставим в chroot apache и все необходимые для его работы зависимости, в итоге получим минимальную систему для работы httpd:yum --installroot=/home/chroot_web -y install httpd"
А как отработают секции %post %preun в данной случае?
>"Ставим в chroot apache и все необходимые для его работы зависимости, в
>итоге получим минимальную систему для работы httpd:
>
> yum --installroot=/home/chroot_web -y install httpd"
>
>А как отработают секции %post %preun в данной случае?%post правильно
%pre[un] - нетчто бы правильно все отработало нужно chroot yum ....
>[оверквотинг удален]
>>итоге получим минимальную систему для работы httpd:
>>
>> yum --installroot=/home/chroot_web -y install httpd"
>>
>>А как отработают секции %post %preun в данной случае?
>
>%post правильно
>%pre[un] - нет
>
>что бы правильно все отработало нужно chroot yum ....но это скорее тянет на баг в rpmlib - оно не делает chroot в pre стадии.
Кстати, еще есть febootstrap, можно им воспользоваться для создания виртуального окружения.