Pull to refresh
-30
@ilitaikspertaread⁠-⁠only

User

Send message

appimage

Что мешает сделать appimage основным способом установки в популярном дистре и забыть о проблеме насовсем?

нашел статически слинкованный с openssl от совершенно левой сборки для какого-то Asus

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

Насколько я знаю так же точно разработчики alt перепаковывают 1с которая не собирает пакеты для alt.

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

Разве гугл перепаковывает apkшки которые собирют для lg или самсунга? Нет, андройдщики пальцем у виска покрутят, от такой поставновки вопроса.

рогу на go с использованием драйвера sqlite, затем отправил на сервер. Ой, сказал сервер, нет msvcrXXX.dll

Хорошая иллюстрация к тезису о том, что юзать линукс на десктопе всеравно что юзать винду на сервере

Не думаю что андроид бы взлетел. У него есть лаунчеры под desktop

А с чего он должен взлететь? Лаунчер это таскбар и панелька со списком приложений. Текуйщий софт весь пот тач, GUI фреймворк тоже под тач. Кто и зачем будет это на десктопе использовать? И кто будет на тач фреймворке писать аппы для 3 юзеров, причем в случае десктопного андроида 3 это не художественное приуменьшение. От того что андроид растянули на десктопный экран, он декстопом не стал.

а уж сколько ломающих api изменений от версии к версии.

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

один arm для которого нужно сделать трансляцию из x86. А если их будут десятки?

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

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

Так а в чем проблема? Берем стандартный набор либ, libc, openssl, libpng и прочее, что использут все. Кладем несколько версий в систему и патчим уязвимости когда фиксы выходят. Если выходит версия с новыми фичами, кладем рядом. Потом берем gtk2, gtk3 и gtk4, тоже самое qt4,qt5. И тоже патчим, и фиксы накатываем когда они выходят. Это что, больше усилий требует, чем сотни единиц софта, обновлять и собирать?

А остальное пусть аппы линкуют себе статически, кладут в себя исходниками, или soшки таскают.

90% линуксовых либ написана на C, у которого стандартизованый ABI и сишные либы жрет софт на плюсах, го, расте и куче других языков. Вот в той же винде, у меня есть например функция SendMessage из WinAPI, и я вообще даже не знаю из какой конкретно либы она тащится, и какие там есть версии, всеравно это работает на любой винде. А линкусе проблемы с линковкой либ, у которых функционал годами не меняется, а интерфейс вообще не должен меняться десятилетиями.

Так сделано в любой нормальной ОС, винде, маке, андроиде и тп. Но в линкусе почемуто надо изобретать монтируемые контейнеры, и еще какуюто дичь, чтобы криво и косо попытатсья решить проблему, которая решена уже 20 лет везде.

Наверное потому что васян-бинарь уже представляет собой appimage

Не, просто есть довольно жирный набор системных библиотек и системное апи для gui, которые обратно совместимы между несколькими версиями ос (основной набор совместим десятилетиями), на которые разраб при запиле бинарника может полагаться. А если есть нужны сторонние либы, оно либо линкуются статически либо вообще пихаются в проект в виде исходников, сильно реже тянутся внутри архива как dll\dylib. Оно так в винде, макоси, андроиде.

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

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

Который тоже пытался в desktop и тоже имеет x86 версию, но распространения не получил. Равно как и Chromebook.

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

Что значит по дефолту?

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

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

Ну да, под каждый дистр на которых сидит по 3 юзера, я должен сидеть и собирать разные пакеты, и еще успевать все это обновлять. А с гуем мне что делать? Взять qt чтобы в дефолтной убунте приложение выглядело стремно, а линуксоиды ругались что им приходится жырнющую либу в свой pure gtk дистр тащить? Или взять gtk чтобы аппа под кедами выглядела как говно, а потом веселиться с ликновкой, потому что у gtk ломать совместимость это национальный спорт? Или плюнуть и притащить java\avalonia\electron, юзеры и так сожрут?

Давайте смотреть правде в глаза, в реальности я просто склепаю пакет appimage или еще хуже для flatpak, потещу его только на своем дистре, а греть мозг будете уже вы, если моя аппа вам понадобится. Только не надо потом жаловаться, что у линукса всего 1% десктопа, и софта не хватает.

Как-то разработчики на qt еще и часто под windows и mac успевают.

Весь рофл в том, что это они как раз под линукс бывает не ленятся собирать. Я вот ленился в свое время, еще бы, под винду qtcreator выплевывает готовое ехе, а под мак готовый .app. А как там хотябы под убунту пакет собрать, да еще и зависимости разрулить я даже читать не начинал. Понадобится, исходники на гитхабе лежат, че делать знаете.

в макосе разработчики лучше знают как вам удобнее

Хочу простую установку софта? Это нинужно, есть же нормальный способ через пакетный меджер —  Депенденси хелл, половина софта там нет, сторонние аппы работают криво и другие абсолютно детские проблемы — Не, переучивайтесь.

и если в линуксе и винде еще можно повыпендриваться то в макосе эту опцию мы выпилили с корнями — переучивайтесь

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

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

Нет, тут вся разница в качестве дизайна. Инженеры osx думали как сделать чтобы софт ставился в 1 клик. Чуваки, пилившие порт на arm, думали как сделать чтобы x86 софт запускался бесшовно и работал быстро. Чуваки пилившие маковские gui либы с кнопками, думали как сделать чтобы аппы выглядели красиво, совместимо между версиями ос, а при переходе с carbon на cocoa совместимость с api carbonа держали 10 лет. Чтобы кнопочки у приложух вдруг не отвалились. В винде апи для кнопок правда еще круче, косожопый WinAPI32 из середины 90х на 11ке вам нарисует красивую аппу в системном стиле, а не вин9х стайл.

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

А как вам, то что gui фреймворк, который внутри прог кнопки рисует это не системное апи, а часть панельки с таскбаром и доком, и если выбираю другую панельку таскбара, то иду и меняю половину прог на другие, потому что либа которая кнопки делает пропала вместе с таскбаром. Че засмеялись то? Это не анекдот, это свободнная операционная система!

Наверное проще было скопипастить файл локали и в нем поправить, типа en_US_Mon

А теперь давайте подумаем, чем макось архитектурно отличается от linux?

Давайте. Если ОС это среда для установки и запуска программ, а по философии unix - "любой софт должен делать что-то одно и делать это хорошо" то отличие в том что macos это операционная система, а linux - нет.

Такой же posix, но софт ставится в 1 клик. Даже при всех анальных ограничениях запустить неподписанный васян-бинарь проще чем поставить на линукс софт не из репы. Такой же posix, но софта под него в разы больше, при том качественного. Такой же posix, но GUI приложений и либы для кнопочек почемуто системные (вот дебилы разработчики макоси, да?), а не как у нормальных людей тянутся из таскбара и менюшки сверху.

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

Если же Apple оставит контроль за разработкой, то это будет какой-нибудь еще один RHEL.

Скорее будет модель андроида. Железо со стоковой ОС на которой все отполированно работает. И левое железо с левыми кастомными сборками, но с отпиленными зондами, аппсторами и ограничениями. Зато с огромной кучей совместимого и рабочего софта, а не наколеночными кривыми поделками прибитыми гвоздями к васян-дистру. С припиленной кастомизацией и сторонними DE, на которых весь софт выглядит прилично, а то и вообще красиво, так же как на стоке.

Кому вообще будет нужен десктопный линукс в таком случае? Кроме как фанатикам, никому. Зачем гемороиться с кривым набором костылей, если есть открытая ОС, которая нормально работает, в которой нет корпоративных анал-ограничеий и под которую есть весь нужный софт?

Уже же есть возможность собрать хакинтош или поставить linux на макбук

Под хакинтош нужно совместимое железо, поэтому проще, а то даже и дешевле купить мак. А ставить на мак вместо удобной и вылизанной ОС линукс у людей просто мало мотивации. Была бы макось опенсурсной с отпиленными зондами, такой мотивации не было бы вообще.

А под XP?

А под Win3.11? XP outdated & deprecated лет 10 уже, и во времена когда он был актуален, можно было спокойно собирать аппы в 7 и они работали на xp. А под линкуксом сейчас собирая бинарь под актуальной убунтой, а не могу быть уверен что он запустистя на актуальном же арче.

При том что скорее всего, сейчас под 10кой, если не выходить за пределы Win32 API и не юзать всякий сетевой стек завязаный на ssl и прочее, то собраный бинарь вполне себе заработает под xp. А в убунте 4летней давности я наверно даже с ее репы пакет не смогу поставить.   

Я могу собрать бинарник на go и он запустится на любой машине с linux подходящей архитектуры, если я не буду тащить за собой libc

Ну да, если не юзать основной для платформы язык и его рантайм, не юзать gui (это для десктопа, я напомню) то приложуха запустится на любом линкусе с нужной архитектурой. А если аппу на java собрать, то еще круче!

К слову на маке, можно собрать аппу под mountain lion (11+ лет) на нативном objc (который поверх сишечки написан), и она запустится на вентуре даже под другой архитектурой процессора. Какой кстати там лучший транслятор x86 -> arm на линуксе? Выковыренная из мака розетта? Почему софт из мака на линуксе работает лучше родного?

Но так же точно и в linux есть docker/snap/chroot/appImage в котором можно подключить нужный набор библиотек. Так что не нужно лукавить.

Так не лукавьте, в чем проболема. Под виндой\маком я могу на дефолтных средствах разработки собрать бинарь и пакет с ним, который будет работать на актуальных (а если повезет, даже на давно неактуальных) системах без допилов, по дефолту. А на линуксе в теории если запариться можно собрать бинарь который может будет работать в разных дистрах. Ну или можно заюзать одного из нескольких ублюдских франкенштейнов, на которые тру линуксоиды плюются, и тогда аппа будет работать с кучей оверхеда стоя раком внутри этого франкенштейна. Ага, а если пойти чуть дальше и поставить виртуалку, то можно вообще под линукс не собирать, а взять бинарь из мака или винды!

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

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

Ну так и в windows вы можете столкнуться с чем-то подобным. Я встречал раньше такие приложения ради запуска которых приходилось переустанавливать vc и это уже во времена windows7.

Я тоже встречал, иногда. В осноном это игры.

Все зависит от прямости рук написавшего приложение.

Т.е. установка и запуск приложения в ос зависит от прямости рук разработчиков? Ок, но если в линуксе в отличии от винды\мака это такая проблема, то тогда вопрос в другом. Почему под линукс такие криворукие разработчики?

Как же так получилось, что " общепризнаные говно" заняло основное место среди серверных ОС, 

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

Ну вот в том же андроиде есть десятки лаунчеров DE(частенько написаные васянами) которые давно заброшены, есть куча какихто написаных на коленке тулзов, дропнутые лет 5 назад и тп.

И при этом это все до сих пор нормально работает и детских проблем как у линкуса с этим всем нет.

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

Типа на линуксе все так плохо, потому что бесплатно? Не, чтобы было настолько плохо, надо приплатить

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

Ну да, есть же прекрасные альтернативы, например GIMP

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

Но стандартный формат пакетов, стандартный api для окошек в линуксу мешает именно свобода. Есть десяток ублюдских форматов пакетов, пакетных менеджеров, и абсолютно ублюдский подход к линковке либ.

Я же не спрашиваю откуда в линуксе столько разных гуев и форматов пакетов. Я спрашиваю почему они все настолько ублюдские? Почему любой пакет в линкусе хуже апк? Почему на смену зипарям со скриптами от рута, пилятся какието контейнерные залупы, которые на запуске аппы fs монтируют? Почему вместо того чтобы довести до ума X11, который дефакто стандарт(откуда он кстати вообще взялся, если свобода мешает стандартам?) пилится еще более ублюдский wayland и mir? Почему Qt аппы на винде и маке выглядят лучше чем под гномом?

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

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

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

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

А что у нас есть в линкусе? Ммм, .deb, rpm, appimage, snap, flatpak... В одном дистре работает одно, в другом другое, куча форматов пакетов и все по своему говно. Нет, серьезно, разговор о том как просто установить программу в ОС, в случае линкуса это сборник анекдотов. Это все бы не звучало так смешно, если бы линукс считался поделкой типа болгенос, а не серьезной ос для программистов.

Начнем с deb пакетов. Что такое deb пакет? Это просто зипарь, набитый sh скриптами запускаемыми от рута. После этого вы над виндой смеетесь?

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

Говорите, зато у вас dll хелла нету. Лол, я сел за баранку этого пепелаца во времена windows xp. И знаете че? Я никогда этого мифического dll hell не видел, вообще ни разу. А вот dependency hell вижу не так уж и редко.

Кто вообще придумал эту больную тему с таким дебильным линкованием либ? Почему нельзя просто взять список общеупотребимых либ, типа libc, libpng и тп, зафиксить в своем дистре целиком и 10 лет поддерживать как API. А остальное пусть аппы с собой таскают в пакете. Что, говорите, какой ужас будет две копии либы на пару килобайт, ужасное расточительство? Да этот комментарий внутри сайта весит в кеше браузера в 100 раз больше, на вашем ssd на 1тб за 100$. Это даже не экономить на спичках, это сидеть считать сколько спичек в каждом коробке.

Почему если у меня одна аппа хочет libpng допустим 1.0.0, а другая 1.0.1 я должен какойто лютейший гемор с пакетным менеджером иметь? Сколько лет назад у libpng менялся бинарный интерфейс? 20?

Почему я могу взять собрать exe в 7 винде, и запустить его на 10 и на 11. Или собрать бинарник в какойнить мохаве макоси, и запустить на вентуре, причем даже на другой архитектуре процессора, и не иметь никакого гемора. А если я просто соберу бинарь в убунте, в какомнить арче он не заведется.

А сама система репозиториев? Десятки дистрибутивов, в каждом десятки мейнтейнеров, годами делают огромный дублирующийся объем работы - копируют себе на серваки кучу разных приложений, следят за их версиями, сборкой и тп. Вместо авторов этих приложений. Огромный набор усилий, который идет только на то, чтобы увеличивать фрагментацию.

Тыничиво нипонимаешь, это другой подход к разработке софта, репозитории с свободным софтом это круто! Да, например на ведре есть f-droid, с которого в один клик спокнойно ставится свободный софт, на любой ведро девайс, без необходимости иметь штат мейнтейнеров на каждый васянский кастом с xda. Почему под систему, которую написали студенты набраные по квотам из коррекционных классов осилили нормально сделать, а под serious programmer os нет?

Ох, appimage, snap, flatpak? Можете вот тут коментами обчитаться: https://habr.com/ru/articles/673488/comments/#comment_24477960

чтобы прочувствовать всю боль посмотрите что пишет автор appimage: https://habr.com/ru/companies/southbridge/articles/466301

Хотя если честно, appimage с flatpak выглядят даже подающими надежды. Но snap вообще настолько плох, что я вообще писать про него не буду, игнорирую.

И на всем этом фоне про то что в макоси ты просто берешь .app, кладешь его в папку Applications и все работает, и так уже наверно лет 20, наверное даже стыдно говорить.

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

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

А знаете почему так? Потому что UI ведра это универсальное API. Потому что за отрисовку виджетов отвечает API. Потмоу что лаунчер это просто приложение для специального API, которое рисует envieroment для рабочего стола.

Потмоу что, несмотря на то что этот API чуть ли не эталон дерьма, он всеравно в тыщу раз лучше ситуации, когда никакого апи для GUI нет вообще. Если я хочу написать приложение с окошками для десктопной системы на линкусе, я начала должен впилить в него поддержку двух оконных серверов. Ну ладно, хотябы одного, и так сожрут. Один накостылен в 70е, на который забили, вместо того чтобы допилить, но при этом все юзают. А второй уже лет 10 с лишним костылится, причем так херово, что костыли из 70х кажутся продуманным проектом.

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

Для андроида я просто верстаю экран в ide и моя аппа будет нормально работать и выглядеть на любом лаунчере. Че, реально? Как ребятам с умственной отсталостью создавшим ведроид удалось создать такое технологическое чудо?

А потом все удивляются почему линукс занимает 1% десктопа. Потому что короля играет свита, а ОС играет софт. А софта под линукс нет. Потому что запить и поддерживать софт под настолько черезжопно спроектированную систему это никому не нужный геморой. Т.е вместо того чтобы допилить тот же wine до состояния, когда софт под ним в 1 клик запускается, вместо того чтобы принять хоть какойто стандарт декстопного API, вместо универсального формата пакетов, все развлекаются защитой абсолютно ублюдских технических решений. Все это под рассказы с серьезными щами про ос для программистов.

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

И под которую нет софта для программистов. Лол, например под винду и мак куча годных гуевых git клиентов, а под линкус нет. Под винду и мак нормальные иде для плюсов появились в 90х, а под линукс в только 2009, а совсем нормальная в 2017. Дада, рассказывайте что программировать надо в консоли. Или вообще в виме, который чтото среднее между деструктивной сектой и сексуальной ориентацией.

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

12 ...
10

Information

Rating
Does not participate
Registered
Activity