Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

ports - приложения

НАЗВАНИЕ
ports -- приложения
ОПИСАНИЕ
Коллекция портов FreeBSD предоставляет пользователям и администраторам простой путь установки приложений. Каждый порт состоит из патчей, необходимых для компиляции и запуска приложения на FreeBSD. Компиляция приложения осуществляется командой make build в директории порта.
Makefile автоматически загрузит исходный код приложения, с локального диска или с FTP-сервера, распакует, применит патчи и скомпилирует. Если все прошло удачно, командой make install приложение установится в системе.
Это позволяет загружать порты с репозитария FreeBSD, которые всегда новее, чем на установленной системе. Поэтому важно первым установить "Upgrade Kit" с www.freebsd.org/ports. Скрипт portcheckout(1) (ports/ports-mgmt/portcheckout) поможет скачать новые порты.
Для более детальной информации о использовании портов смотрите в разделе "Порты и Пакеты" в хендбуке (/usr/share/doc/ru_RU.KOI8-R/books/handbook/ports.html). Информация о создании новых портов /usr/share/doc/ru_RU.KOI8-R/books/porters-handbook/index.html. ЦЕЛИ
Некоторые команды работают рекурсивно. Это позволяет, например, установить все порты раздела "biology".
build, checksum, clean, configure, depends, extract, fetch, install, package - поддерживают рекурсию.

config
настройка OPTIONS, используя dialog(1).

fetch
Загрузка всех необходимых файлов для сборки (компиляции) порта.

checksum
Проверка контрольной суммы полученных файлов. Установка переменной NO_CHECKSUM пропускает этот шаг.

depends
Установка (или компиляция) зависимостей данного порта. Для extract - extract-depends, fetch - fetch-depends и т.д. Установка переменной NO_DEPENDS пропускает этот шаг.

extract
распаковка исходного кода в директорию work.

patch
применение необходимых патчей к порту.

configure
конфигурация(настройка) сборки порта. Некоторые порты выводят список допустимых опций. Смотрите INTERACTIVE и BATCH.

build
сборка порта. Эквивалентно команде all.

install
Установка и регистрация порта в системе пакетов.
Это все, что вам нужно.

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

showconfig
Показывает настройки OPTIONS для текущего порта.
showconfig-recursive
Показывает настройки OPTIONS для текущего порта и всех зависимостей.
rmconfig
Удаление (очистка) параметров OPTIONS для текущего порта.
rmconfig-recursive
Удаление (очистка) параметров OPTIONS для текущего порта и всех его зависимостей.
config-conditional
Пропускать порты, которые имеют настроенный OPTIONS.
config-recursive
Настройка OPTIONS текущего порта и всех его зависимостей.
fetch-list
Показать список файлов, которые будут скачаны для сборки порта.
fetch-recursive
Загрузить файлы, необходиммые для сборки текущего порта и всех его зависимостей.
fetch-recursive
Показать список файлов, которые будут скачаны для сборки текущего порта и всех его зависимостей.
all-depends-list
Показать список зависимостей текущего порта, которые еще не установленны.
pretty-print-run-depends-list, pretty-print-build-depends-list
Показать список всех зависимостей для сборки и установки текущего порта, а также зависимости зависимотей (squid зависит от ldap, а ldap от perl. выведет весь список - прим. перев.) текущего порта.
missing
Вывод списка еще не установленных зависимостей для текущего порта.
clean
Очистка директории, куда извлекался исходный код а также его зависимостей.
distclean
Удаление исходных кодов приложенний (/usr/ports/distfiles). Выполнение очистки - clean.
reinstall
Переустановка порта.
deinstall
Удаление установленного порта, эквивалентно pkg_delete(1).
deinstall-all
Удаление всех установленных портов.
package
Создание бинарного пакета  порта. Пакет -  это архив с расширением .tbz, который можно устанавливать на других системах. Если директория (определена в PACKAGES) не существует, пакет сохраняется в директории порта. Смотрите PKGREPOSITORY и PKGFILE.
package-recursive
Тоже, что и package, только рекурсивно для всех зависимостей.
readmes
Создание Web-версии описания порта. Используется также для создания Web-версии всего дерева портов (/usr/ports).
search
Поиск в файле INDEX. key - название порта, комментарий, зависимости; name - только название порта; path - путь к порту; info - информация о порте; maint - разработчик порта; cat - категория порта; bdeps - зависимости при компиляции; rdeps - зависимости для запуска; www - web-сайт порта.

  Примеры:
cd /usr/ports && make search name=query
Поиск всех портов, название которых содержит query.
quicksearch
Краткий вывод команды search - название порта, путь, общая информация.
describe
Генерация краткого (однострочного) описания портов с файла INDEX.
maintainer
Отображение email разработчика порта.
index
Создание /usr/ports/INDEX с текущего дерева портов.
fetchindex
Загрузка /usr/ports/INDEX с сервера.

ПЕРЕМЕННЫЕ
Вы можете изменять все переменные
PORTSDIR
Расположение дерева портов. /usr/ports - на FreeBSD и OpenBSD, /usr/pkgsrc - на NetBSD.
WRKDIRPREFIX
Директория, для временного хранения фалов. Используется если PORTSDIR только в режиме чтения (CDROM).
DISTDIR
Директория, где искать/сохранять скачанные файлы. По умолачанию в PORTSDIR/distfiles.
PACKAGES
Директория, где сохранять скомпилированные порты. По умолачанию в PORTSDIR/packages.
PREFIX
Директория, куда устанавливаются скомпилированные порты. По умолачанию в /usr/local.
MASTER_SITES
Главный сайт откуда загружать файлы, если они не найдены локально.
PATCH_SITES
Главный сайт, откуда загружать патчи, если они не найдены локально.
MASTER_SITE_FREEBSD
Если установлена эта переменная, то файлы загружаются с FreeBSD сайта.
MASTER_SITE_OVERRIDE
Eсли установлена эта переменная, то файлы загружаются в первую очередь с заданного сайта.
MASTER_SITE_BACKUP
Если установлена эта переменная, то файлы загружаются в последнюю очередь с заданного сайта.
RANDOMIZE_MASTER_SITES
Определять MASTER_SITE хаотично.
MASTER_SORT
Сортировать список сайтов по выражению (.de, .sunet.se и т.п.)
MASTER_SITE_INDEX
Сайт, откуда загружать INDEX. По умолчанию - www.freebsd.org/ports.
FETCHINDEX
Программа для загрузки INDEX. По умолчанию - fetch -am.
NOCLEANDEPENDS
Если определено, не очищать зависимости.
FETCH_CMD
Программа для скачивания файлов. По умолчанию - fetch(1).
FORCE_PKG_REGISTER
Если определенно, перезаписывать регистрацию в системе установленного порта.
MOTIFLIB
Путь к libXm.{a,so}.
INTERACTIVE
Если определено, обслуживать только те порты, которые этого требуют.
BATCH
Если определено, обслуживать только те порты, которые устанавливаются в 100% автоматически.
DISABLE_VULNERABILITIES
Если определено, отключить проверку при установке на уязвимости используя portaudit(1).
NO_IGNORE
Если определено, устанавливать порты, которые маркированы как запрещенные.
PORT_DBDIR
Директория, где сохраняются настройки OPTIONS портов. По умолчанию - /var/db/ports.

ФАЙЛЫ
/usr/ports
Дерево портов FreeBSD и OpenBSD
/usr/pkgsrc
Дерево портов NetBSD
/usr/ports/Mk/bsd.port.mk
The big Kahuna
ИСТОРИЯ
Дерево портов появилось в FreeBSD версии 1.0, и было перенесено в NetBSD и OpenBSD