Установка портов в другую директорию

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Установка портов в другую директорию

Непрочитанное сообщение Candyman » 2011-05-30 18:36:27

Приветствую, коллеги.
В данный момент занимаюсь написанием статьи по настройке мультиплатформенного сервера удаленной загрузки, вдохновленный http://www.lissyara.su/articles/freebsd ... /diskless/ и прошу вашей помощи.
Ситуация такая: есть структура каталогов

Код: Выделить всё

[root@bootserver /home/asm]# ll /home/diskless/
total 36
drwxr-xr-x   9 root  ftp     512B 30 май 02:35 ./
drwxr-xr-x   7 root  wheel   512B 26 май 04:36 ../
drwxr-xr-x  69 root  ftp     1,5K 30 май 02:48 ports/
drwxr-xr-x   3 root  ftp     512B 26 май 11:37 portsnap/
drwxr-xr-x   5 root  ftp     512B 30 май 05:26 roots/
drwxr-xr-x  23 root  ftp     1,0K 26 май 11:30 src/
drwxr-xr-x   3 root  ftp     512B 26 май 05:52 nodes/
drwxr-xr-x   3 root  ftp     512B 30 май 02:38 dbports/
Я решил сделать отдельное дерево портов и исходников для сервера загрузок и для станции, чтобы установленные программы на станциях не зависели от сервера.
Сейчас я на этапе установки приложений, и почитав маны про порты и альтернативные пути установки, даю команду

Код: Выделить всё

cd /home/diskless/ports
PORTSDIR=/home/diskless/ports make search name=rsync
cd /home/diskless/ports/net/rsync/
make PORTSDIR=/home/diskless/ports WRKDIRPREFIX=/home/diskless/ports PREFIX=/home/diskless/roots/i386/usr/local PORT_DBDIR=/home/diskless/dbports install clean
Все идет нормально, но при установке обнаруживает, что rsync у меня уже установлен (это и правда так;)) в базовой системе.
Но я хочу, чтобы базы установленных портов (пакетов) для базовой и гостевой систем были разными.
Ваши предложения?
Последний раз редактировалось f_andrey 2011-05-31 10:20:28, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: Установка портов в другую директорию

Непрочитанное сообщение Candyman » 2011-05-31 3:47:29

Уже разобрался.
Оказывается, все очень просто:
DESTDIR, if set by user, determines the complete alternative environment, usually a jail, or an installed system mounted elsewhere than /. A port will actually install into DESTDIR/PREFIX, and register with the package database in DESTDIR/var/db/pkg. As DESTDIR is handled automatically by the ports infrastructure via calling chroot(8), you do not need any modifications or any extra care to write DESTDIR-compliant ports.
http://www.freebsd.org/doc/en_US.ISO885 ... refix.html

Итого,

Код: Выделить всё

cd /home/diskless/ports/net/rsync/
 make DESTDIR=/home/diskless/roots/i386 install clean
Вот и все :)