LINUX.ORG.RU

А что там с pkg в FreeBSD?

 , ,


2

3

По следам Для тех, кто думает перейти на Gentoo (комментарий) , не желая разводить оффтоп.

iZEN

А как поживает pkg (pkg-ng?) во FreeBSD? Как-то давно я следил за его судьбой, от активно развивался и привносил правильные вещи и функциональность. Я по наивности думал, что это будет единой основной пакетной системой, на которую перейдет FreeBSD.

Хоть мой опыт со фрёй мал, но когда я имел дело с портами, это было не слишком удобно для меня (так же как и с генту). Мне хотелось завести систему с дефолтом как можно быстрее, и копаться уже в конкретных конфигах приложений, которые мне интересны. И перекомпиляция на дешевом компе была медленной. Потом был опыт слаки, дебиана и федоры - и я понял, что мне локальная пересборка всех пакетов ненужна.

Так вот, pkg то почему до сих пор не заменил портов?

Можно ли не использовать порты совсем, используя pkg, если хочетя именно так?

Ответ: можно.

Вообще, я делаю выводы, freebsd очень любопытна, и сильно развилась! Тема управления пакетами в ней достойна более пристального моего внимания

Deleted

Ответ на: комментарий от kravzo

Мне кажется это логичным. Зачем вообще было делать pkg в другом случае? Приходит новая технология и заменяет старую. Добавление сущности рядом с аналогичной уже существующей усложняет систему и уменьшает её надежность и прозрачность.

Deleted ()
Ответ на: комментарий от Deleted

Добавление сущности рядом с аналогичной

Дык эта, они когда аналогичными-то стали? Лично я и то и то пользую, ибо далеко не всегда точка зрения сборщика пакета совпадает с моими потребностями, а при сборке из порта я могу конфигурировать его на лету, тупо выставляя галочки.

kravzo ★★ ()
Ответ на: комментарий от kravzo

Ок, я сбавлю градус «ненужности», что бы не скатиться, мне это не интересно.

Лично я и то и то пользую,

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

А во фре можно иметь систему, основанную полностью на бинаных пакетах? А затем, использовать отдельные порты, когда необходимо, для сборки из исходников конкретных приложений

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)

Зочем??? Это же очень удобно, что собирать под себя не нужно ставишь через pkg, а что нужно через порты. Для меня как «пользователя» это одна из самых крутых вещей в FreeBSD.

linuhs_user ()
Последнее исправление: linuhs_user (всего исправлений: 1)
Ответ на: комментарий от Deleted

А во фре можно иметь систему, основанную полностью на бинаных пакетах?

Ну тут нужно понять, что ты понимаешь под системой. Типа поставить DE, браузер и всякое такое из пакетов? Можно, почему нет.

kravzo ★★ ()
Ответ на: комментарий от kravzo

Понятно, спасибо.

А насколько просто на десктопной системе из пакетов, как упомянуто выше, заюзать собранный из портов, например, emacs с кастомными патчами, или chromium?

Deleted ()

игрался прошлой осенью с фрёй в гипер-в, да вот же... не прочитал инструкцию, что там графон не поддерживается. ну да ладно.

попробуй не устанавливать «ports.tgz» или как оно там сейчас, а обходись исключительно pkg, будет тебе бинарный дистр.

А в чём проблема использовать оба подхода?
/usr/ports у тебя отдельно, а после установки make install порт видится как пакет, вроде бы, уже не помню.

Deleted ()
Ответ на: комментарий от linuhs_user

:)

гипотетическая ситуация. Из пакетов поставлено и настроено gtk-only окружение, хотя бы без kde софта и его либ. И я мечтаю пропатчить okular для поддержки кирилицы в заметках на полях. Когда я соберу окуляр из портов и поставлю его, kde-libs прилетят откуда? Из портов или из пакетов?

Deleted ()
Ответ на: комментарий от linuhs_user

Мне очень не хочется этот юзкейз воспроизводить - это отнимет кучу времени. Поэтому я еще немного помучаю :)

Как я понимаю, каким-то специльным образом порты и pkg не связаны (по базе, по конфигам каким-нибудь, по rpc). Когда я начну собирать порт okular, он соберет все зависимые порты в том числе и kdelibs.

А если в системе стоят pkg-пакеты kdelibs (и kdelibs-devel если такой пакет бывает), порт okular не будет использовать их при сборке или будет?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от linuhs_user

Ага!

Значит при сборке порта okular может использоваться установленный дефолтный бинарный пакет с kdelibs (я полагаю что он есть в официальном репе, иначе вопрос некорректный) как зависимость?

Deleted ()
Ответ на: комментарий от linuhs_user

Ну шикарно. Изначально я думал, что порты - это параллельное независимое (от пакетов pkg) дерево зависимостей; что намного примитивней и хуже, и не интересно

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

параллельное независимое (от пакетов pkg) дерево зависимостей

Я не в силах представить, как подобное работало бы :)

Вообще, в плане разруливания пакетов, из всего что я щупал, фря — самая няшк.

kravzo ★★ ()
Ответ на: комментарий от Deleted

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

Мне вот любопытно, а чего тебе фря припекла, к какому юз-кейсу?
Я вот тут размышляю что на сегодня это или специфический роутер или хранилище с ЗФС, на большее и дальшее фантазии не хватает.

Deleted ()
Ответ на: комментарий от kravzo

Я не в силах представить, как подобное работало бы

Ставим на федору в укромный уголок emerge гентушный, делаем несколько костылей для совсем базовых вещей, вроде ядра и glibc - и получаем rpm дерево, и emerge дерево :)

Deleted ()
Ответ на: комментарий от Deleted

Скорее всего можно, как и в генту, если библиотека собрана с нужными опциями и не требуется включать новые, то пересобрать бинарник не нужно.

Я даже почему-то уверен, что во фре бинарные пакеты содержат информацию, с какими опциями они собраны и эта информация записывается в базу пакетов, иначе требуемые зависимости не отследить.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от Deleted

Можно сразу взять sabayon и поставить пару пакетов через emerge, у которого своя база, а у equo для бинарников своя.

Там, емнтп, есть какие-то способы сделать их сосуществование менее болезненным для себя, но, похоже, увлекаться этим не стоит.

Вот: https://wiki.sabayon.org/index.php?title=HOWTO:_Safely_mix_Entropy_and_Portage

Но всё равно не рекомендуют так делать, есть встроенные средства сборки из исходников.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Deleted

Мне вот любопытно, а чего тебе фря припекла, к какому юз-кейсу?

У меня нет юзкейза для фри. К сожалению, или к счастью. Поэтому чистый эксперимент и фан времен 11 класса, когда столкнулся с не-dos системой

Может попробую в виртуалке свеженький релиз, соберу парочку проектов в ней.

pkg (ng который) меня интересовал, как хорошо проработаный пакетный менеджер, приятно было почитать в свое время, но глубоко я не копал. Тогда я болел за внедрение pkg и переход на git портов :)

У меня линукс в тепличных условиях (на thinkpad T) работает на грани необходмой поддержки железа. Я боюсь в этом смысле разочароваться, пытаясь натянуть фрю на ноут. Поэтому десктоп пока менять не готов.

Продакшеном я не занимаюсь. А личные сервера под тем, к чему привык, что бы минимум времени этому посвящать.

Так что просматривается юзкейз только в виде использования дополнительной платформы для кросссборки и тестирования, может в CI добавится когда-нибудь.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)

it's quite possible

Недавно поменял на работе ПК с CentOS 6.9 (Gnome 2) на FreeBSD 11.1(Gnome 3). Пока не приходилось собирать пакеты из портов. Я установил почти все теже программы что были в предыдущей системе. Кое-что работает с ошибками, и возможно, следовало бы прибегнуть к портам, но я решил не заморачиваться пока и сделал PR.

axle_nix ()
Ответ на: комментарий от Deleted

А во фре можно иметь систему, основанную полностью на бинаных пакетах? Если хочется дефолт

Да, если соберёшь свой репозиторий. В официальных репозиториях может не быть некоторых бинарных пакетов (nvidia-driver, например) по лицензионным ограничениям (требуется согласие конечного пользователя или ещё что-то там), а в твоём репозитории он будет!

iZEN ★★★★★ ()
Ответ на: комментарий от Deleted

Да можно можно. По сути, pkg install работает как и обычные линуксовые пакетные менеджеры. Сейчас вот накатил в виртуалку. Портами незаслуженно пугают с первых строк статей об freebsd. Ничего не надо компилять, просто запускаешь и работаешь, ставишь нужные программы через pkg. Вся настройка в /etc/rc.local, красота.

Deleted ()

Можно ли не использовать порты совсем, используя pkg, если хочетя именно так?

Нет. Есть приложения, распространяющиеся исключительно в виде исходного кода.

IPR ★★★★★ ()
Ответ на: комментарий от Deleted

Мне кажется это логичным. Зачем вообще было делать pkg в другом случае? Приходит новая технология и заменяет старую. Добавление сущности рядом с аналогичной уже существующей усложняет систему и уменьшает её надежность и прозрачность.

Нет. Порты - средство сборки окружения «под себя», со своими зависимостями, флагами оптимизации etc. pkg-ng - быстро и дефолтно. Я использую pkg только для delete и autoremove.

IPR ★★★★★ ()
Ответ на: комментарий от kravzo

Возможно, имелось в виду разное ноутбучное железо etc. Насколько я помню, с этим действительно было не очень. Хотя оно и в линуксах...

На штук пяти ноутбуках и нетбуках ФрееБЗД чувствовала себя прекрасно. Не завелась только одна специфичная PCMCIA-wifi карта, но она и в Линуксе не работает вроде.

IPR ★★★★★ ()
Ответ на: комментарий от Deleted

А насколько просто на десктопной системе из пакетов, как упомянуто выше, заюзать собранный из портов, например, emacs

Еmакс не знаю, но года 3 использовал собственной сборки qt4 (доп. шрифтоатч), как впрочем и целую вечность freetype, до сих пор - ФФ.
Если что: пакеты собираются из портов. make install package clean - установит порт и создаст бинарный пакет в /usr/ports/packages. make package clean - просто соберет пакет.
pkg repo /usr/ports/packages создаст полноценную репу, из которой можно будет так же обновлять софт локально/через сеть. Можно с подписями и прочими секретаршами.

 pkg stats
Local package database:
	Installed packages: 1453
	Disk space occupied: 10 GiB

Remote package database(s):
	Number of repositories: 2
	Packages available: 29408
	Unique packages: 29408
	Total size of packages: 73 GiB
 pkg rquery -r local %o|wc -l        
      56
т.е. из почти полутора тысяч пакетов только полсотни установленно из реп.

anonymous ()