Warning: Undefined array key "DOKU_PREFS" in /home/virtwww/w_linko22-ru_c0d3353b/http/inc/common.php on line 2082
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
freebsd:dev [2011/01/21 14:54] linko22@gmail.com |
freebsd:dev [2011/01/24 14:59] (текущий) linko22@gmail.com |
||
---|---|---|---|
Строка 29: | Строка 29: | ||
- | ====== Настройка джейлов ====== | + | ====== Настройка |
Для настройки джейлов будем использовать свежеустановленный сервер с FreeBSD. Кто то использует vim или vi, кто то nano, мне удобно пользоваться встроенным редактором в mc. | Для настройки джейлов будем использовать свежеустановленный сервер с FreeBSD. Кто то использует vim или vi, кто то nano, мне удобно пользоваться встроенным редактором в mc. | ||
Поставим порт управления джейлами | Поставим порт управления джейлами | ||
- | cd / | + | |
- | make install clean | + | |
- | Добавляем автозапуск джай | + | Добавляем автозапуск джейла, указав в файле / |
+ | ezjail_enable=" | ||
У меня на сервере самый большой размер имеет раздел /home. Поэтому, | У меня на сервере самый большой размер имеет раздел /home. Поэтому, | ||
- | cd / | + | |
- | cp ezjail.conf.sample ezjail.conf | + | |
В нем берем строку | В нем берем строку | ||
Строка 47: | Строка 49: | ||
ezjail_jaildir=/ | ezjail_jaildir=/ | ||
Сохраняем файл и устанавливаем мир для джейлов, | Сохраняем файл и устанавливаем мир для джейлов, | ||
- | ezjail-admin create | + | |
Он лезет в интернет и качает оттуда сборку FreeBSD под текущую систему. В принципе, | Он лезет в интернет и качает оттуда сборку FreeBSD под текущую систему. В принципе, | ||
Строка 57: | Строка 59: | ||
Но мы пойдем немного дальше. В текущей статье, | Но мы пойдем немного дальше. В текущей статье, | ||
+ | |||
+ | ====== Установка первого джейла ====== | ||
Рассмотрим очевидное решение, | Рассмотрим очевидное решение, | ||
Для начала создадим управляющий джейл. | Для начала создадим управляющий джейл. | ||
- | ezjail-admin create hq 10.8.0.200 | + | |
- | Таким образом | + | |
+ | Лежать он будет по пути / | ||
+ | Создаем каталог и сопутствующие подкаталоги | ||
+ | [root@dev /]# mkdir / | ||
+ | В нашем случае, | ||
+ | |||
+ | Все точки монтирования определяются файлами / | ||
+ | |||
+ | В нашем случае, | ||
+ | |||
+ | Его содержимое по умолчанию | ||
+ | |||
+ | / | ||
+ | |||
+ | Для нашего случая, | ||
+ | |||
+ | / | ||
+ | |||
+ | Т.е. для управляющего джейла мы его будем монтировать в режиме чтение-запись, | ||
+ | |||
+ | / | ||
+ | |||
+ | Так же, нам нужно будет работать с портами. Для этого удаляем симлинк с портами в джейле и делаем из него папку, что бы потом просто монтировать папку с портами в джейл. | ||
+ | |||
+ | [root@dev /]# rm / | ||
+ | |||
+ | Так же прописываем это в / | ||
+ | /usr/ports / | ||
+ | |||
+ | Запускаем непосредственно джейл | ||
+ | |||
+ | [root@dev /]# / | ||
+ | |||
+ | И смотрим в списках джейлов, | ||
+ | |||
+ | [root@dev /]# jls | ||
+ | | ||
+ | | ||
+ | |||
+ | Заходим в него | ||
+ | |||
+ | [root@dev /]# jexec 1 tcsh | ||
+ | hq# | ||
+ | |||
+ | Все, мы в джейле. | ||
+ | |||
+ | ====== Настройка управляющего джейла ====== | ||
+ | |||
+ | Для того, что бы все установленные порты могли использоваться другими джейлами надо создать несколько симлинков. | ||
+ | |||
+ | #hq cd / | ||
+ | #hq ln -s / | ||
+ | |||
+ | Т.е. фактически, | ||
+ | |||
+ | Для установки портов я использую локальную копию портов и его же локальный кеш distfiles, что бы не качать одни и те же порты, что уже и так есть у меня, когда я настраивал основную систему. Для этого надо подправить один файл, / | ||
+ | # | ||
+ | |||
+ | И, соответственно, | ||
+ | |||
+ | ====== Джейлы разработчиков ====== | ||
+ | |||
+ | Создаются по такому же принципу, | ||
+ | ====== Подводные камни ====== | ||
+ | |||
+ | Масса. | ||
+ | |||
+ | Во первых, | ||
+ | |||
+ | В каталоге / | ||
+ | |||
+ | #hq mkdir / | ||
+ | #hq touch / | ||
+ | #hq cd / | ||
+ | |||
+ | Далее. При установке какого нибудь дополнительного порта, необходимо в каждом джейле запускать / | ||
+ | |||
+ | Например, | ||
+ | |||
+ | # | ||
+ | |||
+ | jls | grep user | awk '{ system( "jexec " | ||
+ | |||
+ | То же самое относиться к апачу | ||
+ | |||
+ | # | ||
+ | |||
+ | jls | grep user | awk '{ system( "jexec " | ||
+ | |||
+ | |||
+ | Ну, и конечно, | ||
====== Настройка bind ====== | ====== Настройка bind ====== |