Изначально проект Installer-SH был экспериментальным, и работал сугубо в среде дистрибутива Linux Chimbalix, ведь только в этом дистрибутиве была вся необходимая основа для распространения приложений, однако начиная с версии 1.8 установочный пакет научился подготавливать основу и в других линуксах, так он стал пригоден для распространения ПО в прочих дистрибутивах Linux.
Installer-SH v1.9 имеет следующие изменения относительно предыдущей версии:
1) Переработан исходный код: Добавлены дополнительные проверки, беспорядочный код перенесён в отдельные функции, что значительно упрощает работу при сборке и настройке приложений в формате Installer-SH:
2) Улучшено определение текущей операционной системы и рабочего окружения (Desktop Environment, DE), теперь установщик способен определить некоторые DE даже в линуксах не предоставляющих информацию через стандартные переменные окружения XDG_CURRENT_DESKTOP / XDG_SESSION_DESKTOP / DESKTOP_SESSION:
3) Добавлена 32 битная версия архиватора 7-Zip, что позволяет одной настройкой переключить версию архиватора в соответствии с архитектурой целевой операционной системы:
4) Проверка целостности архивов теперь происходит автоматически, в зависимости от результата выводится соответствующее сообщение об успехе или проблеме:
5) Начато внедрение системы оповещения пользователя об ошибках и предупреждениях, ведь разнообразные дистрибутивы Linux могут быть разной степени кривизны и неполноценности, хотя над этим функционалом нужно ещё поработать:
6) Автоматическая проверка и исправление прав на запуск инструментов необходимых для работы установочного пакета, в случае невозможности исправить права - скрипт прекратит работу и предупредит об этом пользователя, данный функционал в начальном состоянии внедрения, и требует доработки:
7) Добавлены функции автоматического перезапуска панели задач для некоторых рабочих окружений, это необходимо для случаев когда меню "застревает", то есть новые ярлыки приложений не появляются до тех пор, пока не будет произведён выход из системы, это характерная проблема линуксов, она может проявляться, а может и нет, на данный момент адекватный перезапуск панели предусмотрен в рабочих окружениях XFCE, KDE и LXDE:
Давайте протестируем новый установочный пакет в старом Linux Mint 15 XFCE, изначально предлагается подготовить основу, ведь установочный пакет определил, что находится в стороннем дистрибутиве, и там нет готовой основы для распространения ПО.
Далее информация о приложении, и тут всплыла первая небольшая проблема, неизвестно чем думали разработчики Linux Mint, но у них в переменной $DESKTOP_SESSION хранилась строка "default.desktop", это неправильно, ну да ладно, идём дальше...
Установочный пакет ругается на несовпадающие хэш суммы архивов, ведь они не прописаны в настройках, в любом случае это должно насторожить пользователя, если например файлы были скопированы с ошибками, и хэш не совпадает с указанным в настройках:
Даже несмотря на то, что скрипт перезапуска панели не сработал, ведь дистрибутив дал ложную информацию об используемом DE, ярлыки приложения появилось в меню, и всё работает как положено:
Скрипт удаления так же отработал как положено:
Далее устанавливаю современный браузер Mozilla Firefox версии 132.0.2:
Но увы, Linux Mint 15 слишком стар, чтобы запустить настолько свежий браузер, но это уже проблема разработчиков приложения, а не установочного пакета:
Ладно, просто удаляю программу, отказавшуюся работать в столь старом линуксе, никакой возни с центрами приложений и пакетными менеджерами, просто взял и удалил:
Давайте протестируем чуть более новый дистрибутив Manjaro 17.1.9 KDE!
Оформление терминала в Manjaro очень сомнительное конечно, но Firefox версии 132.0.2 отлично установился, и даже меню поддерживает вложенные структуры из коробки, приятный факт:
Браузер тоже работает, хотя и ругается на проблемы безопасности в текущей ОС, видимо слишком уж старая Manjaro 17 версии, по сути этому дистрибутиву уже целых 6 лет:
Может у нового установочного пакета Installer-SH и есть некоторые проблемы, но как показала практика - он способен работать в гораздо более старых дистрибутивах, чем обычно способен софт для Linux. Впрочем, в случае Mozilla Firefox можно посмотреть на ESR версию, по идее она должна работать и в более старых линуксах, но это уже тема для отдельной статьи.
На данный момент невозможно сказать в каких и насколько старых дистрибутивах Linux новый установочный пакет будет работать идеально, но по моим личным наблюдениям - Installer-SH часто способен работать начиная с дистрибутивов 2017-2018 года и новее, в более старых уже как повезёт, и обычно проблемы связаны с несоблюдением стандартов разработчиками дистрибутивов, в том числе и в современных линуксах.
Найти Installer-SH v1.9 можно в репозитории GitHub (каталог "Installer-SH-Old-Versions"):
https://github.com/Shedou/Chimbalix-Software-Catalog
Благодарю за внимание, больше интересных статей и новостей в блоге Hard-Workshop.