<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://noname.com.ua/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Chroot_Script</id>
	<title>Chroot Script - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://noname.com.ua/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Chroot_Script"/>
	<link rel="alternate" type="text/html" href="https://noname.com.ua/mediawiki/index.php?title=Chroot_Script&amp;action=history"/>
	<updated>2026-04-06T03:08:24Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://noname.com.ua/mediawiki/index.php?title=Chroot_Script&amp;diff=12161&amp;oldid=prev</id>
		<title>Sirmax в 06:35, 30 октября 2023</title>
		<link rel="alternate" type="text/html" href="https://noname.com.ua/mediawiki/index.php?title=Chroot_Script&amp;diff=12161&amp;oldid=prev"/>
		<updated>2023-10-30T06:35:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 06:35, 30 октября 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Linux]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Скрипт для помещения чего-угодно в чрут, написаный на скорую руку.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Скрипт для помещения чего-угодно в чрут, написаный на скорую руку.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sirmax</name></author>
	</entry>
	<entry>
		<id>https://noname.com.ua/mediawiki/index.php?title=Chroot_Script&amp;diff=6464&amp;oldid=prev</id>
		<title>Sirmax: Новая: &lt;BR&gt; Скрипт для помещения чего-угодно в чрут, написаный на скорую руку. &lt;BR&gt; Хорошо работал на 32-битной ген...</title>
		<link rel="alternate" type="text/html" href="https://noname.com.ua/mediawiki/index.php?title=Chroot_Script&amp;diff=6464&amp;oldid=prev"/>
		<updated>2013-05-12T06:35:51Z</updated>

		<summary type="html">&lt;p&gt;Новая: &amp;lt;BR&amp;gt; Скрипт для помещения чего-угодно в чрут, написаный на скорую руку. &amp;lt;BR&amp;gt; Хорошо работал на 32-битной ген...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Скрипт для помещения чего-угодно в чрут, написаный на скорую руку.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Хорошо работал на 32-битной генту, на 64 бит убунте часть файлов приглось доложить руками (lib32 и lib64)&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Давно не доробатывался,  изначально писался под помещение апача в чрут но работает и с другими пакетами&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# За основу взят скрит Den aka Diesel &amp;lt;diesel@sherdart.net&amp;gt; отсюда http://slackware.tomsk.ru/docs/?p=chroot&lt;br /&gt;
# create chrooted environment for Apache 1.3 + PHP 5 &lt;br /&gt;
# Я (sirmax) его творчески переработал. Оснаваная мысль - &amp;quot;зачем помнить о том какие файлы принвдлежат&lt;br /&gt;
# пакту, если можео спросить пакетный менеджер?&amp;quot;&lt;br /&gt;
# Найти все файлы apache2&lt;br /&gt;
# за исключением манов&lt;br /&gt;
# для помещения в croot()&lt;br /&gt;
&lt;br /&gt;
# update  &lt;br /&gt;
#  Лень писать новый - допилю по-быстрому для убунты.&lt;br /&gt;
# оригинал 2006 года&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EQUERY='/usr/bin/equery'&lt;br /&gt;
DPKG=`which dpkg-query`&lt;br /&gt;
#PKG_NAMES='net-www/apachedev-php/mod_php'&lt;br /&gt;
PKG_NAMES='bash quagga coreutils iproute'&lt;br /&gt;
EXCLUDE1='/usr/share'&lt;br /&gt;
EXCLUDE2='/usr/include'&lt;br /&gt;
CHROOT_PREFIX='/etc/quagga/bgpd1'&lt;br /&gt;
&lt;br /&gt;
if ! [ -d $CHROOT_PREFIX ]&lt;br /&gt;
then&lt;br /&gt;
    mkdir -p $CHROOT_PREFIX&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function check_libs(){&lt;br /&gt;
&lt;br /&gt;
FILE_NAME=$1&lt;br /&gt;
&lt;br /&gt;
LIB_NAMES=`ldd $FILE_NAME|awk '{print $3}'`&lt;br /&gt;
for LIB_NAME in  $LIB_NAMES &lt;br /&gt;
do&lt;br /&gt;
    echo $LIB_NAME&lt;br /&gt;
    if [ -f $LIB_NAME ] &lt;br /&gt;
    then&lt;br /&gt;
        LIB_DIR_NAME=$(dirname $LIB_NAME)&lt;br /&gt;
mkdir -p $CHROOT_PREFIX'/'$LIB_DIR_NAME&lt;br /&gt;
&lt;br /&gt;
if [ -f $CHROOT_PREFIX'/'$LIB_DIR_NAME ] &lt;br /&gt;
then &lt;br /&gt;
    continue&lt;br /&gt;
fi&lt;br /&gt;
    &lt;br /&gt;
    cp $LIB_NAME $CHROOT_PREFIX'/'$LIB_DIR_NAME&lt;br /&gt;
    &lt;br /&gt;
    if  [ -x $LIB_NAME ]&lt;br /&gt;
    then&lt;br /&gt;
&lt;br /&gt;
        check_libs $LIB_NAME&lt;br /&gt;
    fi&lt;br /&gt;
    fi&lt;br /&gt;
done	    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for PKG_NAME in $PKG_NAMES &lt;br /&gt;
do&lt;br /&gt;
echo  $PKG_NAME&lt;br /&gt;
# Совсем неоптимально - зато работает безотказно :)&lt;br /&gt;
# В первом проходе создадим все папки, за исключением заведомо ненужных (EXCLUDE)&lt;br /&gt;
#    for FILE_NAME in `$EQUERY files $PKG_NAME  | grep -v $EXCLUDE1 |grep -v $EXCLUDE2 `&lt;br /&gt;
    for FILE_NAME in `$DPKG -L $PKG_NAME  | grep -v $EXCLUDE1 |grep -v $EXCLUDE2 `&lt;br /&gt;
    do&lt;br /&gt;
    echo $FILE_NAME&lt;br /&gt;
    # если файл - дириктория, то тогда создаем его в chroot jail&lt;br /&gt;
    if [ -d $FILE_NAME ]&lt;br /&gt;
    then&lt;br /&gt;
	mkdir -p $CHROOT_PREFIX'/'$FILE_NAME&lt;br /&gt;
        fi&lt;br /&gt;
    done&lt;br /&gt;
&lt;br /&gt;
#    for FILE_NAME in `$EQUERY files $PKG_NAME  | grep -v $EXCLUDE1 |grep -v $EXCLUDE2 `&lt;br /&gt;
    for FILE_NAME in `$DPKG -L $PKG_NAME  | grep -v $EXCLUDE1 |grep -v $EXCLUDE2 `&lt;br /&gt;
    do&lt;br /&gt;
    if [ -f $FILE_NAME ]&lt;br /&gt;
    then&lt;br /&gt;
	    cp $FILE_NAME $CHROOT_PREFIX'/'$FILE_NAME&lt;br /&gt;
        # Если файл - исполняемый, то  нужно забрать и все библиотеки&lt;br /&gt;
        # которые он использует	    &lt;br /&gt;
        if [ -x $FILE_NAME ]&lt;br /&gt;
        then&lt;br /&gt;
	check_libs $FILE_NAME&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
    done&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Теперь библиоттеки&lt;br /&gt;
&lt;br /&gt;
# создаем структуру каталогов:&lt;br /&gt;
mkdir -p $CHROOT_PREFIX&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/dev&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/etc&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/lib&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/tmp&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/var/cache/proxy&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/var/run&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/var/run/mysql&lt;br /&gt;
mkdir -p $CHROOT_PREFIX/home&lt;br /&gt;
&lt;br /&gt;
# выставляем 'sticky bit' на /tmp:&lt;br /&gt;
&lt;br /&gt;
chmod 1777 $CHROOT_PREFIX/tmp&lt;br /&gt;
&lt;br /&gt;
# создаем файл устройства /dev/null:&lt;br /&gt;
&lt;br /&gt;
mknod $CHROOT_PREFIX/dev/null c 1 3&lt;br /&gt;
chmod 666 $CHROOT_PREFIX/dev/null&lt;br /&gt;
chown root:sys $CHROOT_PREFIX/dev/null&lt;br /&gt;
&lt;br /&gt;
cp -a /dev/random $CHROOT_PREFIX/dev&lt;br /&gt;
cp -a /dev/urandom $CHROOT_PREFIX/dev&lt;br /&gt;
&lt;br /&gt;
# копируем конфигурационные файлы:&lt;br /&gt;
&lt;br /&gt;
#cat /etc/group|egrep &amp;quot;he:|nobody:|nogroup:&amp;quot; &amp;gt; $CHROOT_PREFIX/etc/group&lt;br /&gt;
#cat /etc/passwd|egrep &amp;quot;apache:|nobody:&amp;quot; &amp;gt; $CHROOT_PREFIX/etc/passwd&lt;br /&gt;
#cat /etc/shadow|egrep &amp;quot;apache:|nobody:&amp;quot; &amp;gt; $CHROOT_PREFIX/etc/shadow&lt;br /&gt;
chmod 640 $CHROOT_PREFIX/etc/shadow&lt;br /&gt;
cp /etc/host.conf $CHROOT_PREFIX/etc&lt;br /&gt;
cp /etc/hosts $CHROOT_PREFIX/etc&lt;br /&gt;
cp /etc/nsswitch.conf $CHROOT_PREFIX/etc&lt;br /&gt;
cp /etc/resolv.conf $CHROOT_PREFIX/etc&lt;br /&gt;
cp /etc/localtime $CHROOT_PREFIX/etc&lt;br /&gt;
&lt;br /&gt;
# копируем данные и лог-файлы:&lt;br /&gt;
# (не уверен что это нужно)&lt;br /&gt;
#cp -R $APACHE_DATADIR $PREFIX`dirname $APACHE_DATADIR`&lt;br /&gt;
#cp -R /var/log/apache2 $PREFIX/var/log&lt;br /&gt;
&lt;br /&gt;
# копируем бинарные файлы:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# копируем библиотеки:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cp -d /lib/i386-linux-gnu/libnss_compat* $CHROOT_PREFIX/lib/i386-linux-gnu/&lt;br /&gt;
cp -d /lib/libnss_dns* $CHROOT_PREFIX/lib&lt;br /&gt;
cp -d /lib/ld-* $CHROOT_PREFIX/lib&lt;br /&gt;
cp -d /lib/libnsl* $CHROOT_PREFIX/lib&lt;br /&gt;
cp -R -d /usr/lib/gconv $CHROOT_PREFIX/usr/lib&lt;br /&gt;
cp -d -R /usr/lib/locale/en_GB $CHROOT_PREFIX/usr/lib/locale&lt;br /&gt;
cp -d -R /usr/lib/locale/en_GB.utf8 $CHROOT_PREFIX/usr/lib/locale&lt;br /&gt;
cp -d -R /usr/lib/locale/ru_RU $CHROOT_PREFIX/usr/lib/locale&lt;br /&gt;
cp -d -R /usr/lib/locale/ru_RU.koi8r $CHROOT_PREFIX/usr/lib/locale&lt;br /&gt;
cp -d -R /usr/lib/locale/ru_RU.utf8 $CHROOT_PREFIX/usr/lib/locale&lt;br /&gt;
#&lt;br /&gt;
cp -d -R /etc/mime.types $CHROOT_PREFIX/etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#cp -a /etc/apache2 $CHROOT_PREFIX/etc/apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sirmax</name></author>
	</entry>
</feed>