FreeBSD. Jail. Монтируем общий /usr/ports/.

В общем-то поднимал сервер под управлением FreeBSD с несколькими jail внутри.

При установке софта (одинакового в разных джайлах) из дерева портов получилось что в каждом джайле надо развернуть дерево портов (/usr/ports/), надо его в каждом обновлять, надо в каждый джайл качать дистрибутивы (apache, mysql, php, perl и всё такое).

В общем-то мне эта идея не понравилась и я решил извернуться.

Погуглил что умные люди в таких случаях делают.

А в общем-то просто.

Делают так на основной машине:

mount_nullfs /usr/ports /usr/jail/devel/usr/ports

Ну и в файл /etc/fstab записывают:

/usr/ports              /usr/jail/devel/usr/ports       nullfs  rw      0       0

Чтобы после рестарта сервера всё опять работало. :-)

Всё.

Есть правда тонкость одна в этом деле.

Дерево лучше обновлять с основной машины.

Так что прописываем в /etc/crontab:

0       3       *       *       *       root    /usr/sbin/portsnap cron update

Если попытаются обновить дерево из джайла, то получится вот так:

portsnap fetch update
Looking up portsnap.FreeBSD.org mirrors… 5 mirrors found.
Fetching snapshot tag from portsnap6.FreeBSD.org… done.
Fetching snapshot metadata… done.
Updating from Tue Dec  6 10:02:13 UTC 2011 to Wed Dec  7 05:07:09 UTC 2011.
Fetching 4 metadata patches… done.
Applying metadata patches… done.
Fetching 0 metadata files… done.
Fetching 61 patches…..10….20….30….

40….50….60 done.
Applying patches… done.
Fetching 2 new ports or files… done.
Ports tree is already up to date.

Comments

Написать комментарий.




XHTML: Можете использовать следующий код: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>