Пакетные системы Linux

Дело было в далёкие времена Ubuntu 12.04, когда трава казалась зеленее, а вода мокрее. Захотелось, значит, установить в Xubuntu 12.04 выжигалку лазерных дисков Brasero из экосистемы Gnome, поскольку присутствовавшая в комплекте, увы, качеством не блистала. Вместе с Brasero установилась и запустилась шпионская программа Zeitgeist ("дух времени"). Зачем этот соглядатай нужен? Не нужен более чем полностью. Однако выпиливание Zeitgeist причинило исчезновение Brasero. Потому что разработчики Gnome сделали эти совершенно разные программы зависимыми друг от друга.

Lubuntu. Все эти программы раздроблены на пакеты
С тех пор доверия к изготовителям Gnome нет абсолютно, однако речь нынче не о том, конечно. А о том, что на самом деле это не программы, а пакеты, представьте себе. Так и пишут разработчики, мол, у нас есть сто тысяч миллиардов миллионов пакетов. Ну или другое число называют, как можно более внушительное.

Пакеты в формате DEB 

Что такое deb-пакеты? Это когда программа умышленно раздроблена на множество архивов с компонентами (отсюда и миллиарды тысяч миллионов пакетов). В каждом (или почти в каждом) прописана зависимость от других. В других — ещё от каких-нибудь. В ещё каких-нибудь — тоже от чего-то совершенно левого. Одно без другого не устанавливается, одно тащит за собой ещё что-то, а при своём удалении тянет это что-то в небытие.

Debian Mate. Synaptic Package Manager вываливает список зависимостей
Причём, зависимости могут быть не просто абсурдными, а вполне злонамеренными. Позволяющими воткнуть пользователю шпионский софт. Делающими людей рабами репозиториев, сетевых хранилищ с раздробленными программами. Нет подключения к интернету — зависимости не скачаются — ничего не установится. Подключение есть, но версия дистрибутива Linux устарела — репозитории отключены — тоже ничего не установится, изволь переходить на новый релиз, даже если не хочешь.

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

 Пакеты Flatpak

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

Linux Mint. Многое в Менеджере Приложений предлагается и в deb-формате, и в Flatpak
Так появился формат пакетов Flatpak, якобы уж точно делающий пользователей независимыми. Мол, устанавливай, всяк желающий, себе в любой дистрибутив.

Но власть сладка. Управлять широкими массами, приковывать цепями к сетевым хранилищам, репозиториям, — отказаться от всего этого не нашлось сил. 

Более того, если deb-пакеты всё же можно устанавливать оффлайн командой sudo dpkg -i, вручную собрав в одну папку все зависимости, то для Flatpak надо делать собственный репозиторий на флэшке. Причём, инструкции довольно расплывчатые. Нормальный человек со всем этим заморачиваться попросту не станет. И правильно сделает.

Но и это ещё не всё. Если программа в deb-формате (ворох взаимозависимых deb-архивов) после установки занимает, к примеру, около двухсот мегабайт, то она же в формате Flatpak сожрёт четыре гигабайта места и не подавится. Потому что ей ещё и среда исполнения нужна, видите ли, то бишь Runtime. 

И эти Runtime редко используются несколькими программами сразу. То есть далеко не всегда один Runtime пригоден для многих. Вероятно, спонсоры, производители компьютеров и комплектующих, попросили, мол, пусть пользователи постоянно покупают всё более объёмные накопители, раз уж за Linux не платят.
 
Пакеты в формате Snap
 
Фирму Canonical, производящую Ubuntu, можно и нужно ругать за многое. Ругать по делу. Например, за то, что Ubuntu всегда глючная, даже финальные корректирующие релизы (point releases). За whoopsie, apport, kerneloops, unattended-upgrades и прочий шпионский хлам. За выбор Gnome Shell вместо Mate.
 
Но что Canonical сделала действительно хорошо, человечно, это самодостаточные пакеты в формате Snap. В любой более или менее современный релиз Ubuntu и Debian легко добавляется поддержка Snap (вернее, добавлять надо в Debian, в Ubuntu и так уже есть ), а сами пакеты скачиваются и потом устанавливаются оффлайн без проблем.
 
Что тут началось! Мир Linux взвыл. Это же покушение на сладкую власть над миллионами пользователей. Отмена рабской привязки к репозиториям. 

Маркетологи корпораций сразу же ухватились за детские болезни нового формата, мол, первый запуск такой программы происходит долго, пакеты подсовываются вместо вороха наглых deb-зависимостей, ну и вообще как посмели.
 
Ubuntu Mate. Не различить, где deb-пакеты, где Snap, всё интегрировано бесшовно
К счастью, фирма Canonical действует по принципу "собаки лают, но караван идёт". Теперь у всех желающих есть собственный набор нужных приложений в формате Snap, потому что, как сказано выше, элегантно загружаются одной командой в терминале, ещё двумя устанавливаются на другой компьютер. Может, чуточку сложнее, чем в Windows, ведь надо терминал открывать, но в сравнении со всей остальной ситуацией это просто счастье.
 
Вой продолжается. Новое рабство Flatpak продвигается со страшной силой, рекламируется как единственный вменяемый формат. Snap энергично ругается везде, где можно высказывать свои ценные мнения. Но мы-то способны сопротивляться давлению маркетинга на психику и думать своей головой.
 
Пакеты в формате Appimage
 
Портативные, стартуют хоть с флешки, хоть с карты памяти, откуда угодно. Но свои настройки и прочие данные всё равно хранят в пользовательской директории точно так же, как это делают программы в других форматах.
 
То есть если запускаете на чужом компьютере браузер в формате Appimage, введенные вами пароли могут запомниться на том устройстве. Следует относиться к этому внимательно.
Ну и, конечно, пакеты Appimage не являются полностью самодостаточными. Требуются системные библиотеки, в первую очередь — подходящая версия Fuse. Чаще всего не хватает libfuse2, нужно устанавливать вручную (проще всего — с помощью Synaptic Package Manager).
Peppermint OS. Плеер MPV в формате Appimage
А вот всяких хитрых запускающих программ, якобы повышающих удобство, надо избегать. Пользоваться можно и без них. Скопировали файл в формате Appimage прямо на рабочий стол — и делаем на нём двойной клик, как на ярлыке. Некоторые даже прописывают себя в главное меню.
 
Резюмируем
 
Если есть возможность устанавливать то или иное приложение в deb-формате, делаем это без сомнений, сэкономится место. То самое, которое пакет Flatpak отожрал бы в двадцатикратном размере.
 
На всякий случай собираем коллекцию Appimage и, конечно же, Snap (с отдельным сертификатом для каждого файла), чтобы можно было обеспечить себя софтом в случае недоступности репозиториев.
 
К примеру, релиз устарел — и не скачать зависимости, всё отключено через месяц после официального прекращения поддержки. А новый выпуск неудачный, глючный и тормозящий, не очень-то хочется переходить на него принудительно (и бежать ради него в магазин за новым процессором). Вот и поможет ваша коллекция по-настоящему свободного софта.