LINUX.ORG.RU
ФорумTalks

После секса с руби я полюбил дебиан

 , , , ,


0

1

вернее я не очень то его и не любил...но тут
потрахавшись со сборкой и запуском мастодонта, всеми этими гемами, бандлами,нпм...я заметил, как же это замечательно, когда система прямым текстом говорит тебе,каких зависимостей не хватает! Когда разработчик всё добавляет в виде пакетов системы(deb в данном случае) а не заставляет доустанавливать непонятную пое**нь непонятно откуда, которая ещё непонятно как стоит в системе, то бишь не в виде пакетов. как помню, даже вменяемых хелп опций не было на какой то из этих великих «менеджеров зависимостей» или как их правильно называть...

p.s. да, я неосилятор велосипедов с тремя колёсами.

мастадон кстати так толком и не запустился, по двум причинам
1. я не знал, как дебажить поделия на руби
2. не нашёл адекватных логов ошибок запуска.

darkenshvein ★★★★★ ()

Лет 7 назад я такое же слышал когда знакомый попытался установить redmine. Сейчас redmine ставится пакетом, без подобного геморроя. А вообще ради этого и изобрели репозитории и пакетные менеджеры.

einhander ★★★ ()

Я вот когда-то давно ставил рюбёвый багтрекер (тьфу ты, название забыл). Радостно накатил всё из репы а потом оказалось что нужно распоследние руби, распоследние джемсы и короче пришлось все накатывать руками.

ya-betmen ★★★★★ ()

Приложения на руби ставятся очень просто, если погромист озаботился написать нормальный Gemfile. Единственная проблема может быть с системными зависимостями (например, Nokogiri может хотеть libxml), но тут тоже несложно догадаться, что нужно доустановить. Но да, всегда можно поставить некоторые гемы через ПМ твоего дистрибутива.

которая ещё непонятно как стоит в системе

4.2 — В режиме «deployment» Bundler устанавливает зависимости приложения в ${APP_DIR}/vendor/bundle. Главное — слушай маму предупреждения и не пускай его под рутом.

как помню, даже вменяемых хелп опций не было на какой то из этих великих «менеджеров зависимостей»

А что за траблы были-то?

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

Да, ситуация, когда нужная тебе программа и все её зависимости заботливо опакечены в твоём дистрибутиве (и при этом нужных версий) — это, конечно, замечательно. Я бы даже сказал, утопично. В большинстве случаев это не так.

Отсюда и берутся все языкоспецифичные ПМ, как half-assed попытки сообществ языков (каждого по отдельности) огородиться от всего остального мира и устроить свою собственную дружбомагию без злых мейнтейнеров. Ни к чему хорошему это, разумеется, не приводит (см. факапы с троянами в npm).

Собственно, человечество пока что не смогло придумать полного решения этой проблемы. В молодёжном продакшене обкостыливают докером, а ближе всех к решению подобрался Nix. Но он пытается решить только часть про «нужных версий» (и делает это слегка аутично, хотя кому-то нравится), а с тем, что миллионы лефтпадов по-прежнему кто-то должен вручную опакечивать — так ничего и не случилось.

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

Зависит от App-сервера, который там используется (если используется вообще). Часто App-сервер пишет свой лог в ${APP_DIR}/log/*. Если запускаешь приложение руками, то может выдавать лог в stdout/stderr.

Сам ещё не пробовал ставить Mastodon, но теперь даже интересно стало.

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

Кстати, в тред приглашается @t184256 как наиболее адекватный из известных мне на ЛОРе сторонников Nix. Как Nix собирается это решать?

И более философский вопрос: а как вообще можно это решить? Когда мейнтейнеры есть — плохо, потому что на миллионы лефтпадов никаких мейнтейнеров не хватит. Когда мейнтейнеров нет — тоже плохо, потому что maintainer review (звучит как judicial review) и трояны в npm. А что делать?

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от spijet

спасибо за ликбез, в будущем учту

А что за траблы были-то?

да пофиг уже, всё настроение испорчено (давно.было)

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

А что делать?

написать грамотный инструмент для опакечивания, которым Легко смогут пользоваться программисты?

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

Ты не понял вопроса, заданного в этом комментарии.

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

Сам ещё не пробовал ставить Mastodon, но теперь даже интересно стало.

надо учитывать то, что я принципиально пытался запустить «самособранный» а не использовать готовую сборку для докера/снапа хз забыл что там было.

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

Ну естественно. Ставить из докера — неинтересно. :)

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

это ты только половину пути прошёл.
дальше осознание того, что не те гемы нужны, что libssl не той системы, и желание пройти ногами по лицу тому, кто не оставил документации по костылям, которые очень легко в редмайн втыкаются.
логи ошибок в unicorn/webrick'е или чем там твой экземпляр обслуживается.

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

А что делать?

Надо что-нибудь запретить.

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

В молодёжном продакшене обкостыливают докером

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

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

Отчасти.

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

Смузимолодёжь уже и до серьёзного продакшена добралась! :)

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

Кстати, в тред приглашается @t184256 как наиболее адекватный из известных мне на ЛОРе сторонников Nix.

Спасибо, польщен.

Как Nix собирается это решать?

Смотря что.

Зоопарк ПМ? Ein Volk, Ein Reich, Ein Nix.

«Half-assed попытки сообществ языков (каждого по отдельности) огородиться от всего остального мира и устроить свою собственную дружбомагию» просто не работают. Да и все равно они были обречены на провал, потому что зависимости не делятся на непересекающиеся подграфы, а интеропа между недоПМ нет и не будет.

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

а с тем, что миллионы лефтпадов по-прежнему кто-то должен вручную опакечивать — так ничего и не случилось

Вот тут твои знания немного устарели. Haskell, как самый любимый Nix’ерами язык, этот путь уже прошел и весь Hackage опакечен в NixOS автоматизированно. NixOS тогда еще внезапно вырвался на первое место по числу пакетов в repology к недоумению всех заинтересованных и мимокрокодилов.

Для других языков автоопакечиватели разной степени сырости тоже есть, и принципиальных проблем, по которым нельзя было бы повторить то же самое мне не известно. Что верно, в общем, и для других дистров.

И более философский вопрос: а как вообще можно это решить? Когда мейнтейнеры есть — плохо, потому что на миллионы лефтпадов никаких мейнтейнеров не хватит. Когда мейнтейнеров нет — тоже плохо, потому что maintainer review (звучит как judicial review) и трояны в npm. А что делать?

Ну не знаю. Не брать фигню в npm/pypi/… — не вариант. Не зависеть от фигни? Тогда придется прибивать версии целиком, а это породит новые проблемы.

Все вопросы покрыл или что-то пропустил?

Резюмируя, я бы даже, рискуя навлечь гнев других фанатов Nix, сказал, что Nix в вопросах просто опакечивания зависимостей для запуска опакеченного и поддерживаемого софта не произвел ничего такого офигенного, что не смог бы повторить произвольный Debian. Вот где он реально выделился, так это в вопросе создания песочниц с нужными версиями всего. Там, где мир достает попсовый докер и писается от него кипятком, пользователь Nix просто не увидит тех проблем, ради которых пришлось костылить аж целый докер.

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

Легко. Надо всего лишь оставить один дистр.

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

Это ни к чему. Надо всего лишь привязывать зависимости к файлам, а не пакетам.

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

Я не вижу всей гениальности этой революционной мысли или это просто тупняк?

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

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

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

Нет. Просто тупняк, а жаль. Это как рассуждать «все программы состоят из алгоритмов, которые условно разбиваются на функции. для того решить проблему с зависимостями, достаточно зависеть не от модулей, а от конкретных функций». Нет, блин, это только спустит ту же проблему ниже и усугубит ее на порядки, сделав ее де-факто нерешаемой.

Дистрибутивы используют очень разное множество файлов. Пакеты между дистрами отличаются не только гранулярностью разбиения. Да и вообще, почитай, из чего состоит .deb или .rpm -пакет, и ты обнаружишь, что вообще-то не только из файлов, требуемых на этапе выполнения =)

А если бы все было так, как ты говоришь, баги были бы общими, проявлялись бы во всех дистрах синхронно, в Debian можно было бы запустить Unity, в инсталляциях Fedora и Arch Linux совпадало бы хоть сколько-нибудь значительная доля бинарных файлов, а проблемы распространения проприетарщины просто не было бы.

И кто-то умный бы сто раз заметил, что некоторые файлы собираются в tightly coupled группки, которым не только позарез надо быть одной версии, они еще и в подавляющем большинстве случаев собираются из одного и того же тарболла! К гадалке не ходи, он бы назвал это либо пакетом, либо модулем, третьего не дано. Мир, порядком уставший от денного и нощного нарушения инкапсуляции ради прописывания меж-файловых зависимостей, вздохнул бы спокойно, отоспался, и, благодаря высвободившимся времени и ресурсам, смог бы наконец запилить альтернативный дистрибутив. Да что один, даже несколько!

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

Ну да, там ещё патчи да дистрибутивоспецифические костыли. Поэтому приходим к моей идее - надо переделать FHS))

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

Неосиляторы Docker должны страдать.

это Docker там на латыни переводится как «я не осилил DevOps системное администрирование » ?

darkenshvein ★★★★★ ()

Лет 10 назад у меня с Рубином был примерно такой же опыт. :)

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

Человечество давно решило эту проблему, как и множество проблем подобного рода. Решению неизвестно точно сколько лет, но называет оно Собор. И не тот собор, когда христиане захапали не свои здания, водрузив туда свои кресты, а собор как место, где люди собираются и решают общие задачи и проблемы.

Если конкретно о проблеме, то это значит, все без исключения разработчики операционных систем должны собраться и решить общие проблемы единообразным образом. Это достаточно легко технически, просто появится единый формат пакетов, который будет поддерживать даже тостер. Но этого не будет до тех пор, пока люди будут продолжать думать, что у них есть свобода мнений.

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

Как минимум, по-редхатовски это «big fat daemon». А в остальном оно просто работает.

commagray ★★★★★ ()

Полюбить после секса. В 50-е тебе бы очень позавидовали, потому что тогда секс был только после свадьбы

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

Если конкретно о проблеме, то это значит, все без исключения разработчики операционных систем должны собраться и решить общие проблемы единообразным образом. Это достаточно легко технически, просто появится единый формат пакетов

Ахахахахахахахаха.

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

за декларативный стиль вешать надо

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

Да о чём ты? Будто собрать пакет — рокетсайнс. Что может быть проще заполнения контрол/спек-файла и написания короткого скрипта, который подготовит тебе fhs?

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

Страшно подумать, сколько же тебе лет, раз ты 50-ые помнишь....

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

Всё это общеизвестно, про длинные юбки, высокую нравственность, отсутствие надёжных способов контрацепции, и так далее.

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

дак это решено, но после каждого собора приходят новые кодеры и опять кричат «эта плахой вариант уминя лудше!!»

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

Это всё слова. А в доказательства секса, низкой нравственности выступают все те мудкаи и не только мудаки, что нарожались с тех пор.

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

Так не в том же дело, их поделия просто не нужны и их не включают в дистрибутивы.

WitcherGeralt ★★ ()

После секса с руби я полюбил дебиан

С ней всё было настолько плохо что ты решил из гетеро переметнуться в противоположный лагерь?

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

Я всё ещё не понимаю, почему ты считаешь это смузимолодежью, но если ты отчасти троллишь, то я с тобой отчасти соглашусь)

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

«я не осилил DevOps системное администрирование » ?

Когда тебе нужно библиотеку такой-то версии ...

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

во что бы то ни стало!
ты качаешь любой троян, варёз, обмазываешься кигенами.
а не, простите, перепутал с установкой последней фотошопа.

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

Ниже правильно про зависимости написали. А ещё докер как сам по себе,так и системы оркестрации поверх, решают проблемы масштабирования, отказоустойчивости, упрощают доставку артефактов.
При чем тут смузи?

bytecode ★★ ()

Не всем нужны зависимости пакетов.

saahriktu ★★★★★ ()

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

Valeg ★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)