LINUX.ORG.RU
ФорумTalks

Психологическая травма от пакетных менеджеров

 , , ,


0

1

Привет, ЛОР!

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

Признайся, ЛОР, как часто ты видел или даже сам писал строчки вроде: «Классная прога! Но зачем она тянет библиотеки X, Y и Z? Могли бы без них написать!»

У меня есть гипотеза, почему так произошло: из-за общей ущербности пакетных менеджеров в линуксе, особенно старого типа вроде deb или rpm, у многих линуксоедов выработалась через отрицательное подкрепление ассоциация между количеством зависимостей и СТРАДАНИЯМИ. В итоге многие линуксоеды попытались это рационализировать и теперь у нас родились кошмары типа кривого AppImage, который в нормальной системе был бы просто не нужен

Особенно это ярко видно по пользователям Gentoo, которые с одной стороны сами выбрали путь сборки всего и вся, но с другой – всё время ноют в комментах, что Rust или Firefox, дескать, долго собираются.

Как думаешь, ЛОР, близка ли моя гипотеза в правде? Или я просто кофе перепил? Подумай об этом, ЛОР, а я пока пойду девок полапаю.

★★★★★

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

А потом оно будет висеть в памяти и травма будет от оом киллера. Чем меньше блобов, тем лучше.

Lordwind ★★★★★
()

Как думаешь, ЛОР, близка ли моя гипотеза в правде?

Ящитаю, что надо закусывать.

Хотя… Зерно правды есть, в Debian пакеты какие-то каличные, по сравнению с "арчевскими".

Korchevatel ★★★★★
()

10+ лет пользуюсь гентой, на зависимости в целом пофиг, это уж точно не то из за чего я могу отказаться от проги.

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

Вооот! Вот я об этом же и говорю! Вот такие оправдания своей травме я и вижу на ЛОРе и opennet постоянно. Как будто код занимает большую часть памяти, выделенной приложению.

hateyoufeel ★★★★★
() автор топика

всё время ноют в комментах, что Rust или Firefox, дескать, долго собираются

Жирнолис не напрягает, а вот раст и вправду долго собирается. Может это психологическое, ведь браузером я пользуюсь, а раст для меня исключительно как зависимость для других пакетов.

otto ★★★
()

ты абсолютно на все 100% прав,

я объясняю это желанием держать систему под контролем.

когда появляется в зависимости васянская либа X, Y, Z, тебе приходится держать их в уме, что у тебя в системе теперь такое есть.

эту проблему решают snap, flatpack и тому подобные контейнеры, когда для того, чтобы установить firefox, ты устаналиваешь firefox и ничего кроме. захотел удалить — удаляешь всё одним пакетом.

это просто перфекционизм линуксячий, не более.

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

тебе приходится держать их в уме, что у тебя в системе теперь такое есть

Зачем? Пакетный менеджер помнит про них вместо тебя.

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

А потом оно будет висеть в памяти и травма будет от оом киллера.

Так наоборот же. shared библиотеку могут использовать несколько процессов и oom-killer не придет так сразу, как если бы каждое приложение само реализовывало функционал библиотек

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

я объясняю это желанием держать систему под контролем.

Но зачем тебе это?

hateyoufeel ★★★★★
() автор топика

Да, наверно перепил.

А так ну есть упорительство. А есть нормальная оценка.

Если вон под macOS программа иксы требует, то ну её куда, чем с этим возиться.

Или там на линуксах программа KDE потянет, и всю систему загадит — зачем оно надо.

А так по мелочи всякие расты — не жалко.

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

Или там на линуксах программа KDE потянет, и всю систему загадит — зачем оно надо.

Вот я про это и говорю. Что значит «всю систему загадит?»

hateyoufeel ★★★★★
() автор топика

из-за общей ущербности пакетных менеджеров в линуксе, особенно старого типа вроде deb или rpm

Это вообще не менеджеры, из-за зависимостей, да. Это недоразумение.

ЛОР, близка ли моя гипотеза в правде?

Да

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

Или там на линуксах программа KDE потянет, и всю систему загадит — зачем оно надо.

Я вот тут чет задумался, а в дебиане и прочих дистрах есть аналог гентушного файла world? Или как можно загадить систему зависимостями если их удалить точно так же легко как и поставить?

TDrive ★★★★★
()

Особенно это ярко видно по пользователям Gentoo, которые с одной стороны сами выбрали путь сборки всего и вся, но с другой – всё время ноют в комментах, что Rust или Firefox, дескать, долго собираются.

Не умеют в компромисс. Надо чтобы «самому» собирать и дрочить от этого факта. И при этом чтобы собиралось 5 секунд, вжух и готово.

P.S. На самом деле не самому собирать, применяя интеллект, принимая решения, а просто пинать готовый скрипт сборки, который написали умные люди вместо тебя.

Мне еще кажется школота привыкшая к играм на ПС по 100 ГБ проще к этому относится. Это больше у старожилов, вскормленых на флоппи дисководах от лишнего мегабайта случается инсульт. Ну как же, я в децццтве пускал .com файлы по 1КБ, а теперь вообще зажролись качаем по 10 МБ джаваскрипта чтобы форму заполнить. Такое же отношение и к десктопному софту

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

Или как можно загадить систему зависимостями если их удалить точно так же легко как и поставить?

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

Правда, есть sudo apt autoremove, но на моей памяти как минимум дважды оно не желало удалять никому не нужный пакет (но это было лет эдак 4-5 назад).

Korchevatel ★★★★★
()

Отличный тред. Замечательный. Давно назревала необходимость обсуждения этой проблемы.

Все именно так.

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

эту проблему решают snap, flatpack и тому подобные контейнеры, когда для того, чтобы установить firefox, ты устаналиваешь firefox и ничего кроме. захотел удалить — удаляешь всё одним пакетом.

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

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

Если в коде есть зависимость от какой-то жирнолибы, то она получит память вне зависимости от того, есть обращения к ней или нет. А ОС сама не знает оставлять эту память или в свап кидать. Или ты думаешь просто так плодятся страдальцы, которым 16 гигов не хватает на чятики. А это потолок на большинстве ноутов.

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

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

Когда был ноутбук на генте, если программа тащила что-то очень тяжёлое, отказывался, просто жаль его.

Сейчас на центоси — абсолютно плевать.

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

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

Вменяемые пакетные менеджеры/системы билдов дают возможность легко очистить систему от orphaned-пакетов, не?

x86-
()

Rust или Firefox,

ахахаха т.е. мяу. qt12345- gtk123- webkit, пять версий llvm с тремя шлангами ,

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

Вменяемые пакетные менеджеры/системы билдов дают возможность легко очистить систему от orphaned-пакетов, не?

А теперь назови их.

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

Всмысле?

Да подкалываю я, не боись. Просто злой из-за того, что под арчем JACK не фурычит толком больше: трэбует 48кГц и 1024 сэмпла, хотя раньше было вдвое больше и вдвое меньше цифры соответственно. Только что под новым "дэбианом" пробовал – работает как положено.

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

emerge -vat dev-util/idea-community

...
[ebuild  NS    ]    sys-devel/llvm-10.0.1:10::gentoo [12.0.1:12::gentoo] USE="libffi ncurses xml -debug -doc -exegesis -gold -libedit -test -xar -z3" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 (-ARC) -ARM (-AVR) -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore (-CSKY%) (-VE%)" 0 KiB
...

ты либо лукавишь, либо глупый.

зачем мне второй ллвм в генте ради одного блоба?

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

Вот я про это и говорю. Что значит «всю систему загадит?»

Ну допустим в контекстном меню файла будет десять пунктов с одинаковым названием «Kwrite». Такое на дефолтной Ubuntu видел. Ну и зачем оно? Какие-то непомуки, kMailService, ktelnetservice и прочий бред.

https://imgur.com/VqlGohX?r

Вот если лежит там boost, rust — и его не видно, и не слышно — другое дело. Не жалко.

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

Я же говорил что jack работать не будет, а мне никто не верил )))

А что там, XRUNы сыпят теперь?

Я сейчас на pipewire, джека нет, не могу проверить. У pipewire нормальный буфер, 512/96000 тянет на моей встройке. С джеком так же было всегда.

James_Holden ★★★★
()

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

Про остальное мало кто когда-либо вспоминает. Про раст в генте воют 1.5 васяна которые заводят генту на пекарне начала 2000х.

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

А что там, XRUNы сыпят теперь?

Толком не смотрел, но суть такова: жамкаю "Start" в Qjackctl – оно зависает на добрую минуту – выкидывает окно с ошибками (из содержания которых ничего не понятно, только то, что к "жоке" не может подключиться), после чего зависает уже насовсем. Причём jackdbus продолжает висеть, из-за чего звук не работает, пока не прибьёшь.

Korchevatel ★★★★★
()
Ответ на: комментарий от TDrive
     Fri May  8 17:29:00 2020 >>> sys-devel/llvm-10.0.0
       merge time: 1 hour and 32 seconds.

     Sat May  9 03:38:11 2020 >>> sys-devel/llvm-9.0.1
       merge time: 58 minutes and 8 seconds.

     Tue Jun  9 19:06:33 2020 >>> sys-devel/llvm-9.0.1
       merge time: 58 minutes.

     Tue Jun 16 11:54:11 2020 >>> sys-devel/llvm-9.0.1
       merge time: 49 minutes and 27 seconds.

     Thu Jun 18 21:12:36 2020 >>> sys-devel/llvm-9.0.1
       merge time: 7 hours, 51 minutes and 57 seconds.

     Sun Jun 21 00:10:46 2020 >>> sys-devel/llvm-9.0.1
       merge time: 1 hour, 14 minutes and 7 seconds.

     Thu Jul 23 22:13:32 2020 >>> sys-devel/llvm-10.0.1
       merge time: 1 hour, 17 minutes and 36 seconds.

     Tue Oct 13 03:25:05 2020 >>> sys-devel/llvm-11.0.0
       merge time: 44 minutes and 23 seconds.

     Fri Jan 29 17:13:50 2021 >>> sys-devel/llvm-11.0.1
       merge time: 3 hours, 59 minutes and 6 seconds.

     Thu Feb 18 15:17:30 2021 >>> sys-devel/llvm-11.1.0
       merge time: 1 hour, 1 minute and 38 seconds.

     Sat Apr 17 23:14:43 2021 >>> sys-devel/llvm-12.0.0
       merge time: 1 hour, 18 minutes and 21 seconds.

     Wed May 19 13:21:22 2021 >>> sys-devel/llvm-10.0.1
       merge time: 47 minutes and 25 seconds.

     Sat Jul 10 14:31:20 2021 >>> sys-devel/llvm-12.0.1
       merge time: 1 hour, 7 minutes and 33 seconds.

     Sun Jul 25 14:39:01 2021 >>> sys-devel/llvm-10.0.1
       merge time: 1 hour, 45 minutes.

     Sun Jul 25 16:31:54 2021 >>> sys-devel/llvm-12.0.1
       merge time: 1 hour, 52 minutes and 35 seconds.
deity ★★★★
()

Наибольший баттхерт у меня кста вызывали perl’oвские зависимости - девелоперы иногда не брезгуют добавить 20-30 созависимых пакетищей. И пусть их размер не превышает 100 кб, все равно неприятно - система постепенно превращается в мусорку. Предпочитаю не связываться с подобными пекеджами.

x86-
()

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

из-за общей ущербности пакетных менеджеров в линуксе, особенно старого типа вроде deb или rpm

Это твоя методика построения теорий через проецирование личных фобий ущербна, а классический подход к ПМ — прекрасно работал и продолжает.

Zypp/zypper радует беспроблемностью особенно.

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

есть ситуации когда нужен cpu для другого игори например, и приходится замораживать потом размораживать (или забить болт), или ставить на ночь и жжужит полночи. ну и электричество.

особенно бесит минорные парные обновы llvm 10.0.103.r-стопицот и такой же 12

deity ★★★★
()

Мужчины начинают прозревать. Правда, медленно и не все.

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

Линуксовый линкер же умеет ленивую линковку, не? При которой либа подгружается при первом обращении.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от x86-

Ты «размер» зависимостей меряешь по количеству пакетов?

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

И немножко смешно что вы в одном треде ругаете systemd за монолитность, а в другом perl за «слишком много мелких пакетов».

alpha ★★★★★
()

Классная прога! Но зачем она тянет библиотеки X, Y и Z? Могли бы без них написа

ни разу. какие то нищеброды с 10 гб бабулиными дисками поделёнными для винды в дуалбуте на двое такое пишут.

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

И немножко смешно что вы в одном треде ругаете systemd за монолитность, а в другом perl за «слишком много мелких пакетов».

Альфа кажется не знает про разницу между «монолитным софтом» и «монолитным репозитарием». Systemd ругают за то, что там всё в PID 1 засунуто что можно и нельзя, а не за библиотеки.

hateyoufeel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.