Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Линуха, среда разработки (https://javascript.ru/forum/offtopic/85442-linukha-sreda-razrabotki.html)

Белый шум 24.08.2023 21:56

Rise,
Вот чисто теоретически - за счёт чего одна и та же программа может весить по-разному на разных системах? Если все библиотеки одни и те же на всех системах, то и код генерится плюс-минус одинаково (для одной и той же архитектуры). Откуда возьмётся разница в два гига?...

Flatpak - это что-то вроде системы в системе. Поэтому да - он тащит все зависимости по новой и при начальном его использовании может показаться что программа многовато весит. Всё-таки почти целую систему скачать нужно.
Но flatpak - это костыль и нужен только когда тебе реально нужны наисвежайшие версии какой-то программы и системные тебе не подходят.

GIMP: - редко пользуюсь, системная версия устраивает (2.10.22 от 2020-го года; но это просто у меня дистрибутив такой тормозной, новые релизы выходят с задержкой).
Telegram: - качается бинарник с офсайта и далее сам обновляется (вроде в настройках надо включить автообновление).
Функционал программ: - от задач зависит. Если для твоих задач нет удовлетворительной программы, тогда да - линукс тебе не подходит.
Остальное: - вкусовщина.

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

P.S.: Вообще-то существуют rolling release дистрибутивы, но я их не пробовал.

P.P.S.: вот ещё пример нашёл: https://github.com/flameshot-org/fla...es/tag/v12.1.0
У меня в системе стоит старая версия - 0.9.0, но могу поставить свежую для моей системы:
flameshot-12.1.0-1.debian-11.arm64.deb (590 KB)
При этом виндовая версия там же весит 40 Мб... (ибо тащит с собой все зависимости, тогда как в deb пакете просто прописаны те же зависимости, что были в старой версии).

Rise 25.08.2023 16:42

Цитата:

Сообщение от Белый шум
Но flatpak - это костыль

Но этот костыль довольно сильно продвигают, например, последний Linux Mint уже его в рекомендованные добавил https://habr.com/ru/companies/selectel/articles/748920/, картинка оттуда кстати:



Конечно можно не использовать flatpak, но не факт что так будет всегда, тенденция же есть. Разработчики приложений тоже не роботы и могут перейти на flatpak only, ведь для них по идее это удобней, чем под каждый дистрибутив собирать отдельный пакет, когда можно компилировать один общий. И куда вы денетесь, когда браузеры (или другие ключевые приложения) все перейдут на flatpak...

Кстати, оказывается flatpak при обновлении еще и всё по новой перекачивает :blink: https://forums.linuxmint.com/viewtopic.php?t=393179

Вместо того чтобы как-то унифицировать все дистрибутивы (как в Windows, типа Microsoft Visual C++ Redistributable, Microsoft .NET Framework и тп), в Linux придумали Flatpak, когда все дистрибутивы засовываются в каждую программу. До такого идиотизма даже в Windows не додумались, это как если бы инсталлятор содержал в себе помимо самого приложения еще windows 7, 8, 10, 11 в комплекте. :D

Как я понимаю это вообще противоречит философии Linux, непонятно только нафига они вообще на это пошли... не удивлюсь, если там торчат уши Microsoft и их огромные донаты.

Цитата:

Сообщение от Белый шум
Вообще-то существуют rolling release дистрибутивы

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

Цитата:

Сообщение от Белый шум
линукс заточен на стабильность

Вот поэтому стабильности в Linux я не вижу, а в Windows она есть, приложения 20-летней давности на последней Windows прекрасно работают. Это и называется стабильность, а обновлять систему и программы вас никто не заставляет, это легко всё отключается, некоторые до сих пор на Windows 7 сидят, а отдельные индивиды и на XP. А условный Firefox ESR (Extended Support Release) можно и на Windows установить https://www.mozilla.org/ru/firefox/a...ct-desktop-esr, я надеюсь вы в курсе что ESR и LTS программы это не только для Linux.

Белый шум 25.08.2023 19:25

Цитата:

Сообщение от Rise
Но этот костыль довольно сильно продвигают, например, последний Linux Mint уже его в рекомендованные добавил https://habr.com/ru/companies/selectel/articles/748920/

Так и в чём проблема? Если у тебя уже установлен flatpak, то очень удобно что менеджер приложений ищёт программы ещё и в этом репозитории. Удали у себя flatpak если он тебя не устраивает - и не будут предлагаться пакеты оттуда.

Цитата:

Сообщение от Rise
Конечно можно не использовать flatpak, но не факт что так будет всегда, тенденция же есть. Разработчики приложений тоже не роботы и могут перейти на flatpak only, ведь для них по идее это удобней, чем под каждый дистрибутив собирать отдельный пакет, когда можно компилировать один общий. И куда вы денетесь, когда браузеры (или другие ключевые приложения) все перейдут на flatpak...

Ты всё не так понял - исходники никто не отбирает. Пакеты под дистрибутивы как собирались мейнтейнерами дистрибутивов, так и продолжат собираться.
А вот разработчикам приложений - да, сложно собирать свою программу под каждый дистрибутив. И вот тут у них есть выбор: а) ничего не собирать, только исходники выложить; б) собрать статически, как и под винду (firefox так и делает); в) собрать под flatpak.

Цитата:

Сообщение от Rise
Кстати, оказывается flatpak при обновлении еще и всё по новой перекачивает https://forums.linuxmint.com/viewtopic.php?t=393179

А что ты хочешь от rolling release? Хочешь новую версию - обновляй, не хочешь - не обновляй:
Код:

$  flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

...

        ID                                          Ветка          Оп    Удалённый репозиторий      Загрузка
 1.    org.freedesktop.Platform.GL.default        22.08          u    flathub                    < 143,1 МБ
 2.    org.freedesktop.Platform.GL.default        22.08-extra    u    flathub                    < 143,1 МБ
 3.    org.gnome.Platform.Locale                  43              u    flathub                    < 340,6 МБ
 4.    org.gnome.Platform                          43              u    flathub                    < 329,3 МБ
 5.    org.gimp.GIMP                              stable          i    flathub                    < 127,3 МБ

Перейти к системой установке с этими изменениями? [Y/n]: n

И вроде бы да - нужно скачать гиг против 300 метров екзешника под винду. Вот только 1-4 это системные библиотеки, которые можно зафиксировать в текущей версии:
Код:

$  flatpak mask org.freedesktop.Platform.GL.default
$  flatpak mask org.gnome.Platform.Locale
$  flatpak mask org.gnome.Platform

И вот мы уже получаем 127 метров против всё тех же трёхсот под виндой...
Код:

$  flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

...

        ID                      Ветка        Оп          Удалённый репозиторий  Загрузка
 1.    org.gimp.GIMP          stable      i          flathub                < 127,3 МБ

Перейти к системой установке с этими изменениями? [Y/n]: n

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

Цитата:

Сообщение от Rise
Вместо того чтобы как-то унифицировать все дистрибутивы (как в Windows, типа Microsoft Visual C++ Redistributable, Microsoft .NET Framework и тп), в Linux придумали Flatpak, когда все дистрибутивы засовываются в каждую программу. До такого идиотизма даже в Windows не додумались, это как если бы инсталлятор содержал в себе помимо самого приложения еще windows 7, 8, 10, 11 в комплекте.

Опять всё переврал. Это для винды приходится в каждую программу все библиотеки пихать, и иметь в результате и на диске и в оперативной памяти по 100500 копий одних и тех же библиотек. А если в одной из этих библиотек обнаружили уязвимость, то нужно собственноручно скачать и установить новые версии всех программ, в которые она включена (и ведь ещё попробуй выясни - в каких из программ эта библиотека используется). Просто нет другого способа распространить свою программу под винду. При чём здесь унификация вообще? Хочешь так же в линуксе - без проблем, вон firefox так и распространяет свои бинарники под линукс.

Цитата:

Сообщение от Rise
Как я понимаю это вообще противоречит философии Linux, непонятно только нафига они вообще на это пошли...

Да вроде философия та же самая, просто это, грубо говоря, rolling-based дистрибутив внутри stable-based дистрибутива. В этом смысле да - костыль. А сам по себе он вроде такой же: пакетный менеджер, зависимости - всё как у людей.

Цитата:

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

Драйвера в линуксе - часть ядра и обновляются вместе с ним. Если у тебя не какое-то специфичное железо с проприетарным драйвером, то работать оно будет пока сама железка не сдохнет. Это, кстати, тоже про стабильность. На винде обычная ситуация: обновил винду - прощайся со сканером. (Но справедливости ради - найти новый сканер с нормальной поддержкой под линуск тоже не просто. Зато если нашёл - то работать он будет пока не сдохнет).

Цитата:

Сообщение от Rise
Вот поэтому стабильности в Linux я не вижу, а в Windows она есть, приложения 20-летней давности на последней Windows прекрасно работают.

Потому что все библиотеки с собой. В линуксе тоже так можно. Но это не стабильность, а какое-то средневековье.

Цитата:

Сообщение от Rise
а обновлять систему и программы вас никто не заставляет, это легко всё отключается, некоторые до сих пор на Windiws 7 сидят, а отдельные индивиды и на XP.

Ну так и в линуксе никто не заставляет. Можешь хоть от интернета отключиться навсегда - программы от этого работать перестанут что ли?

Цитата:

Сообщение от Rise
А условный Firefox ESR (Extended Support Release) можно и на Windows установить

Только все обновления безопасности придётся вручную скачивать. Или он у вас сам себя автоматически обновляет? - Тогда как он это делает - весь скачивается или только библиотеку с уязвимостью скачает? На усмотрение разработчика? - Ясно-понятно.

Цитата:

Сообщение от Rise
я надеюсь вы в курсе что ESR и LTS программы это не только для Linux.

А если речь про какой-нибудь LibreOffice, то он тоже сам себя скачает? Или нужно каждый день посещать офсайт и смотреть - а не появилась ли в нём уязвимость за последние сутки и не нужно ли скачать по новой?

Rise 31.08.2023 16:33

Цитата:

Сообщение от Белый шум
Удали у себя flatpak если он тебя не устраивает

Но на сайте Flatpak написано: "The future of apps on Linux". Кому верить?

Цитата:

Сообщение от Белый шум
исходники никто не отбирает

А где тогда исходники nvidia?

Цитата:

Сообщение от Белый шум
Хочешь новую версию - обновляй, не хочешь - не обновляй

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

Цитата:

Сообщение от Белый шум
Вот только 1-4 это системные библиотеки, которые можно зафиксировать в текущей версии

А почему он это по дефолту не делает? Зачем одни и те же пакеты перекачивать?

Цитата:

Сообщение от Белый шум
Это тебе не винда, где хочешь - не хочешь, а всё таскай с собой при каждом обновлении.

Откуда инфа? Тот же Firefox качает только то что нужно, там даже пишется, 10-15 МБ обычно.

Цитата:

Сообщение от Белый шум
Это для винды приходится в каждую программу все библиотеки пихать

Их не надо пихать в этом и смысл. Надо один раз поставить в систему Microsoft Visual C++ Redistributable 2005-2022 и Microsoft .NET Framework 3.5, 4.8 (предустановлен) и всё, и то 2005 и 3.5 для совсем уж древних и можно не ставить. Пихают наверно те разработчики кто на линуксе сидит, по привычке так сказать)

Цитата:

Сообщение от Белый шум
rolling-based дистрибутив внутри stable-based дистрибутива

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

Цитата:

Сообщение от Белый шум
Драйвера в линуксе - часть ядра и обновляются вместе с ним.

В винде тоже есть драйвера же.

Цитата:

Сообщение от Белый шум
Если у тебя не какое-то специфичное железо с проприетарным драйвером

Да nvidia-видеокарта очень специфичная) редко встречается...

Цитата:

Сообщение от Белый шум
то работать оно будет пока сама железка не сдохнет

Например, ядро 5.5 (26.01.2020) и выше не поддерживает драйвер nvidia 340.108 (23.12.2019), ну и где пока не сдохнет?

Цитата:

Сообщение от Белый шум
На винде обычная ситуация: обновил винду - прощайся со сканером.

Это не обычная, обычно драйвера windows 7 работают на windows 11, а многие просто подходят из коробки.

Цитата:

Сообщение от Белый шум
Потому что все библиотеки с собой.

Они не с собой они в системе, читай выше.

Цитата:

Сообщение от Белый шум
В линуксе тоже так можно.

И это flatpak по 2 гига.

Цитата:

Сообщение от Белый шум
Но это не стабильность, а какое-то средневековье.

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

Цитата:

Сообщение от Белый шум
Ну так и в линуксе никто не заставляет. Можешь хоть от интернета отключиться навсегда

Так в виндоуз тоже можешь не обновляться и говорить что у тебя stable-дистрибутив, или обновляться и говорить что rolling-дистрибутив, плюс 20-летние программы и 15-летнее железо будут работать. И даже больше, режим совместимости запуска программ в Windows 11 начинается с Windows 95, вот это не стабильность конечно...

Цитата:

Сообщение от Белый шум
На усмотрение разработчика?

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

Цитата:

Сообщение от Белый шум
Или нужно каждый день посещать офсайт и смотреть

С такой фобией уязвимости тебе срочно надо на rolling переходить) Я вообще все автообновления отключаю, кроме браузера, мне не трудно проверить наличие обновлений, как правило такая функция встроена в программы, не надо по сайтам ходить.

Белый шум 01.09.2023 05:36

Цитата:

Сообщение от Rise
Но на сайте Flatpak написано: "The future of apps on Linux". Кому верить?

Хоспади, обычный маркетинг же.

Цитата:

Сообщение от Rise
А где тогда исходники nvidia?

Они никогда и не были опенсорс. Есть вариант от сообщества, nouveau называются драйвера, но полноценной поддержки железок от них ждать не приходится (за отсутствием документации к железу).

Цитата:

Сообщение от Rise
Я хочу чтобы было как в условном npm, обновлять только те пакеты которые старые, а не всё дерево зависимостей перекачивать каждый раз, о чем и написано по ссылке.

Так и сделано. В колонке "Оп": u - update, i - install. Ты просто не понял что там написано по ссылке.

Цитата:

Сообщение от Rise
А почему он это по дефолту не делает? Зачем одни и те же пакеты перекачивать?

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

Цитата:

Сообщение от Rise
Откуда инфа? Тот же Firefox качает только то что нужно, там даже пишется, 10-15 МБ обычно.

Из личного опыта. Выходит новая версия программы - качаешь полный установщик и запускаешь. Gimp тут обсуждаемый, или фотошоп, или медиаплеер твой любимый - все самообновляются?

Цитата:

Сообщение от Rise
Их не надо пихать в этом и смысл. Надо один раз поставить в систему Microsoft Visual C++ Redistributable 2005-2022 и Microsoft .NET Framework 3.5, 4.8 (предустановлен) и всё, и то 2005 и 3.5 для совсем уж древних и можно не ставить. Пихают наверно те разработчики кто на линуксе сидит, по привычке так сказать)

Во-первых - это лишь мизерная толика необходимых разработчику функций, только самые-самые базовые вещи:
https://learn.microsoft.com/sr-cyrl-...?view=msvc-160
https://learn.microsoft.com/en-us/do...tframework-4.8
Ты не найдёшь там библиотек для различных форматов аудио, видео, изображений (только для bitmap что-то есть в .NET) и прочих форматов файлов; для различных протоколов (UPnP, torrent и миллионы других); и для кучи всего разного, о чём мне лень вспоминать. Майкрософт просто по определению не может всё это поставлять в своей системе. Так что пихать библиотеки надо, и пихать много, и в каждую программу по отдельности.
Во-вторых - "Надо один раз поставить" -- здравствуйте ручные зависимости.
В-третьих - https://ru.wikipedia.org/wiki/.NET_F...0_.D0.9E.D0.A1 -- здравствуйте проблемы зависимостей: в 8-ю винду уже не поставить новые программы. Старые программы на Win7 и выше не поставятся. Стабильность, ага...

Цитата:

Сообщение от Rise
Так как кривое ядро линукс слишком часто меняется без обратной совместимости и нет стандарта (унификации) сборок, то каждый собирает свой дистрибутив как попало, и новый выход ядра всё ломает. Поэтому придумали слово rolling, которое в нормальных системах соответствует обычным обновлениям.

Бред. Без комментариев.

Цитата:

Сообщение от Rise
В винде тоже есть драйвера же.

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

Цитата:

Сообщение от Rise
Да nvidia-видеокарта очень специфичная) редко встречается...

Ок, если ты хочешь rolling-release, то nvidia тебе не подходит. Выбирать железо под линукс всё ещё нужно, с этим никто не спорит.

Цитата:

Сообщение от Rise
Например, ядро 5.5 (26.01.2020) и выше не поддерживает драйвер nvidia 340.108 (23.12.2019), ну и где пока не сдохнет?

В принципе, обновлять ядро не обязательно. Фиксируешь пакет, подобно тому как я выше с гимпом показывал - и у тебя старое ядро на новой системе. И даже если обновил ядро и там что-то не пошло - можно загрузиться со старым ядром (оно сразу не удаляется и присутствует в вариантах загрузки):

Ну или можешь посидеть на варианте nouveau, если они тебя устраивают. Но лучше брать amd или intel - варианты есть, как видишь.
К тому же, проблема с нвидией не в том, что она не выпускает дрова под старые видеокарты, а в том что она выпускает свои драйвера с задержкой. Т.е. драйвера на это ядро появятся позже.

Цитата:

Сообщение от Rise
Это не обычная, обычно драйвера windows 7 работают на windows 11, а многие просто подходят из коробки.

Я терял сканер при переходе с 98 на xp, и с xp на 7. Как там дальше - не знаю и не горю желанием узнавать.

Цитата:

Сообщение от Rise
Они не с собой они в системе, читай выше.

С собой, читай выше.

Цитата:

Сообщение от Rise
Цитата:

Сообщение от Белый шум
В линуксе тоже так можно.

И это flatpak по 2 гига.

Нет, это не flatpak, а тот же самый вариант, когда все библиотеки с собой. Flatpak - это такой костыль, который всё ещё лучше виндового подхода.

Цитата:

Сообщение от Rise
А в чем тогда стабильность? В регулярной покупке нового железа и установке только недавно созданных программ?

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

Цитата:

Сообщение от Rise
Так в виндоуз тоже можешь не обновляться и говорить что у тебя stable-дистрибутив, или обновляться и говорить что rolling-дистрибутив, плюс 20-летние программы и 15-летнее железо будут работать.

Так а я против что ли? Про заставляет / не заставляет ты первый заговорил. Я не понял про что речь и просто объяснил как это работает в линуксе.

Цитата:

Сообщение от Rise
И даже больше, режим совместимости запуска программ в Windows 11 начинается с Windows 95, вот это не стабильность конечно...

Кстати я вообще не понимаю зачем этот режим если библиотеки с собой. В винде этого не достаточно что ли?
P.S.: наверное это для программ, которые на Windows API завязаны (просто предположение).

Цитата:

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

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

Цитата:

Сообщение от Rise
С такой фобией уязвимости тебе срочно надо на rolling переходить)

Таки нет, stable тут больше подходит.

Цитата:

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

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

И кстати, а что если интернет через прокси с паролем? Все ли собственные автообновлялки умеют так обновляться?


P.S.: давай уже заканчивать этот балаган. Спорить что лучше - мне не интересно, тем более что ты всё равно меня не слышишь и только рассказываешь как мне плохо на линуксе. Я никого не агитирую переходить, каждому своё. :yes:
Просто стало интересно, откуда взялось мнение про 2 гигабайта. Теперь мне это понятно - flatpak виноват. ОК, наверное твоё мнение тоже имеет право на жизнь. :agree:


Часовой пояс GMT +3, время: 08:09.