Помогите разобраться с портами
Модератор: arachnid
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Помогите разобраться с портами
Я очень сильно запутался, постараюсь хорошо объяснить, что мне непонятно.
И так, во-первых имеем 2 диска FreeBSD 6.1 от linuxcenter.
Почитал хендбук, форум общее сведенья о портах, но кое чего не понял. Точнее много чего.
В каждом программе, то есть порте, должны быть файлы distinfo, makefile и в некоторых маленький каталог files и другие файлы с какие-то незапоминающимися названиями.
У меня на 1-ом диске архив с портами весит 38 метров.
При попытке установить какой-нибудь порт с жесткого /usr/ports/ (разархивированный ахрив ports), ни один порт не устанавливается. Все пытаются вылезти в сеть, которая у меня еще не настроена.
То есть в этом ахриве я так понимаю, только какие-то файлы в которых находится инфа о том, где находятся порты.
Я полез на freebsd.org/ports начал смотреть. В первую очередь я хочу установить Xorg. Нашел, и окончательно запутался в списках dependence.
Вопросы:
1) Какие файлы должны быть в ports/<program> что она установилась ? Где то что-то я видел про архив с исходниками *.tar.gz. Это оно ?
2) Как можно просто скачать то что нужно ? Есть ли более простые способы, чем скачать все что есть в dependence.
3) Не очень понял что собственно скачивать, при выборе порта на freebsd.org направляет на страничку со сходими файлыми, которые у меня уже есть.
Как можно скачать непосредственно ихсодники ? Доступ в сеть только через винду.
4) Как правильно устанавливать порты ?
Комадной make install или make && make install.
5) Как добавить опции сборки ? В хендбуке написано, что порты это наборы исходников, что для них можно применять специальные параметры сборки, так же как и для configure, но как не описано.
И так, во-первых имеем 2 диска FreeBSD 6.1 от linuxcenter.
Почитал хендбук, форум общее сведенья о портах, но кое чего не понял. Точнее много чего.
В каждом программе, то есть порте, должны быть файлы distinfo, makefile и в некоторых маленький каталог files и другие файлы с какие-то незапоминающимися названиями.
У меня на 1-ом диске архив с портами весит 38 метров.
При попытке установить какой-нибудь порт с жесткого /usr/ports/ (разархивированный ахрив ports), ни один порт не устанавливается. Все пытаются вылезти в сеть, которая у меня еще не настроена.
То есть в этом ахриве я так понимаю, только какие-то файлы в которых находится инфа о том, где находятся порты.
Я полез на freebsd.org/ports начал смотреть. В первую очередь я хочу установить Xorg. Нашел, и окончательно запутался в списках dependence.
Вопросы:
1) Какие файлы должны быть в ports/<program> что она установилась ? Где то что-то я видел про архив с исходниками *.tar.gz. Это оно ?
2) Как можно просто скачать то что нужно ? Есть ли более простые способы, чем скачать все что есть в dependence.
3) Не очень понял что собственно скачивать, при выборе порта на freebsd.org направляет на страничку со сходими файлыми, которые у меня уже есть.
Как можно скачать непосредственно ихсодники ? Доступ в сеть только через винду.
4) Как правильно устанавливать порты ?
Комадной make install или make && make install.
5) Как добавить опции сборки ? В хендбуке написано, что порты это наборы исходников, что для них можно применять специальные параметры сборки, так же как и для configure, но как не описано.
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Помогите разобраться с портами
Кое-что я вроде уже прояснил. А именно.
Это точно они. На freebsd.org именно их можно скачать.
2-ой и 3-ий вопрос снимаются.
А вот 4-ый я бы расширил.
Перефрозирую его - помогите установить первый порт.
Например, возьмем bash 3.1. Я только что его скачал его исходники *.tar.gz, но установить не получается.
Я копировал и в usr/ports/shells/bash и usr/ports/shells/bash/files, при вызове make все равно пытается в сеть вылезти.
В Makefile упоминается версия bash 3.1, то есть такая которую я скачал.
Что же мне сделать нужно с исходникамм, как мне собрать свой первый порт ?
На 5-ый вопрос тоже бы хотелось ответ услышать.
1) Какие файлы должны быть в ports/<program> что она установилась ? Где то что-то я видел про архив с исходниками *.tar.gz. Это оно ?
Это точно они. На freebsd.org именно их можно скачать.
2-ой и 3-ий вопрос снимаются.
А вот 4-ый я бы расширил.
Перефрозирую его - помогите установить первый порт.
Например, возьмем bash 3.1. Я только что его скачал его исходники *.tar.gz, но установить не получается.
Я копировал и в usr/ports/shells/bash и usr/ports/shells/bash/files, при вызове make все равно пытается в сеть вылезти.
В Makefile упоминается версия bash 3.1, то есть такая которую я скачал.
Что же мне сделать нужно с исходникамм, как мне собрать свой первый порт ?
На 5-ый вопрос тоже бы хотелось ответ услышать.
-
Scr1pt
- Сообщения: 22
- ОС: FreeBSD 6.0
Re: Помогите разобраться с портами
Ну что ж, давай разбираться...
Тебе надо разобраться, что же представляет собой порт. Порт - это как бы скелет программы, файлы, которые хранят в себе информацию о конкретной программе (будь то название, комментарий, для чего программа используется, где скачать). Подробнее - http://www.freebsd.org/doc/ru_RU.KOI8-R/bo...orts-using.html
Где находятся программы, а инфа - это и есть порты.
http://www.freebsd.org/doc/ru_RU.KOI8-R/bo...book/ports.html. Вроде всё понятно написано. Проблем возникнуть не должно. А *.tar.gz - это как обычно заархивированные исходники.
Для меня так самое простое - это скачать с ftp://ftp.freebsd.org/pub/FreeBSD/ports/i...s-6-stable/All/ прекомпилированные пакеты.
Да. И ещё как ты заметил нужен доступ в сеть.
Будь жаден до информации, как бурундук до желудей -- никогда не знаешь когда она тебе может понадобиться ...
-
ipse
- Сообщения: 133
- ОС: FreeBSD 6.0
Re: Помогите разобраться с портами
Ничего вручную качать не надо, bash ставится так:
cd /usr/ports/shells/bash && make install clean
На тех 2х CD дистфайлов можешь не искать, там только пакеты на втором диске, которые к портам никакого отношения не имеют.
cd /usr/ports/shells/bash && make install clean
На тех 2х CD дистфайлов можешь не искать, там только пакеты на втором диске, которые к портам никакого отношения не имеют.
хэндбук ниасилил...
-
Aectann
- Бывший модератор
- Сообщения: 3491
- Статус: ...
- ОС: OS X, GNU_и_не_только/Linux
Re: Помогите разобраться с портами
Исходники должны лежать в /usr/ports/distfiles
Все программы из портов устанавливаются так:
make install clean(если надо сразу очистку сделать)
Прочти всё-таки Советы бывалых пользователей в этой ветке.
My god... it's full of stars!...
-
mixer
- Сообщения: 87
Re: Помогите разобраться с портами
И так, во-первых имеем 2 диска FreeBSD 6.1 от linuxcenter.
Это очень хорошо, что присутствует 2-ой диск, на нем расположены собранные порты (пакеты), готовые к установке без подключения к сети... Чтобы установить например Xorg необходимо:
1. примонтировать второй диск FreeBSD
2. # cd <путь к точке монтирования CD>/x11
3. найти пакет Xorg: # ls -a | grep xorg , видим: xorg-версия.tar.gz
4. устанавливаем пакет: # pkg_add xorg-версия.tar.gz
5. проверяем удачно ли прошла установка: pkg_info | grep xorg
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Помогите разобраться с портами
Scr1pt
ipse
Aectann
mixer
Спасибо за ответы, практически все понял, за исключением такого момента.
Положил я туда скаченный исходник bash-3.1.tar.gz, и раазрхивировать его даже пробовал, но все равно /usr/ports/shells/bash/make install clean лезит в сеть.
Хотя в подсказке после неудачного похода выдает, что вы можете положить исходник в /usr/ports/distfiles/bash и попробовать еще раз.
Я слышал, такое мнение что все нужно устанавливать только из портов, а все остальное это не правильно. Правда вижу, что у меня есть два выхода, либо настроить ADSL, либо из пакетов устаналивать.
ipse
Aectann
mixer
Спасибо за ответы, практически все понял, за исключением такого момента.
Исходники должны лежать в /usr/ports/distfiles
Все программы из портов устанавливаются так:
make install clean(если надо сразу очистку сделать)
Положил я туда скаченный исходник bash-3.1.tar.gz, и раазрхивировать его даже пробовал, но все равно /usr/ports/shells/bash/make install clean лезит в сеть.
Хотя в подсказке после неудачного похода выдает, что вы можете положить исходник в /usr/ports/distfiles/bash и попробовать еще раз.
Это очень хорошо, что присутствует 2-ой диск, на нем расположены собранные порты (пакеты), готовые к установке без подключения к сети...
Я слышал, такое мнение что все нужно устанавливать только из портов, а все остальное это не правильно. Правда вижу, что у меня есть два выхода, либо настроить ADSL, либо из пакетов устаналивать.
-
moog
- Сообщения: 599
- ОС: Archlinux
Re: Помогите разобраться с портами
Если вы имеете проблемы с настройкой adsl и если ваш провайдер - стрим(мту), то могу поделится конфигом.
-
polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
Re: Помогите разобраться с портами
Я слышал, такое мнение что все нужно устанавливать только из портов, а все остальное это не правильно.
блиин... слышал он... а почитать слабо http://freebsd.org.ru/handbook/ports.html ?
И немедленно выпил.
-
ipse
- Сообщения: 133
- ОС: FreeBSD 6.0
Re: Помогите разобраться с портами
GRS писал(а): ↑25.09.2006 00:01Исходники должны лежать в /usr/ports/distfiles
Все программы из портов устанавливаются так:
make install clean(если надо сразу очистку сделать)
Положил я туда скаченный исходник bash-3.1.tar.gz, и раазрхивировать его даже пробовал, но все равно /usr/ports/shells/bash/make install clean лезит в сеть.
Хотя в подсказке после неудачного похода выдает, что вы можете положить исходник в /usr/ports/distfiles/bash и попробовать еще раз.
Скорей всего не совпадает версии твоего архива с исходниками и того что прописан в /usr/ports/shells/bash/distinfo
хэндбук ниасилил...
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Помогите разобраться с портами
goom
У меня другой, и я знаю как настраивать. Мне только нужно скачать драйвера и установить pppoe и вообще всю систему настроить, она у меня сейчас практически голая, только мое ядро и основые консольные утилиты.
polachok
GRS
Просто привык доверять людям с форумов. И мнение было не разовым, а часто встречающимся.
ipse
Хм. Посмотрел файл. Название архивов одинаковое md5 и size одинаковые, не знаю только как sha256 узнать.
И заметил такую вещь, что если архив убрать из distfiles, то он лезит на все сайты из списка distfile, а если исходник положить, то только по тому адресу для конкретного исходника 3.1.
Если вы имеете проблемы с настройкой adsl и если ваш провайдер - стрим(мту), то могу поделится конфигом.
У меня другой, и я знаю как настраивать. Мне только нужно скачать драйвера и установить pppoe и вообще всю систему настроить, она у меня сейчас практически голая, только мое ядро и основые консольные утилиты.
polachok
блиин... слышал он... а почитать слабо http://freebsd.org.ru/handbook/ports.html ?
GRS
Почитал хендбук, форум общее сведенья о портах, но кое чего не понял. Точнее много чего.
Просто привык доверять людям с форумов. И мнение было не разовым, а часто встречающимся.
ipse
Скорей всего не совпадает версии твоего архива с исходниками и того что прописан в /usr/ports/shells/bash/distinfo
Хм. Посмотрел файл. Название архивов одинаковое md5 и size одинаковые, не знаю только как sha256 узнать.
И заметил такую вещь, что если архив убрать из distfiles, то он лезит на все сайты из списка distfile, а если исходник положить, то только по тому адресу для конкретного исходника 3.1.
-
polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
Re: Помогите разобраться с портами
/usr/ports/distfiles/bash
если просит - туда и положите исходник
И немедленно выпил.
-
unflag
- Бывший модератор
- Сообщения: 1030
- Статус: здесь могла бы быть ваша реклама
- ОС: Debian testing/Win Server 2008
Re: Помогите разобраться с портами
Если автор хочет поставить баш, то проще сделать это с помощью sysinstall, ибо в стандартный дистрибутив он входит. А потом рекомендую настроить инет. Потому что вручную выкачивать зависимости - извращение. Затем сделать следующее - pkg_add -r имя_программы. Версию указывать не надо. То есть, просто pkg_add -r bash, например. Вытянет пакет со всеми зависимостями без проблем. Это уже прекомпилированный пакет, собираться ничего не будет. Экономия времени. Но на слабой машине рекомендуют некоторые вещи собирать. Если пакет уже скачан с ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/ , следует перейти в каталог с пакетом и набрать pkg_add имя_пакета. Имя должно быть паспортное - как архив называется, так и писать. Зависимости, если что, скачаются. При наличии желания можно собирать все из портов. Как это делать - написали, но напомню, что список зависимостей может быть очень длинным и такая установка(без инета) не принесет ничего, кроме головной боли.
PS. Не пойму я, почему при установке из портов система не находит арзив в distfiles? Насколько я в курсе, в первую очередь поиск ведется именно в этом каталоге... Только разница в версиях на ум приходит... Но автор говорит, что все ОК в этом плане... Очень странно и непонятно... Кстати, автор, поставьте себе portsnap и обновите дерево портов. После выхода версии 6.1 много воды утекло и дерево уже неактуально. Можно свежий снэпшот скачать с ftp://ftp.freebsd.org - там несложно найти, я точный адрес позабыл. Ну или portsnap - но при наличии инета.
PS. Не пойму я, почему при установке из портов система не находит арзив в distfiles? Насколько я в курсе, в первую очередь поиск ведется именно в этом каталоге... Только разница в версиях на ум приходит... Но автор говорит, что все ОК в этом плане... Очень странно и непонятно... Кстати, автор, поставьте себе portsnap и обновите дерево портов. После выхода версии 6.1 много воды утекло и дерево уже неактуально. Можно свежий снэпшот скачать с ftp://ftp.freebsd.org - там несложно найти, я точный адрес позабыл. Ну или portsnap - но при наличии инета.
One day! One day, who knows?
Someday! Someday I suppose!
Конференция в jabber: linuxforum@conference.jabber.ru
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Помогите разобраться с портами
Все кажется понял из-за чего проблема была. Установил bash из пакета, а он в зависимости для себя еще 2 пакета установил gettext и libconv кажется. Наверное port'ы из-за их отсутствия ругались.
Хотя может эти пакеты были изначально установлены и проблема была в чем-то другом. Хотя я при установке кроме исходников ядра ничего не выбирал.
dd2k
Сказано точнее не куда.
Хотя может эти пакеты были изначально установлены и проблема была в чем-то другом. Хотя я при установке кроме исходников ядра ничего не выбирал.
dd2k
Как это делать - написали, но напомню, что список зависимостей может быть очень длинным и такая установка(без инета) не принесет ничего, кроме головной боли.
Сказано точнее не куда.
-
mixer
- Сообщения: 87
Re: Помогите разобраться с портами
Хотя может эти пакеты были изначально установлены и проблема была в чем-то другом. Хотя я при установке кроме исходников ядра ничего не выбирал.
Еще нужно выбрать установку коллекции портов, чтобы потом обновляться меньше...
-
stiv
- Сообщения: 44
- ОС: FreeBSD->Gentoo->Fedora
Re: Помогите разобраться с портами
Не хочу плодить новую тему, поэтому пишу сюда. Прошу помочь чайнику разобраться с "этикой обновления портов".
Кратко:
Поставил FreeBSD 6.1 . Из портов не устанавливался xine . Обновил коллекцию портов. Всё замечательно. Обновился до версии 6.1 stable, правда назвалась она 6.2-PRERELEASE , но грамотные люди подсказали, что это замороженный 6.1. Всё отлично.
Захотел поставить OpenOffice 203 (бинарник, поскольку установка из портов требует 4 гига свободного места), и тут началось. Не хватает кучи пакетов. Доставляю, но! В какой-то момент - вроде после установки пакетов pkg-config и avahi (из портов) перестают работать программы оболочки gnome 2.12.3 (evolution, epiphani), входящей в начальный релиз, и сам гном тоже уже не запускается. KDE запускается, но тоже не работает как нужно.
Вывод такой, что после обновления коллекции портов необходимо обновлять все установленные программы?
P.S. Evolution из начального релиза перестал запускаться после установки из портов gaim и evolution-data-server(как зависимость).
Кратко:
Поставил FreeBSD 6.1 . Из портов не устанавливался xine . Обновил коллекцию портов. Всё замечательно. Обновился до версии 6.1 stable, правда назвалась она 6.2-PRERELEASE , но грамотные люди подсказали, что это замороженный 6.1. Всё отлично.
Захотел поставить OpenOffice 203 (бинарник, поскольку установка из портов требует 4 гига свободного места), и тут началось. Не хватает кучи пакетов. Доставляю, но! В какой-то момент - вроде после установки пакетов pkg-config и avahi (из портов) перестают работать программы оболочки gnome 2.12.3 (evolution, epiphani), входящей в начальный релиз, и сам гном тоже уже не запускается. KDE запускается, но тоже не работает как нужно.
Вывод такой, что после обновления коллекции портов необходимо обновлять все установленные программы?
P.S. Evolution из начального релиза перестал запускаться после установки из портов gaim и evolution-data-server(как зависимость).
-
polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
Re: Помогите разобраться с портами
Вывод такой, что после обновления коллекции портов необходимо обновлять все установленные программы?
все не все, но многие. откройте для себя portupgrade - он все сделает за Вас
И немедленно выпил.
-
ipse
- Сообщения: 133
- ОС: FreeBSD 6.0
Re: Помогите разобраться с портами
portupgrade -a еще посоветуй (:
Не так-то просто поднять гнома после установки GTK2...
хэндбук ниасилил...
-
unflag
- Бывший модератор
- Сообщения: 1030
- Статус: здесь могла бы быть ваша реклама
- ОС: Debian testing/Win Server 2008
Re: Помогите разобраться с портами
Вы уверены в правильности фразы? Может быть, имелось ввиду поставить дерево портов? Мне кажется, идеальная установка - это minimal+bash+lang+ports+kernel sources. Языки нужны в качестве зависимостей к куче софта. Баш - по необходимости. Можно и другой шелл
ЗЫ. С помощью команды pkg_add никакие порты не собираются, а устанавливаются прекомпилированные(заранее собранные из портов) пакеты. Собственно, это просто экономит время и приносит некоторые потери в производительности. Ничего больше. С проблемами при компиляции портов я никогда не сталкивался. Вот она и логика - это просто разные вещи. Кстати, не претендуя на достоверность, хочу сказать, что tgz - это тарболлы, пакеты. А вот tar.gz - это и есть запакованные исходники. Которые скачиваются в distfiles, но на практике их, как и тарболлы, можно класть куда угодно(только патчить и собирать придется ручками). К слову, а куда скачиваются тарболлы при pkg_add -r? Надо бы проверить distfiles.
One day! One day, who knows?
Someday! Someday I suppose!
Конференция в jabber: linuxforum@conference.jabber.ru
-
stiv
- Сообщения: 44
- ОС: FreeBSD->Gentoo->Fedora
Re: Помогите разобраться с портами
Спасибо всем. Пойду открывать для себя новое и неизведанное.
-
polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
Re: Помогите разобраться с портами
пост Maestro отправил в корзину по причине неадекватности приведенных сведений.
И немедленно выпил.
-
Maestro
- Сообщения: 227
- Статус: ипэшник
- ОС: FreeBSD-6.2 STABLE
Re: Помогите разобраться с портами
Пошел заново читать http://www.freebsd.org/doc/ru_RU.KOI8-R/bo...book/ports.html
дайте денег на обновление портов :)
-
Maestro
- Сообщения: 227
- Статус: ипэшник
- ОС: FreeBSD-6.2 STABLE
Re: Помогите разобраться с портами
Вот собственно.
Для любого конкретно взятого приложения пакет FreeBSD является одним файлом, который вы должны загрузить. Пакет содержит уже откомпилированные копии всех команд приложения, а также все конфигурационные файлы и документацию. Загруженным файлом пакета можно управлять такими командами FreeBSD, как pkg_add(1) pkg_delete(1), pkg_info(1) и так далее. Установка нового приложения может выполняться единственной командой. (так что tar.gz является все-таки пакетом и ставится при помощи pkg_add - tgz при помощи этой команды у меня не ставился - значит tgz - это порт, который скачивается\копируется в usr/ports/distfiles и после собирается при помощи make install clean!!!) ОПС!!! Я не прав - вот:
Файлы пакетов распространяются в форматах .tgz и .tbz. Вы можете найти их по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages или взять с дистрибутива FreeBSD на CD-ROM. Каждый CD из комплекта FreeBSD на 4 дисках (а также PowerPak и тому подобное) содержит пакеты в каталоге /packages. Расположение пакетов похоже на то, как организовано дерево /usr/ports. Каждая категория имеет собственный каталог, и каждый пакет помещается в каталог All.
Структура каталогов системы пакетов соответствует структуре системы портов; они взаимодействуют друг с другом для формирования единой системы пакетов/портов.
Порт FreeBSD для приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода.
Вспомните, что обычно вы должны выполнить некоторое количество шагов, если компилируете программу самостоятельно (загрузка, распаковка, изменение кода, компиляция, установка). Файлы, составляющие порт, содержат всю информацию, необходимую для того, чтобы система сделала это за вас. Вы задаёте пару простых команд, и исходный код приложения автоматически загружается, распаковывается, модифицируется, компилируется и устанавливается.
Действительно, система портов может также использоваться для генерации пакетов, которые позже могут управляться командой pkg_add и другими командами управления пакетами, о которых скоро будет рассказано.
Как пакеты, так и порты принимают во внимание зависимости. Предположим, что вы хотите установить приложение, которое зависит от некоторой установленной библиотеки. И приложение, и библиотека доступны во FreeBSD в виде портов и пакетов. Если вы используете команду pkg_add или систему портов для добавления приложений, то в обоих случаях будет обнаружено, что библиотека не была установлена, и сначала будет автоматически выполнена установка библиотеки.
Видя, что обе технологии весьма похожи, вы можете удивиться, почему во FreeBSD используются обе. И пакеты, и порты имеют свои преимущества, так что выбор используемой вами системы зависит от ваших собственных предпочтений.
ЗЫ Спасибо за разъяснения dd2k (да, имел ввиду дерево портов + минимум: pkgconfig, glib)
Для любого конкретно взятого приложения пакет FreeBSD является одним файлом, который вы должны загрузить. Пакет содержит уже откомпилированные копии всех команд приложения, а также все конфигурационные файлы и документацию. Загруженным файлом пакета можно управлять такими командами FreeBSD, как pkg_add(1) pkg_delete(1), pkg_info(1) и так далее. Установка нового приложения может выполняться единственной командой. (так что tar.gz является все-таки пакетом и ставится при помощи pkg_add - tgz при помощи этой команды у меня не ставился - значит tgz - это порт, который скачивается\копируется в usr/ports/distfiles и после собирается при помощи make install clean!!!) ОПС!!! Я не прав - вот:
Файлы пакетов распространяются в форматах .tgz и .tbz. Вы можете найти их по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages или взять с дистрибутива FreeBSD на CD-ROM. Каждый CD из комплекта FreeBSD на 4 дисках (а также PowerPak и тому подобное) содержит пакеты в каталоге /packages. Расположение пакетов похоже на то, как организовано дерево /usr/ports. Каждая категория имеет собственный каталог, и каждый пакет помещается в каталог All.
Структура каталогов системы пакетов соответствует структуре системы портов; они взаимодействуют друг с другом для формирования единой системы пакетов/портов.
Порт FreeBSD для приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода.
Вспомните, что обычно вы должны выполнить некоторое количество шагов, если компилируете программу самостоятельно (загрузка, распаковка, изменение кода, компиляция, установка). Файлы, составляющие порт, содержат всю информацию, необходимую для того, чтобы система сделала это за вас. Вы задаёте пару простых команд, и исходный код приложения автоматически загружается, распаковывается, модифицируется, компилируется и устанавливается.
Действительно, система портов может также использоваться для генерации пакетов, которые позже могут управляться командой pkg_add и другими командами управления пакетами, о которых скоро будет рассказано.
Как пакеты, так и порты принимают во внимание зависимости. Предположим, что вы хотите установить приложение, которое зависит от некоторой установленной библиотеки. И приложение, и библиотека доступны во FreeBSD в виде портов и пакетов. Если вы используете команду pkg_add или систему портов для добавления приложений, то в обоих случаях будет обнаружено, что библиотека не была установлена, и сначала будет автоматически выполнена установка библиотеки.
Видя, что обе технологии весьма похожи, вы можете удивиться, почему во FreeBSD используются обе. И пакеты, и порты имеют свои преимущества, так что выбор используемой вами системы зависит от ваших собственных предпочтений.
ЗЫ Спасибо за разъяснения dd2k (да, имел ввиду дерево портов + минимум: pkgconfig, glib)
дайте денег на обновление портов :)