11.07.2015 Views

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ХАКЕР 04 /171/ 2013 Подушка безопасности 119GRUB И BTRFSСкорее всего, при загрузке с раздела Btrfs Grub будетругаться, что-де разреженные файлы недопустимы,и просить нажать любую клавишу. Чтобы это сообщениене выскакивало, открой в любимом текстовомредакторе файл /etc/grub.d/00.header и закомментируйтам следующую строчку:1. Все необходимые для работы запускаемой программы приложенияи библиотеки ты определяешь сам. Это наиболеегибкий способ, но и наиболее замороченный.2. Chroot-окружение формируется динамически. Одно времясуществовал проект Isolate, который это и делал, но нынчепо неизвестным причинам он канул в Лету.3. Развертывание базовой системы в указанном каталогеи чрутинг на него — его я и опишу.Для начала установим пакет debootstrap, который используетсякак раз с этой целью.$ sudo apt-get install debootstrapЗатем создадим каталог, в котором будет находиться chroot,и развернем базовую систему quantal в нем. В общем-то, егоможно создать где угодно, но традиционное место его размещения— /var/chroot. Поскольку большинство следующих командтребуют права root, имеет смысл переключиться на аккаунтсуперпользователя:$ sudo su -# mkdir /var/chroot && cd /var/chroot# debootstrap quantal ./quantal-chr1http://mirror.yandex.ru/ubuntuРазберем последнюю команду. Она разворачивает релизубунты Quantal в отдельный каталог quantal-chr1 (мало ли, вдругпонадобится еще один chroot) с ближайшего зеркала. Послезавершения развертывания необходимо отобразить файловыесистемы procfs, sysfs и (если это необходимо) каталог /devна данное поддерево. В случае если chroot будет использоватьсядля текстовых приложений только до перезагрузки, должнохватить следующих команд:Огнелис в песочнице— об этом говоритзаголовокINFOКоманды Btrfs имеютстандартный и сокращенныйвид. Например,команду «btrfs subvolumesnapshot» можно записатькак «btrfs su sn».Сравнение скоростикомпиляции на ext4и на Btrfsif [ -n "\${have_grubenv}" ]; then if [ -z"\${boot_once}" ]; then save_env recordfailfi; fiСобственно, переменная recordfail необходима,чтобы предотвратить циклическую перезагрузку,для чего она при старте взводится, а затем, в случаеуспешной загрузки, устанавливается в 0. Хоть комментироватькод, отвечающий за эту процедуру, инежелательно, но думаю, что на настольной системевполне можно обойтись и без него.# mount --bind /proc /var/chroot/quantal-chr1/proc# mount --bind /sys /var/chroot/quantal-chr1/sys# mount --bind /dev /var/chroot/quantal-chr1/devЕсли же требуется, чтобы данное поддерево работало и послеперезагрузки, добавь соответствующие строки в /etc/fstab.Ну а для работы некоторых графических приложений такжеследует отобразить каталоги /tmp и /var/run/dbus. После этогоуже можно вводить следующую команду, которая, собственно,и делает chroot:# chroot /var/chroot/quantal-chr1/И ты уже заперт в нем. Для того чтобы не спутать chroot с реальнойсистемой, рекомендую изменить приглашение оболочки.Для примера давай установим и запустим в chroot Skype.Для этого потребуется установить на хостовой системе пакетschroot, который позволяет упростить запуск программв chroot-окружении:# apt-get install schrootЗатем добавим запись в файл /etc/schroot/schroot.conf.В моем случае я добавил следующую:/etc/schroot/schroot.conf[quantal-skype]description=Quantal Skypedirectory=/var/chroot/quantal-chr1priority=3users=romgroups=romroot-groups=root,romПробрасываем /dev, /proc, /sys, /tmp и /var/run/dbus —как это сделать, смотри выше. Добавим в chroot пользователяи группу skype — при этом желательно, чтобы uid и gid совпадалис uid/gid основного пользователя реальной системы (в моемслучае — rom), для чего набираем следующие команды:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!