Сводка по использованию Коллекции Портов во FreeBSD:
Найти порт
Порты упорядочены по категориям, поэтому, если вы не знаете, к какой категории относится порт, вы должны сначала найти его:
cd /usr/ports
make search name=myport
Иногда таких записей слишком много. Я лично предпочитаю:
find /usr/ports -name myport* -print -depth 2
Используйте *
при поиске, поскольку часто доступно несколько версий порта. Аргумент глубины гарантирует, что ваши возвращаемые результаты не будут излишне загромождены совпадениями, которые вы вряд ли захотите.
конфигурация
Часто вам захочется выполнить некоторые настройки; Программное обеспечение, такое как Apache и Postgres, практически требует его. Существует три основных варианта: командная строка, окружение и файлы конфигурации make. Чтобы начать с командной строки:
make showconfig
это перечислит параметры конфигурации по умолчанию. Если вам нравятся настройки по умолчанию, вы готовы к компиляции и установке. Если не,
make config
вызовет диалоговое окно, где вы можете выбрать, какие параметры вы хотите. (Не путайтесь с этим, и make configure
это настраивает ваш порт с выбранными вами опциями!) Этого часто достаточно, но для некоторых программ, таких как Apache, часто существует сложная конфигурация, которую простой диалог не может обработать. Для этого вы также должны взглянуть на Makefile (ы), которые иногда дают вам некоторые дополнительные цели для make, которые дают вам больше информации. Продолжить пример Apache
make show-modules
make show-options
make show-categories
предоставит вам информацию о настройке выбранных вами модулей, опциях потоков и т.п. Если значения по умолчанию вашего порта в основном хороши, и вы просто хотите изменить несколько вещей, вы также можете просто передать пары ключ = значение, такие как переменные среды:
make MYVBL1=MYVAL1 ... install clean
Кроме того, вы можете установить параметры переключателя с помощью -D
опции:
make -D MYVAR -D MYOTHERVAR ... install clean
Однако для сложной конфигурации командная строка не будет работать хорошо, и вы лучше, ни один из первых двух методов не будет эффективным. В этом случае вы можете создать файл конфигурации и передать его make
с помощью переменной __MAKE_CONF. FreeBSD имеет файл конфигурации по умолчанию, /etc/make.conf
который обычно содержит информацию о ранее установленных портах и других системных настройках. Для начала создайте файл с параметрами вашего порта, вызовите его ~/myport.mk
и затем объедините этот файл с /etc/make.conf:
cat /etc/make.conf ~/myport.mk >> ~/make.myport.conf
Затем вы можете дважды проверить свою конфигурацию:
make showconfig __MAKE_CONF=~/make.port.conf
и если все выглядит хорошо
make install clean __MAKE_CONF=~/make.myport.conf
BEWARE! Если вам необходимо настроить параметры конфигурации после make configure
или после установки полностью или частично, вам необходимо сначала очистить конфигурацию :
make rmconfig
Невыполнение этого требования приведет к неожиданному взаимодействию между подсистемой портов, make
настройками по умолчанию для вашего порта и желаемой конфигурацией.
Это довольно много для краткого изложения, но сложность конфигурации в основном связана с приложением, а не с портом. Bash, например, на самом деле не имеет никаких вариантов.
Установка
Это легкая часть:
make install clean
или вы можете
make build
make install
make clean
который просто больше печатать.
Вот и все. Очевидно, что вы можете сделать больше, например, рекурсивно перечислять зависимости и параметры конфигурации, обновлять патчи и так далее. Здесь я отсылаю вас к разделу Руководства по портам, справочной странице подсистемы портов (хорошая информация о дополнительных целях make) и справочнойmake
странице.