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
Написать комментарий.