О проблемах западных законов и про выпуск новой версии Installer-SH для Linux и FreeBSD.
Последний раз я занимался новым форматом распространения софта для Linux в прошлом году. Но уже пришло время выпустить новую версию автономного установочного пакета Installer-SH.

реклама
Так уж получилось, что я уже давно реализовал поддержку операционных систем FreeBSD в своём формате распространения софта под названием Installer-SH. Правда, по умолчанию пакет настроен на работу в среде Linux...
|
|
В остальном это всё тот же привычный и удобный Installer-SH.
|
|
Но в ходе реального использования выяснилось, что установочный пакет недостаточно хорош, поэтому было решено реализовать новый функционал – появилась страница настройки режима установки и размещения файлов конфигурации.
реклама
По умолчанию предлагается устанавливать софт в домашний каталог пользователя и хранить файлы конфигурации вместе с приложением, чтобы не засорять основной домашний каталог и не вызывать конфликты с другими версиями программы, если такие установлены.
|
|
Хотя Installer-SH может работать и в более старых дистрибутивах FreeBSD, я использую довольно свежий GhostBSD 23 по той простой причине, что FreeBSD, как и Linux в целом, построен на основе ненадёжных централизованных репозиториев, которые постоянно умирают вместе со всеми пакетами и экосистемой. Нельзя просто взять пакет из актуальной версии репозитория и надеяться, что он заработает в изначальной версии операционной системы просто потому, что происходит характерный для Linux и BSD ад зависимостей.
|
|
Эта система серьёзно мешает реализации адекватно совместимого софта и установочных пакетов. Мне приходится сохранять целые локальные копии репозиториев, потому что они постоянно обновляются и исчезают. Если в Linux репозитории могут достаточно долго прожить на голом фанатизме, то у FreeBSD недостаточно приверженцев и репозитории умирают гораздо быстрее, чем хотелось бы.

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

Ну а раз уж я таки сделал довольно независимый способ распространения софта пригодным для использования в среде FreeBSD, почему бы не портировать старый ChimbaBench под эту платформу?
Да, ряд функционала будет недоступен. Да, проверенная совместимость будет только с дистрибутивом GhostBSD, так как это единственный известный мне BSD, из-за которого не появляется крайне сильное чувство испанского стыда за операционную систему. GhostBSD хоть и не заставляет пользователя ковыряться в терминале с первых же шагов, но он крайне непригоден для нормального использования, как и большинство Линуксов. Но это всяко лучше, чем ничего.
|
|
реклама
Начинаю упаковку программы в формат Installer-SH. Первым делом нужно определиться с шаблоном именования. Сначала идёт имя программы, потом версия. После версии укажу разрядность, ну а в самом конце укажу платформу и версию установочного пакета. Хотя платформа просится в самый конец имени файла...

Настраиваю файлы. Потом приступаю к настройке установочного скрипта. Хотя есть возможность отключить новые функции настройки параметров установки, так как приложение не предназначено для установки с root правами. Но оставлю новые функции включенными для тестов.
|
|
Первый блин вышел комом. Тут можно заметить, что новые функции можно настраивать в режиме командной строки при тихой установке множества приложений разом. Разумеется, новые ключи не будут работать в старых версиях установочного пакета. Но и мешать старым пакетам они тоже не должны.
|
|
|
|
Удаляю неудавшееся приложение. Вот так легко и просто, без ковыряния с пакетными менеджерами. Это и есть свобода управления установленными приложениями в системе, а не это всё линуксоидство с пакетными менеджерами и репозиториями, которые могут ещё и не запускаться без доступа к Интернету, что приводит к невозможности управления установленными программами.
|
|
Со второго раза программа отлично установилась и запустилась. Работает так же без проблем.
|
|
|
Создание распространяемого архива с программой завершилось неудачно – архиватор tar оказался немного не таким, как нужно.

Небольшая правка в исходный код и распространяемый архив с программой готов. Пока что без чистки от лишнего мусора, ибо нужно тщательнее протестировать.
|
|
За что я точно испытываю испанский стыд за GhostBSD и его разработчиков, так это за кэширование Live-CD образа в оперативную память, на что требуется целых 4 гигабайта ОЗУ. Это просто невозможно запустить на компьютерах с 4 гигабайтами ОЗУ и менее. Просто неимоверную глупость совершили разработчики дистрибутива GhostBSD, сделав такое.

И хотя разработчики совершили большую глупость с кэшированием Live-CD образа в ОЗУ, но лучшего от мира BSD я не видел. Устанавливаю программу с помощью Installer-SH в дистрибутиве GhostBSD 25.
|
|
Меню приложений не настроено на вложенные категории из коробки. Однозначно минус в копилку любой операционной системе за такое. Меню приложений обязано поддерживать вложенные элементы, иначе оно очень быстро превращается в характерную для Linux помойку. Ну а что до ChimbaBench, то там всё удовлетворительно.
|
|
|
Теперь можно полировать Installer-SH до выпуска стабильной версии. Локализовал новый функционал на два стандартных языка. Немного поработал над оформлением, чтобы не создавать путаницу.
|
|
Ну а чтобы новый функционал работал как положено, я прописал повторную инициализацию путей установки и проверку наличия базовых каталогов PortSoft. Лучше два раза проверить, чем один раз установить неправильно.

Ещё обновил значки. Так они немного лучше воспринимаются визуально.

Ну и перевожу установочный пакет ChimbaBench для FreeBSD на текущую версию. Осталось протестировать.

Сначала проверяю основной режим установочного пакета. Всё прошло отлично.
|
|
|
|
|
|
С новым режимом установки возникли небольшие проблемы. Это было ожидаемо. Для того и нужно проводить тестирование, а не как AMD однажды порезали расширения OpenGL API в погоне за 75% приростом производительности в каком-то бенчмарке, а потом в реальных играх и приложениях у людей годами всплывали утечки памяти и артефакты графики по вине нерадивых разработчиков драйверов.
|
|
|
|
|
|
Хотя в консоли можно было заметить ругань на параметры chown, но это не мешает установке программы. Основная проблема случилась по вине FreeBSD, что однажды сбросил права доступа к файлам, а я не везде эту пакость исправил. За это Open-Source и не любят люди, что вечно какое-то мракобесие происходит на ровном месте.
|
|
|
|
|
|
Пришлось перепаковать архив с файлами, у которых были неправильные права доступа. И на этот раз всё работает правильно. И – да, софт не может записать данные в свой каталог, если установка произведена в системном режиме. Это нужно учитывать при создании установочных пакетов приложений – следует отключать функцию установки в системном режиме. Но я не буду этого делать, так как пакет тестовый.
|
|
|
|
На этом завершу работу над текущей версией установочного пакета Installer-SH. Пакет с программой ChimbaBench для FreeBSD добавил в Chimbalix Software Catalog. Хотя пакет и несовместим с дистрибутивом Chimbalix, так как он основан на Linux. Но каталог на то и каталог. Я его использую в первую очередь для размещения софта в новом формате распространения софта под названием Installer-SH.

Ну а новую версию Installer-SH, совместимую с FreeBSD и Linux, выкладываю в архив версий установочного пакета: https://github.com/Shedou/Installer-SH-Archive

Хотя поддержка FreeBSD далеко не идеальна, но начинать с чего-то надо. Тем более, именно за FreeBSD может оказаться будущее, а не за вечно несостоятельным Linux с вирусными лицензиями, позволяющими наказывать разработчиков на законодательном уровне, чем пытаются пользоваться на другой стороне планеты, чтобы заставить внедрять опасные и вредоносные функции в операционные системы под видом защиты детей.
На Западе активно пытаются заставить разработчиков операционных систем проверять возраст пользователей, чтобы отдавать эту информацию сторонним приложениям. Эти западные законы буквально подвергают детей опасности. Да и кто знает, к чему ещё попытаются принудить разработчиков операционных систем под предлогом всего хорошего. И вообще, защитой и воспитанием детей обязаны заниматься родители, а не законодатели, прикрывающиеся детьми.
Например, Белтелеком предоставляет услуги безопасности и родительского контроля, которыми можно воспользоваться, а можно и не пользоваться. Это хорошая практика. Совсем другое дело творят иностранные законодатели, буквально принуждающие разработчиков операционных систем внедрять откровенно опасные для детей функции под угрозой серьёзных наказаний. С такими функциями стороннее ПО сможет определить, что компьютером пользуется ребёнок. А это прямой сигнал для разработчиков вредоносного софта и чего похуже...

И хотя я не юрист, но даже мне понятно, что хвалёная GNU GPL очень даже позволяет наказывать разработчиков на законодательном уровне через пункты 15-17. Так что дела у Linux действительно плохи. Ну а линуксоиды занимаются чем угодно, но не выпуском адекватных и жизнеспособных операционных систем, которыми действительно можно было бы пользоваться. Гораздо проще ведь опуститься до издевательств над блогерами и людьми. Что говорят про Linux как есть, а не только лучшее и хорошее. И это печально.
Я вижу, что Linux - это одна большая ошибка с самого создания проекта. Шагающая в никуда...

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Комментарии Правила