Страница 1 из 1

Статья (не моя) portsnap и portmaster - обновляемся правильн

Добавлено: 2010-03-09 14:13:07
gonzo111
Видел некороые хвалят portmaster и portmanager
как замена portupgrade думал разобратся и написать статейку или не стоит? :roll:

Вот что нарыл в инете , правда тут не слова о portmanager
смутила запись
ВНИМАНИЕ! Этот сайт закрыт и скоро навсегда исчезнет.
Если Вам понравились какие-то материалы, сохраните у себя копии.
http://www.unixcommunity.net/board/viewtopic.php?id=239
portsnap и portmaster - обновляемся правильно

В сети вы без труда найдете массу мануалов о том, как обновить софт во фряхе. Но вот беда - многие из них сегодня потеряли актуальность или вовсе несут в себе исключительно дизинформацию. Господа, порты cvsup'ом уже никто не тянет! Никто не обновляет программы заклинанием "cd /usr/ports/path/to && made deinstall && make reinstall". Ну, точнее, кое-кто, разумеется, тянет и обновляет %). Но делать так не надо.

А делать надо вот как. Для начала, весь софт по-прежнему ставится из портов. Или из пакетов. Но последние реже обновляются и оптимизированы не под ваш процессор (разве что вы не штатный админ музея . Итак, начнем с установки дерева портов.

Частая ошибка номер раз - cvsup больше не нужен. Вообще! Теперь вместо него в ядро включена утилита csup. Исключение из этого правила - если у Вас FreeBSD какой-нибудь пятой ветки и апдейт не входит в ваши планы. Консерватизм, кстати (в отличии от инертности!) - замечательно качество для айтишника.

Несмотря на то, что csup позволяет тянуть и обновлять порты, я предпочитаю пользоваться portsnap. Установка портов производится заклинанием "portsnap fetch extract", обновление - "portsnap fetch update". В отличии от csup и устаревшего cvsup, portsnap производит проверку цифровой подписи скачиваемых портов и лучше жмет трафик.

Утилита portmaster (ports-mgmt/portmaster) часто подвергается незаслуженной критике. Якобы во время обновления она постоянно задает вопросы администратору, якобы она перегружает канал и процессор и тп. Такие глупости пишут господа, не обученные думать головой и читать маны.

Как работает portmaster? Допустим, мы хотим установить текстовый редактор vim. Говорим "portmaster /usr/ports/editors/vim". Первым делом утилита сделает make config для каждого порта, от которого зависит vim. Отвечаем на несколько несложных вопросов и идем пить чай/кофе/что-покрепче. Пока мы отдыхаем, portmaster скачивает пакеты (в несколько потоков) и устанавливает их. На все вопросы по настройке портов мы уже ответили.

Один нюанс - если у вас в distfiles лежат старые версии пакетов, portmaster будет много интересоваться что с ними делать - сохранить на всякий случай или стереть? Тоже мне автоматизация! К счастью, есть ключи "-D" - не удалять пакеты и "-d" - удалять все старые пакеты. Почистить старые пакеты всегда можно командой "portmaster --clean-distfiles-all".

Для удаления ПО используйте portmaster с ключом "-e", например "portmaster -e vim-7.2.171". Программа проанализирует дерево зависимостей и спросит, что делать с портами, которые стали ненужными. Вспомнить точное название порта обычно помогает pkg_info + grep.

Самое интересное - это обновление. Для начала выясним, какие порты можно обновить - "portmaster -L > portmaster.out && less portmaster.out". Программа делит порты на 4 группы, в соответствии с тем, зависит ли порт от других портов и зависят ли установленные порты от него. Кстати, корневые (root) порты и лиственные (leaf) можно смело удалять, если они кажутся не нужными. Другой вопрос, что они могут быть нужны для сборки или установки новых портов, тогда portmaster'у в скором времени придется тянуть их снова.

Определив, какие порты следует обновить, мы говорим "portmaster -d port1 port2 ...". О ключе -d смотри выше. Следом идет список портов, которые нужно обновить (или установить, если они еще не установлены). Все просто. Больше информации о названных утилитах, Вы, как всегда, найдете на man-страницах.

Ну и напоследок - о загруженности канала и нагрузки на CPU. Господа, какое вообще это имеет значение? Обновлять-устанавливать что-то (в больших объемах) приходится не чаще, чем раз в пол года, а то и меньше. Благо, вы пользуетесь дистрибутивом, который славится своей стабильностью и безопасностью. Если же вам нравится обновляться каждые выходные, ставя под угрозу работоспособность системы, то, возможно, Вам стоит попробовать Debian.

(c) afiskon, специально для http://www.unixcommunity.net/
FreeBSD - самая дружелюбная ОС. А кто с этим не согласен - тому п**дец!
(c) afiskon

Re: Статья (не моя) portsnap и portmaster - обновляемся прав

Добавлено: 2010-03-09 15:03:49
Gamerman
Читал его раньше, вроде нормально написано. Использую портмастер.

Re: Статья (не моя) portsnap и portmaster - обновляемся прав

Добавлено: 2010-09-05 10:47:58
neurobomman
использую
portmaster -vda для обновления всех портов, которым необходимо

Re: Статья (не моя) portsnap и portmaster - обновляемся прав

Добавлено: 2012-12-11 18:06:11
DevZone
portupgrade самый удобный для обновления всего (не бинарно)

portmaster лучше только если Rubt не хотите ставить, а некоторые его юзают

Re: Статья (не моя) portsnap и portmaster - обновляемся прав

Добавлено: 2012-12-11 20:52:02
snorlov
Я и то и другое юзаю, из portupgrade в основном portversion и

Код: Выделить всё

portupgrade -afrR
для пересборки всего установленного, единичные порты обновляю через portmaster, еще иногда большую чистку через него делаю, с убитием всего софта в системе...