FreeBSD - как работает система портов

Версия для печатиОтправить другуPDF version

FreeBSD

Используя FreeBSD, софт я устанавливаю именно из системы портов. Дерево портов расположено в каталоге /usr/ports
В каталоге портов, кроме самого дерева портов, находятся следующие файлы:

  • CHANGES - перечислены изменения, произведенные в инфраструктуре "портов" FreeBSD
  • COPYRIGHT - содержит информацию о лицензировании для коллекции "портов" в целом
  • GIDs - содержит перечень всех числовых групповых идентификаторов (GID), используемых программным обеспечением в коллекции "портов" (чтобы избежать путаницы и порты не использовали одну и туже учетную запись для разных целей)
  • KNOBS - содержит перечень всех параметров настройки, доступных в коллекции "портов"
  • LEGAL - содержит список всех правовых ограничений в программном обеспечении, включенном в коллекцию "портов"
  • MOVED - содержит список "портов", которые были перемещены из одной категории в другую
  • Makefile - содержит высокоуровневые инструкции для всей коллекции "портов" в целом
  • каталог Mk - содержит подробные низкоуровневые инструкции для всей коллекции "портов" в целом
  • README - содержит описание верхнего уровня организации коллекции "портов"
  • каталог Templates - содержит заготовки файлов, используемые другими разделами коллекции портов
  • каталог Tools - содержит программы, сценарии и другие средства автоматизации, которые в основном используются разработчиками "портов"
  • UIDs - содержит перечень всех числовых идентификаторов пользователей (UID), используемых программным обеспечением в коллекции "портов"
  • UPDATING - содержит примечания, используемые при обновлении программного обеспечения
  • каталог distfiles - содержит исходный код программного обеспечения, устанавливаемого из "портов"
  • INDEX-x - содержит список всех "портов" в алфавитном порядке

Для загрузки, а также поддержания дерева портов в актуальном состоянии используется утилита portsnap.

 

Поиск определенного порта можно выполнить несколькими способами.

Если полностью известно имя порта, можно воспользоваться коммандой whereis:

whereis apache24
apache24: /usr/ports/www/apache24

Более расширенный поиск по портам можно выполнить, находясь в каталоге /usr/ports:

cd /usr/ports

# make search name=apache24

# make search key=apache24

Отличие между этими коммандами в том, что name ищет вхождение только в названии порта, а key - в именах портов, комментариях, описаниях и зависимостях.

Можно собрать в один html-файл список всех установленных портов с зависимостями и т.д., ссылки на справочные материалы, etc. Для этого нужно выполнить в каталоге /usr/ports такую комманду:

make readmes

Чтобы установить определенный порт, мы выполняем в его каталоге комманду make install clean. Однако не все так просто. FreeBSD после этой комманды выполняет последовательно следующие этапы:

  • make config - задание или изменение текущих настроек
  • make fetch - после настройки "порта" система отыскивает предопределенный список сайтов Интернета, откуда можно получить исходный код и выполняет его загрузку
  • make checksum - подтверждает, что цифровая подпись файла distfile соответствует подписи из файла distinfo "порта"
  • make extract - разворачивает и извлекает скачанный код
  • make patch - накладывает на исходный код в рабочем каталоге все патчи, имеющиеся в составе "порта"
  • make depends - проверяется зависимость "порта" от любых других программ
  • make configure - проверяет необходимость запуска сценария configure. Это отдельный этап, отличный от make config
  • make build - происходит компиляция проверенного, извлеченного и исправленного программного кода
  • make install - устанавливается программа, а ее наличие регистрируется в /var/db/pkg

Также могут пригодится следующие опции комманды make, которые необходимо выполнять находять в каталоге порта:

  • make showconfig — показать текущие опции сборки порта
  • make rmconfig — удалить все текущие настройки для порта
  • make showconfig-recursive — показать настройки для текущего порта и всех зависимостей
  • make config-recursive — задать настройки для текущего порта и всех зависимостей
  • make rmconfig-recursive — удалить настройки для текущего порта и всех зависимостей
  • make config-conditional — пропустить задание опций для портов, у которых уже были заданы требуемые опции
  • make print-index — удобный для чтения индекс
  • make deinstall - удаление порта
  • make reinstall - выполняет повторную установку порта
  • make clean - очистка собранного порта
  • make distclean - удалит ненужные distfiles текущего "порта" вместе со всеми зависимостями.

 

Ваша оценка: Нет Средняя: 5 (2 голоса)

Re: FreeBSD - как работает система портов

>Если полностью известно имя порта, можно воспользоваться коммандой

 

cd /usr/ports/*/apache24

 

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

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература