freshports-s

Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системный утилит. Однако, очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков.

FreeBSD даёт две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков в вашу систему:

  • Коллекция Портов FreeBSD
  • Бинарные пакеты с программным обеспечением

Любая из этих систем может быть использована для установки самых последних версий ваших любимых приложений с локальных носителей или прямо из сети.

На вопрос «Что такое порты и пакеты?» вам поможет статья BSD vs Linux. Что такое «Порт»?. А мы поговорим о том, как работать с этой всей системой.

Пакеты

Установка пакета

pkg_add -r название_пакета

где «-r» означает «remote», т.е. будет качаться с интернета.

Список установленных пакетов

pkg_info

или информация о пакете

pkg_info название_пакета

Удаление пакета

pkg_delete название_пакета

Версия пакета

pkg_version название_пакета

Поиск ПО

Чтобы проверить установлено ли какое-либо ПО, можно использовать:

whereis название_пакета

и

pkg_info | grep название_пакета

еще рекомендую сайт www.freshports.org для поиска пакетов и портов!

Порты

Установка

make install

Переустановка

make reinstall

Удаление

make deinstall

Очистка от промежуточных сборок

make clean

Очистка от скачанных файлов

make distclean

Предустановочная настройка (иначе установка будет производится по сохраненной при предыдущей сборке конфигурации)

make config

Поиск порта по ключу

make search key=КЛЮЧ

Поиск порта по названию

make search name=ИМЯ

Пример,

cd /usr/ports/www/apache22/
make config
make install clean

Это основные комманды, более подробно на официальной странице руководства по FreeBSD

После установки ПО

Рекомендую выполнять «rehash», для того, чтобы не писать полный путь «/path/to/program», а юзать сразу «program»:

# rehash

Обновление дерева портов

Утилита portsnap включена в состав базового дистрибутива с FreeBSD 6.0, для более ранних версий необходима установка (/usr/ports/sysutils/portsnap/).

При первом обновлении необходимо выполнить следующие команды:

portsnap fetch && portsnap extract

При последующих обновлениях

portsnap fetch update

Пример,

cd /usr/ports/
portsnap fetch && portsnap extract

Более подробно тут.

Обновление порта

Утилиту portupgrade надо сначала установить!

cd /usr/ports/sysutils/portupgrade/
make install clean

Обновление

portupgrade название_программы

Если вы хотите обновить только определённое приложение, но не полностью базу данных, используйте portupgrade pkgname, с флагом -r, если portupgrade должен отработать все пакеты, которые зависят от указанного, и использовать флаг -R для отработки всех пакетов, которые требуют указанные пакеты.

Более подробно о portupgrade тут и тут.

P.S. Я использую систему портов, что и вам советую.


Комментарии (14) на запись «FreeBSD. Порты, пакеты и обновление ПО»

» Трекбеки скрыты, показать их?
  1. Alex Snet | 04.03.2009 в 11:38

    Спасибо, то что нужно. Как раз сервер новый ставил на фяхе. Задолбался тарболы качать и компилировать вручную.

  2. adw0rd | 04.03.2009 в 12:46

    Рад что пригодилось! Спасибо за каммент! :)

  3. vasa_c | 04.03.2009 в 19:49

    Ничего в этом не понимаю, но зачот

  4. Купил себе мониторчик :) | Мастерская интернет-разработчика | 27.03.2009 в 13:10

    [...] freebsd 7.1 обновить пакеты [...]

  5. FreeBSD. Боремся с HTTP-флудом средствами IPFW | Мастерская интернет-разработчика | 01.04.2009 в 13:03

    [...] переустановка php freebsd [...]

  6. Eugen | 06.04.2009 в 21:42

    Позволю себе пару уточнений по поводу портов:

    1) make clean не удаляет скачанные файлы, это делает make distclean

    2) без make config настройка будет производиться не по дефолтам, а по сохраненной при предыдущей сборке конфигурации

  7. Neolot | 06.04.2009 в 22:53

    Уже давно portupgrade перенесли из sysutils в ports-mgmt:

    /usr/ports/ports-mgmt/portupgrade

  8. adw0rd | 07.04.2009 в 00:32

    Neolot, ну да, однако всеравно ссылается со старого места...

  9. adw0rd | 07.04.2009 в 01:16

    Eugen, полностью согласен касаемо 2-го пункта, поправлю в посте. А по поводу 1-го пункта, вы тоже правы, однако как я и сказал clean чистит от «промежуточных сборок».

    Спасибо за ценные поправки!

  10. Mox | 25.05.2009 в 13:29

    напишите, что для portupgrade зависимостью является ruby. Это многих остановит =) есть простейшая альтернатива монстру portupgrade и называается portmaster

  11. mvalery | 28.05.2009 в 02:23

    А вот я вам про одну вкусную вещичку расскажу.

    Допустим, ты с помощью portupgrade апгрейдишь некую программу.

    Программа построена, стерлась старая версия, начала ставиться новая.

    А тут ап — неудача. Не удается поставить.

    Оказывается, прежде чем стирать старую версию программы, portupgrade делает временный пакет. Если манипуляции с новой версией закончатся крахом, то из этого пакета будет автоматически восстановлена старая, рабочая версия.

    Для меня это очень важно т.к. на наших серваках уйма софта. И серваков много. Проблем хватает. И за то что у меня одна из проблем решается автоматически, я не жалею, что немножко места на диске занимает ruby. Это совсем не страшно.

  12. adw0rd | 28.05.2009 в 15:12

    Mox, почитал прошлогодние отзывы по portmaster, много негатива.

    И как сказал mvalery, немного памяти для руби не так страшно!

  13. Андрей | 19.02.2010 в 02:01

    Спасибо за хорошою статейку

    Мне она очень помогла как новечку

  14. adw0rd | 19.02.2010 в 09:46

    Андрей, искренне рад что помогла

Оставить комментарий


cкачать бесплатно фильмы