Intereting Posts
не может отправлять сообщения электронной почты в учетные записи gmail из postfix Как добавить границу вокруг окон, но сохранить текущую тему? Как изменить обои на 1920X1080 с включенными эффектами compiz? Как скрыть свои пользовательские индикаторы панели Unity от другой учетной записи пользователя на той же машине? Есть ли приложение Sticky Note, подобное Windows Sticky Note? Где «научный режим» ушел в gcalctool 6.2.0? Могу ли я синхронизировать закладки между Firefox и Chromium? Пожалуйста, установите MTA в этой системе, если вы хотите использовать sendmail! Закладка autocomplete в терминале не ведет себя правильно Доступен ли Ubuntu MAAS? Мне действительно нужны оба загрузчика? Это действительно замедляет время загрузки Невозможно настроить яркость экрана на Ubuntu 12.04LTS Должен ли я устанавливать неподписанные пакеты? Что мне делать дальше с зараженными файлами и ошибками? Обновление живого 8.04 LTS-сервера до более современной версии

Создайте Chroot Jail и скопируйте все системные файлы в тюрьму

Я создаю chroot тюрьму в linux, но у меня нет доступа к системному файлу, например ls / cd / gcc / g ++. Каковы необходимые файлы libs / bin / systme, которые мне нужно скопировать в мою тюрьму chroot?

Исполняемые файлы, такие как ls / cd / gcc / g ++, зависят от общей библиотеки (если вы не ставили их статически). Итак, что вам нужно сделать, это скопировать все эти общие зависимости между библиотекой и соответствующим местоположением в вашу тюрьму chroot, также вам нужно найти, что такое общие зависимости. Чтобы узнать, что вам нужна помощь от «ldd».

Чтобы узнать, какие общие зависимости gcc есть, выполните следующие действия:

ldd /usr/bin/gcc 

В моей системе отображается следующий вывод:

 linux-vdso.so.1 => (0x00007fffd9bff000) libc.so.6 => /lib64/libc.so.6 (0x00000030c9c00000) /lib64/ld-linux-x86-64.so.2 (0x00000030c9800000) 

Таким образом, gcc имеет зависимость стандартной библиотеки c libc.so, а также ld (исполняемый загрузчик), поместите эти разделяемые библиотеки в соответствующее место (т.е. libc under / lib64) в вашу chroot-тюрьму вместе с gcc. Таким образом, gcc может загружать необходимые материалы, пока вы вызываете gcc.

Чтобы создать базовые корневые файловые системы на основе debian (не обязательно на основанных на debian системах), вы можете использовать инструмент debootstrap или multistrap . Я думаю, что есть также эквивалент febootstrap для корневых файловых систем на базе Fedora.

В debootstrap у вас будет полный контроль над тем, какие пакеты должны быть установлены, над базовыми необходимыми пакетами, которые являются пакетами с тегами «Приоритет: требуется» и «Приоритет: важный». В случае первоначальных дополнительных пакетов вы несете ответственность за зависимости пакетов.

multistrap – это новый инструмент, который использует apt и может использовать несколько репозиториев и поэтому заботится о проблеме зависимости.

Вы также можете выполнить кросс-загрузку, которая создает корневую fs для другой архитектуры. Это полезно при создании встроенных или виртуализированных систем.

Пример команды debootstrap :

 debootstrap wheezy rootfs/ http://ftp.us.debian.org/debian 

то вы можете вставлять в нее и делать все, что нужно.

Это самый простой способ создания chroots.