Почему AppImage это очередной костыль, но не решение проблемы Linux
Наверное каждый видел диски с софтом и играми для Windows, но мало кто видел такие же диски для Linux, я точно не видел за всю свою жизнь:
![]() |
![]() |
реклама
Как думаете, почему для Linux нет такого огромного разнообразия? На этот вопрос невозможно сразу ответить, в линуксах слишком много проблем, чтобы их охватить "двумя словами", распространение софта для Linux это сущий кошмар, и проблема не в количестве дистрибутивов, как некоторые могли подумать...
Проблема в отсутствии стабильной "базы" у дистрибутивов Linux, и в попытках принудить всех к давно устаревшим централизованным репозиториям. Одно дело серверное использование, в таком случае репозитории действительно необходимы, банально потому что вся работа с серверами происходит через терминал, там не нарисуешь удобную кнопку "сделать как надо".
Но совсем другое дело Desktop сегмент, то есть обычные ПК/ноутбуки с обычными пользователями, именно в этом сегменте тотально доминирует Microsoft Windows и MacOS, но не Linux, даже несмотря на потуги государственных учреждений в разных странах мира:
реклама
А ведь эта статистика не учитывает огромное множество автономных ПК, большинство которых тоже работает под управлением Windows, банально потому что Windows можно установить с диска/флешки где угодно, как и весь необходимый софт для неё, что крайне важно для "программистов", что по всему миру обслуживают компьютеры своим соседям и друзьям.
Именно простота установки софта (игры это тоже софт) сделала Microsoft Windows лучшей операционной системой для ПК и ноутбуков, только в последнее время Microsoft явно свернули "не туда", но речь сейчас не об этом...
реклама
В далёких 1980-1990 годах начали выпускать компакт-диски, с 2000 года они стали очень популярным методом распространения информации, а благодаря "пиратам", диски с Microsoft Windows и играми были в каждой деревне планеты Земля, причём что немаловажно по доступной для местных жителей цене.
2004 год, уже давно существует Windows XP и вышла Ubuntu 4.10, в 2005 году у меня уже был ПК на основе s754 Sempron 2500+ (впоследствии разогнанный с 1400 до 2100 МГц по шине), Radeon 9250 128 МБ и 256 МБ ОЗУ, примерно в то же время каким-то чудом удалось раздобыть диски с Ubuntu 5.10, вот собственно они, Live CD и Install CD:
Думали я использовал Ubuntu 5.10 как операционную систему? Конечно же нет, в ней просто нечего было делать, дисков с софтом и играми нигде не было для линуксов, интернета не было, чтобы сосать через репозитории гигабайты зависимостей, максимум 56К модем можно было подключить на телефонную линию по конскому тарифу за каждый мегабайт трафика...
реклама
В общем Ubuntu 5.10 в реальности была абсолютно непригодной для использования, в те времена от Windows 98 было гораздо больше толку, чем от линукса "для людей".
Время шло, Radeon 9250 с пассивным охлаждением отвалилась, на замену установлена GeForce 4 MX440 128 МБ, оперативной памяти в ПК уже стало на 1 ГБ больше, появилось ADSL подключение к интернету, сначала 128 Кбит/с, потом скорости со временем возрастали, но с этой технологией выше 8-10 Мбит на скачивание не удалось выжать, и это при хорошей витой паре категории 1 (не "лапша"), но из операционных систем пригодной для использования была только Microsoft Windows, я вообще не знал ни одного человека, который использовал бы Linux.
![]() |
![]() |
Но время продолжало идти, примерно в 2018-2019 году наконец появилась техническая возможность сменить ADSL по витой паре на оптоволокно, но кому сдался линукс? Все продолжали использовать Windows, ибо под Windows масса софта и игр, которые можно получить практически любыми способами, хоть дискетами.
Но в последнее время Microsoft слишком обнаглели, и максимально пытаются диктовать пользователям свои условия, причём довольно агрессивно с использованием аппаратной закладки Microsoft Pluton, и чем дальше, тем хуже, потому я собственно и решил уйти с Windows на Linux... Возможно многие читатели данного ресурса сейчас знают про Linux именно благодаря мне, ибо кроме меня никто здесь активно не поднимает данную тему.
Благодаря тому, что я активно занимаюсь линуксами, сейчас могу наглядно продемонстрировать некоторые проблемы, которые собственно и не позволяют данным операционным системам всплыть со дна популярности... Однако разработчики AppImage как раз над одной из проблем работают, они пытаются сделать формат приложений для нормальных людей, а не давно обезумевших фанатиков Linux...
Цель разработчиков AppImage проста и понятна, приложения в AppImage формате можно записать на CD диск распространяя даже таким "устаревшим" способом, и запустить на многих дистрибутивах без свойственного практически всем линуксам пердолинга с зависимостиями:
Но есть серьёзная проблема у AppImage, и даже не одна, уже догадались? Нет? Тогда смотрите:
Да, AppImage не всегда решает фундаментальную проблему Linux с зависимостями, хотя именно для решения этой проблемы он создавался...
В качестве хорошего примера возьмём OBS Studio в формате AppImage, но сразу проясним один момент, в 32 битных дистрибутивах Linux его невозможно запустить, ибо 32 битной версии пакета попросту нет, и это очень плохо:
https://github.com/ivan-hc/OBS-Studio-appimage
Но я вообще-то сказал "хороший пример" в хорошем смысле слова, ибо выше представленная неофициальная версия OBS Studio работает в Ubuntu 13.04, а это значит что есть адекватные сборщики ПО, таких я уважаю:
![]() |
![]() |
![]() |
И даже официальный AppImage пакет Inkscape работает в столь старом дистрибутиве! Правда есть проблемы с интерфейсом, но их можно исправить выбрав нестандартную тему оформления вручную:
![]() |
![]() |
![]() |
![]() |
![]() |
Собственно всё прекрасно! Разве нет?
Если предыдущие два приложения относительно нормально работали в Ubuntu 13.04, то Krita 5.1.5 уже погрязла в зависимостях, всё споткнулось о зависимость "libQt5Core.so.5", и да, недавно вышедшая версия 5.2.0 страдает точно такой же проблемой с зависимостями:
Туда же и GitHub Desktop, всё обломалось на зависимости "NSS_3.20", собственно это и есть первая проблема AppImage, ибо хватает сборщиков собирающих такие вот кривые пакеты, которые не могут работать со старыми дистрибутивами по вине зависимостей:
Впрочем, это приложение в формате AppImage даже на современном дистрибутиве Linux не работало нормально, и тут подходим ко второй проблеме, приложения в этом пакете порой не могут нормально взаимодействовать с системой:
Но кривое взаимодействие с системой ещё пол беды AppImage, как думаете, где хранятся все настройки приложений? Правильно, в системе пользователя, что недопустимо для портативного софта, AppImage позиционируют именно как контейнер для создания портативного софта, но при этом гадит конфигами в скрытые папки операционной системы пользователя:
Причём важно заметить, если в системе уже установлено приложение из говна и палок (репозиториев и зависимостей), и пользователь запустит аналогичное приложение в формате AppImage, то случится такая ситуация, когда одни и те же конфиги будут использоваться как системным приложением, так и AppImage приложением, а это уже потенциальная угроза безопасности и порчи настроек, причём довольно серьёзная для пользователя...
Одно дело какая-нибудь очередная из множества "дырка" безопасности в линуксах, которую никто никогда в принципе не задействует, просто потому что это зачастую сложно, да и никому не надо, совсем другое дело когда пользователю нужно приложение, но оно начинает наводить хаос и беспорядок в системе.
А ещё эта проблема затрудняет перенос приложения со всеми настройками на другой ПК...
Думали на этом все проблемы закончились? Нет конечно, приложение в формате AppImage это один единственный файл, в который запаковано приложение с зависимостями, и у пользователя просто нет никакого доступа к этим файлам, что уничтожает почти любой проект подразумевающий использование модификаций, например игры с системами модификаций... Представьте Minecraft в виде AppImage, представили это лютое безумие? Наверняка многие даже представить такую дичь не смогли.
Как следствие, хранить файлы конфигураций тоже негде такому приложению, потому оно гадит в систему пользователя:
![]() |
![]() |
Думаете архиватор слишком устарел в Ubuntu 13.04? И снова нет, современный линуксоидный архиватор "Archive Manager" тоже не способен открыть AppImage:
Открыть пакет удалось только через 7-Zip, само собой в режиме только для чтения, ни о какой модификации речи быть не может подручными архиваторами, особенно в линуксах... Если не заметили, файл был открыт Windows версией архиватора:
Ранее я как-то сказал, что похвалю разработчиков AppImage если все приложения будут работать даже в таком старом дистрибутиве как Ubuntu 13.04, но как все уже поняли, это в принципе невозможно. Мало того сборщики порой бывают криворукими, так ещё софт для Linux разрабатывается часто криворукими разработчиками, ибо практически все нормальные разработчики ещё со времен Windows XP убежали подальше от линуксов...
Вот есть разработчик, он хочет создать игру, которая бы охватывала абсолютное большинство пользователей в Desktop сегменте, как в линуксах это реализовать? Правильно, никак, даже с помощью Godot Engine 3.5 выйдет охватить максимум дистрибутивы 2013 года и новее, а Godot Engine 4 уже на дистрибутивах 2015 года порой не способен работать, о каком охвате аудитории может вообще идти речь?
Для примера Microsoft Windows 7 выпущенная в 2009 году, на ней прекрасно можно играть в Genshin Impact, на ней прекрасно можно играть в игры на основе Vulkan API, а что линуксы? Да вы сами видите что линуксы, даже драйвер видеокарты невозможно нормально установить без выноса мозга, а это основа для запуска практически любой игры...
Сюда добавляем принуждение к репозиториям и обновлениям в линуксах, которые постоянно ломают совместимость со старым софтом, приправляем бесконечными проблемами с интерфейсом, для полного комплекта вспоминаем о проблемах базовых компонентов дистрибутивов, например кривой драйвер LLVMpipe, и много других характерных для Linux косяков.
Ubuntu 22.04 LTS, по умолчанию включена автоматическая проверка и установка обновлений, полностью отключить проверку и установку обновлений невозможно, в том числе нельзя отказаться от навязчивых уведомлений о выходе обновлений для сторонних приложений:
![]() |
![]() |
![]() |
Итого имеем суровую реальность, где от линуксов плюются не только разработчики, но и пользователи, ради которых собственно и разрабатывают большинство софта (игры это тоже софт).
Разработчики не дураки, они прекрасно видят отношение пользователей к линуксам, в том числе отвратительное отношение линуксоидов к пользователям пришедшим в линукс, и когда отношения плохие, то и разрабатывать под линуксы нет смысла, ибо банально не окупится разработка софта ни сразу, ни в перспективе, тем более спустя пару обновлений нужно будет всё переписывать под линукс, ибо линуксоиды постоянно что-то ломают с обновлениями...
Главное не обращать внимание на статистику, и что даже пользователей Windows 7 в конце 2023 года многократно больше, чем всех вместе взятых пользователей Linux:
Да, корпорация Valve много ресурсов вкладывает в линуксы, но они могут себе это позволить за счет пользователей Windows, и делают это не из каких-то там благотворительных побуждений, а вполне конкретно пытаются занять целую игровую нишу своей DRM платформой Steam, и такое себе позволить могут только корпорации и крупные компании.
А что до остальных? Остальным просто нет смысла разрабатывать софт для разорванного в клочья пингвина, ибо его невозможно адекватно распространять, да и презентабельности никакой в линуксах, даже иконку приложения невозможно встроить в исполняемый файл...
Кто-то вспомнит про другой костыль "Flatpak", якобы он решает проблему зависимостей и распространения софта, якобы можно даже на флешку закинуть автономные установочные пакеты! Правда почему-то фанатики тактично умалчивают о неистовых плясках с бубном разложенных на две страницы плотных инструкций, и в итоге получается очередной голимый репозиторий вместо адекватного установочного файла, только размещённый на флешке:
![]() |
![]() |
Пожалуй на этом можно завершить статью, ибо про AppImage уже сказано, а другие костыли не являются темой статьи.
Вообще разработчиков AppImage действительно можно похвалить за труд, если закрыть глаза на кривые пакеты (каждый второй пакет кривой), то этот способ распространения софта лучшее что есть для линуксов на данный момент, но лучшее среди худшего, так правильнее будет сказать, действительно хорошую похвалу нужно заслужить, AppImage, к сожалению, пока не заслужил хорошую похвалу.
И да, похвалу на хлеб не намажешь, но похвала может привести пользователей, а они уже и хлеб принесут, и масло намажут, жаль фанатики Linux упорно не желают это признавать, продолжая навязывать всем вокруг линуксоидные "идеалы" отвергая действительно нужные пользователям вещи...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила