[freebsd] ports management

Владимир Друзенко vvd at unislabs.com
Tue Jan 9 00:37:36 EET 2018


Не прошло и месяца!

08.01.2018 22:12, Anton Sayetsky пишет:
> 10 декабря 2017 г., 17:45 пользователь Владимир Друзенко
> <vvd at unislabs.com> написал:
>> 09.12.2017 22:48, Anton Sayetsky пишет:
>>> 9 декабря 2017 г., 16:43 пользователь Владимир Друзенко
>>> <vvd at unislabs.com> написал:
>>>> 09.12.2017 17:38, Anton Sayetsky пишет:
>>>>
>>>> 9 дек. 2017 г. 16:29 пользователь "George L. Yermulnik" <yz at yz.kiev.ua>
>>>> написал:
>>>>
>>>> Hello!
>>>>
>>>> On Sat, 09 Dec 2017 at 16:26:53 (+0200), Anton Sayetsky wrote:
>>>>
>>>>> Я бы просто поставил ports-mgmt/poudriere и забыл об этих проблемах.
>>>> Во-первых, топик стартер, судя по всему, вообще не часто порты
>>>> обновляет. А во-вторых, если один сервер или один десктоп, то лично я не
>>>> вижу смысла городить пудру.
>>>>
>>>> Отвечу с конца: ну, я уже говорил тебе в частной переписке, почему я за
>>>> poudriere, даже если это для локалхоста. Кроме того, не могу согласиться,
>>>> что тут применим глагол "городить", так как это довольно простая штука -
>>>> всего лишь десяток шелл-скриптов по сути. Там, кстати, фича-реквест висел
>>>> по
>>>> поводу использования хост-системы в качестве источника для jail.
>>>> А по поводу нечастого обновления - так оно эту проблему и решает,
>>>> тащемта.
>>>> Указал себе список нужных пакетов - они и соберутся в чистой,
>>>> изолированной
>>>> системе, так что во время сборки проблемы удалённых/перемещённых портов
>>>> исключаются. А в итоге у тебя репа, и pkg upgrade в подавляющем
>>>> большинстве
>>>> случаев вышеописанную ситуацию тоже обрабатывает автоматически (привет,
>>>> Perl
>>>> 5.xx -> 5.xx+1).
>>>>
>>>>
>>>> Место под jail,
>>> Аж целых полтора гига
>> На виртуалке.
> Arubacloud даёт 20 ГиБ за 1 ойро в месяц.
При чём тут хостеры? Данные в облаке - не твои данные. Предлагаю не 
развивать эту тему.
Свои сервера - ресурсов лишних никогда не бывает.

> Ладно, допустим, что у тебя
> виртуалка с 8 ГиБ диска (меньше не видел) -  на такой виртуалке вряд
> ли вообще имеет смысл что-то собирать, не так ли?
У меня для всех виртуалок с FreeBSD под систему выделено по 8Gb: / 1Gb, 
/var 1Gb, /tmp 1Gb, /usr 5Gb. Swap отдельно.
Если софту надо больше - отдельный виртуальный диск в какой-нибудь /opt.
Какую-то мелочь пересобрать проще прямо на этой же виртуалке, не так ли?

>>>    без учёта сжатия!
>> На UFS.
> geom_uzip. Костыльно слегка, но можно ведь!
Поменяем диск на CPU - я же уже писал, что основной смысл сборки только 
нужных портов - это экономия CPU.

>>>> регулярная его актуализация,
>>> Только при смене major release.
>> И даже патчи (pN) ставить не надо.
> Да, не нужно. Зачем (jail пороховницы, который ничего не делает, кроме
> компиляния)?
Случаи статической сборки с каким-нибудь openssl из базовой системы в 
расчёт не берём? Чего не знаю, того не существует?

>>>> пересборка
>>> Логично, что для страховки зависящие пакеты удаляются при обновлении
>>> версии того, от чего зависят. Зато нет link error: undefined symbol,
>>> даже если глупый maintainer забыл бампнуть PORTREVISION.
>> Хотели сэкономить на ресурсах CPU пересборкой только конкретных портов, а
>> кто-то вдруг посчитал себя умнее нас и заставляет каждый раз пересобирать
>> всё. Очень рационально.
>> Ещё хин: pkg info -r <PORT> и пересборка всех зависимых.
> Не "всё", а только то, что является прямой зависимостью.
Как в анекдоте:
> На лекции по астрономии преподаватель говорит о том, что Солнце по 
> расчетам будет светить еще 5 миллиардов лет. Один из студентов, 
> проснувшись, переспрашивает: «Когда Солнце погаснет?». Преподаватель 
> повторяет: «Через 5 млрд. лет». Студент облегченно: «Слава Богу… я то 
> подумал через 5 миллионов лет».
Если намёк не понятен, то поясню: даже все прямые зависимости - это 
слишком много, чтобы пересобирать их все каждый раз.

>>>> или как минимум переустановка
>>> Конечно - таким образом гарантируется чистое окружение.
>> А потом появляются порты, которые собираются исключительно в лабораторных
>> условиях и только с опциями по умолчанию. Нет уж, спасибо, маинтейнер обязан
>> обеспечить сборку своего порта в живой системе с любым допустимым набором
>> опций и любым допустимым набором установленных портов. Вот где действительно
>> обленились, а не забывшие сделать бамп.
> В Porter's Handbook есть что-то о сборке портов на "нечистой" системе?
> Так ли _обязан_? А я вот имею информацию, что обязан - чтобы portlint
> не матерился и чтобы в пороховнице собиралось.
Есть такое понятие как «сделать хорошо», а есть «сделать по формальным 
требованиям». Дальше продолжать?

>>>> сотни портов только для того, чтобы обновить один единственный
>>>> порт. Очень рациональное использование ресурсов! :-(
>>> TMPFS и ccache включаются одной строчкой в конфиге.
>>
>> На виртуалке с гигом памяти.
> на такой виртуалке вряд ли вообще имеет смысл что-то собирать, не так ли? [x2]
А теперь разрыв шаблона: даже LO, FF, KDE4, openjdk8 и т.д. 
пересобираются без проблем с гигом памяти. Кто-то не в теме, не так ли? [x2]


P.S. Позволил себе такой резкий стиль только в качества ответа на такой 
же. Предпочитаю не продолжать вообще дискуссию, чем делать это в таком 
же стиле дальше.



More information about the freebsd mailing list