
Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системный утилит. Однако, очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков.
FreeBSD даёт две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков в вашу систему:
- Коллекция Портов FreeBSD
- Бинарные пакеты с программным обеспечением
Любая из этих систем может быть использована для установки самых последних версий ваших любимых приложений с локальных носителей или прямо из сети.
На вопрос «Что такое порты и пакеты?» вам поможет статья . А мы поговорим о том, как работать с этой всей системой.
Пакеты
Установка пакета
где «-r» означает «remote», т.е. будет качаться с интернета.
Список установленных пакетов
или информация о пакете
Удаление пакета
Версия пакета
Поиск ПО
Чтобы проверить установлено ли какое-либо ПО, можно использовать:
и
еще рекомендую сайт для поиска пакетов и портов!
Порты
Установка
Переустановка
Удаление
Очистка от
Очистка от
Предустановочная настройка (иначе установка будет производится по сохраненной при предыдущей сборке конфигурации)
Поиск порта по ключу
Поиск порта по названию
Пример,
make config
make install clean
Это основные комманды, более подробно на официальной странице
После установки ПО
Рекомендую выполнять «rehash», для того, чтобы не писать полный путь «/path/to/program», а юзать сразу «program»:
Обновление дерева портов
Утилита portsnap включена в состав базового дистрибутива с FreeBSD 6.0, для более ранних версий необходима установка (/usr/ports/sysutils/portsnap/).
При первом обновлении необходимо выполнить следующие команды:
При последующих обновлениях
Пример,
portsnap fetch && portsnap extract
Более подробно .
Обновление порта
Утилиту portupgrade надо сначала установить!
make install clean
Обновление
Если вы хотите обновить только определённое приложение, но не полностью базу данных, используйте portupgrade pkgname, с флагом -r, если portupgrade должен отработать все пакеты, которые зависят от указанного, и использовать флаг -R для отработки всех пакетов, которые требуют указанные пакеты.
Более подробно о portupgrade и .
P.S. Я использую систему портов, что и вам советую.

Спасибо, то что нужно. Как раз сервер новый ставил на фяхе. Задолбался тарболы качать и компилировать вручную.
Рад что пригодилось! Спасибо за каммент! :)
Ничего в этом не понимаю, но зачот
[...] freebsd 7.1 обновить пакеты [...]
[...] переустановка php freebsd [...]
Позволю себе пару уточнений по поводу портов:
1) make clean не удаляет скачанные файлы, это делает make distclean
2) без make config настройка будет производиться не по дефолтам, а по сохраненной при предыдущей сборке конфигурации
Уже давно portupgrade перенесли из sysutils в ports-mgmt:
/usr/ports/ports-mgmt/portupgrade
Neolot, ну да, однако всеравно ссылается со старого места...
Eugen, полностью согласен касаемо 2-го пункта, поправлю в посте. А по поводу 1-го пункта, вы тоже правы, однако как я и сказал чистит от «промежуточных сборок».
Спасибо за ценные поправки!
напишите, что для portupgrade зависимостью является ruby. Это многих остановит =) есть простейшая альтернатива монстру portupgrade и называается portmaster
А вот я вам про одну вкусную вещичку расскажу.
Допустим, ты с помощью portupgrade апгрейдишь некую программу.
Программа построена, стерлась старая версия, начала ставиться новая.
А тут ап — неудача. Не удается поставить.
Оказывается, прежде чем стирать старую версию программы, portupgrade делает временный пакет. Если манипуляции с новой версией закончатся крахом, то из этого пакета будет автоматически восстановлена старая, рабочая версия.
Для меня это очень важно т.к. на наших серваках уйма софта. И серваков много. Проблем хватает. И за то что у меня одна из проблем решается автоматически, я не жалею, что немножко места на диске занимает ruby. Это совсем не страшно.
Mox, почитал прошлогодние отзывы по portmaster, много негатива.
И как сказал mvalery, немного памяти для руби не так страшно!
Спасибо за хорошою статейку
Мне она очень помогла как новечку
Андрей, искренне рад что помогла