В этом посте я попробую подробно описать систему портов и работы с утилитой pkg.
Система портов в FreeBSD представляет собой набор файлов, которые состоят из исходных кодов приложений. Т.е. процесс установки приложения происходит из исходных кодов, потом происходит сборка пакета и на выходы мы получаем исполняемый файл установленный в систему. т.к. Установка приложения происходит из компиляции исходных кодов, то это довольно таки долгий процесс, но есть в этом и плюсы — приложение собирается для определённого процессора с определёнными флагами, что может увеличивать производительность системы. Более простой способ установки приложений это использование утилиты pkg, она чем то напоминает debian-овский apt-get или yum.
Начнём с портов.
Первое что мы делаем, входим в систему и пишем su и вводим свой пароль. Таким образом мы получаем права супер пользователя. Далее пишем cd /usr/ports жмём Enter и попадаем в директорию ports.
При этом не забываем, что интернет в нашей системе уже должен работать.
Пишем дальше portsnap fetch и видим как происходит загрузка коллекции портов
После того как порты были загружены, необходимо их извлечь из архива, делается это командой portsnap extract
Эта процедура немного долгая, нужно подождать. В завершении на мониторе мы увидим
Что всё завершилось.
Далее установим к примеру текстовый редактор nano
Пишем cd /usr/ports/editors/nano
Потом make install clean
Пошла загрузка исходников и компиляция. (Возможно ещё спросит как устанавливать и дополнительные параметры, грубо говоря автоматически сработает make config, но думаю там всё понятно)
После установки делаем пишем rehash и можем запустить nano.
Что бы найти нужный пакет пишем
make search name=имя_пакета
Возьмём к примеру веб сервер apache
находим и видим что путь его лежит в www/apache22 ну и делаем установку.
Дальше перейдём к pkg
Если нужно что то быстро установить, то можно пользователься этой утилитой, она загружаем в систему уже бинарные (скомпилированные) пакеты. Но тут может быть проблема, приложение может быть собрано без каких либо опций, к примеру если устанавлить SQUID из pkg, то толку будет очень мало, т.к. версия поставляемая в pkg собрана без опций к примеру прозрачности, и у нас не получится завести прозрачный прокси сервер со связкой pf (пакетный фильтр, потом поговорим). А так что бы было понятно, установим файловый менеджер mc
В консоли пишем:
pkg update — этим мы обновим дерево репозитория в системе
pkg upgrade — обновление установленных пакетов и самой утилиты pkg
Как видим у нас всё обновлено, можно приступать к установке mc. Пишем
pkg install mc
При этом он попросит ещё установить зависимости для этого пакета
Соглашаемся, набираем Y и Enter. После завершении установки можно приступать к работе с mc.
Как видим, ничего сложного в этом нет. Поиск происходит следующим образом:
pkg search имя_пакета
На сегодня всё. В следующей статье пересоберём ядро для работы с pf и уберём ненужные вещи.