Порты (ports) FreeBSD
Ну-с, сегодня я наконец-то осилил установку FreeBSD :)) Ну если честно — осилил я её уже давно, но всё никак не хватало времени довести её до конца (ибо компик дохленький был:( да и нужды особо не было).
И вот после русификации консоли (чёртова KOI8-R :( ), я приступил к самому главному … к более глубокому изучению работы системы портов в FreeBSD (сразу извиняюсь за возможные неточности ибо сам новичёк, но чтоб не забыть — записываю тута).
Чем мне нравится Gentoo ? Ну да, сборка live версий из SVN — это отдельный разговор (буду учиться делать такой же финт и во фряхе ^_^). Но ещё мне очень сильно нравится тамошняя система portage (которая кстати берёт своё начало, а точнее основы, с системы портов) — всё очень удобно и логично в ней (несколько постов назад я уже рассказывал о ней). И вот решил я навести такой же порядок и в системе портов FreeBSD … и что же я вижу когда пытаюсь поставить какую-либо программу? Ну да, она качается, ставится, даже соблюдает все зависимости, но вот только делает она это всё сама и совсем без моего участия (и фиг знает сколько она пакетов собирается ставить …). В Gentoo перед установкой какой-либо проги сразу выводится список зависимостей которые надо поставить или обновить. Вот и здесь я искал подобный функционал … и нашёл!
Переходим от слов к делу:
1 | porteasy - A tool for fetching and building ports. |
Но не так она проста как кажется … и вот основные фишки:
1 2 3 4 5 6 7 8 9 | - automatically update the necessary files (and only the necessary files) using CVS (including anoncvs support) - list all of a port's dependencies, optionally hiding those that are already installed - fetch all the necessary distfiles right away, in a single batch, so you don't have to wait for one dependency to build before fetching the next one's distfile. Dialup users will love this. - build and install arbitrary ports. - build packages. |
Особенно радует пункт №2. То что нужно.
Не много о флагах программы:
1 2 3 | -e - Убрать из списка порты, которые уже установлены в системе -l - Показать выбранные порты (в данном случае они как зависимости от одного порта) -s - Показать индикатор статуса (см. ниже) рядом с каждым выбранным (см.выше) портом |
Статусы:
1 2 3 4 | `!` - Не установлено ` ` - Стоит последняя версия `<` - Стоит, но старее, чем версия в портах `>` - Стоит, но новее, чем версия в портах |
Вывод зависимостей, которые не установлены в системе, для определённой версии программы (которую мы собираемся ставить) на примере mplayer:
1 | porteasy -le mplayer-0.99.11_14 | less |
А эта команда покажет полный список зависимостей mplayer, но с пометками (статусы) рядом с некоторыми зависимостями (например которые не установлены или которые можно обновить):
1 | porteasy -ls mplayer-0.99.11_14 | less |
На этом пока что всё — по возможности буду пополнять список.
И вот ещё, пока не забыл (жосский копи-паст):
1 2 3 4 5 6 | porteasy will also assist in keeping your software up-to-date. I create a script like this: echo "Updating installed ports skeletons" porteasy -uI echo "The following ports need upgrading:" porteasy -s |grep "<" |