Найти в Дзене
Другой мир

Как устанавливать программы в Linux. Установочные пакеты

Оглавление

Смотрите оглавление раздела, посвященного Линукс

DEB и RPM

Это два самых популярных пакетов установки программного обеспечения в Линукс.

DEB это пакеты Debian подобных дистрибутивов: Debian, Ubunta, Mint, Q4OS и тд.

RPM это пакеты дистрибутивов на базе RedHat: Fedora, ROSA, OpenMandriva, Mandrake Linux и тд.

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

RPM

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

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

Большинство зависимостей разрешаются в автоматическом режиме корректно. Хотя еще несколько лет назад это была огромная проблема.

Но, есть большая проблема, что для разных дистрибутивов, которые основаны на РедХат могут быть разные программы, а библиотеки носить разные названия. Что создает огромные проблемы для пользователя. Получается что пользователь, если программы нет в официальном репозитории, должен искать rpm именно для своего дистрибутива.

DEB

По большому счету лишены недостатков rpm, практически все программы совместимы со всеми дебиан дистрибутивами. Один и тот же пакет одинаково хорошо ставится и работает как на Debian 6, так и на Ubuntu 19.04. Стандарты процесса построения пакетов и работы с ними, заложенные в старых Debian дистрибутивах, остаются актуальными и в новомодных Linux Mint и elementary OS

Сам пакет представляет из себя обычный архив. Без извратов в виде заголовков.

Существуют специальные утилиты для конвертации одного пакета в другой.

.tgz, tar.gz и другие

Это могут быть как бинарные файлы со скриптом установки, так и архивы исходного кода. Где программа не скомпилирована.

Скажем, дистрибутивы на базе ArchLinux работают на tgz пакетах, с помощью утилиты pacman и графической оболочки pamac . Это тоже архив с банарными файлами по аналогии deb и rpm.

-2

В других дистрибутивах необходимо поставить утилиты для компиляции программ из исходного когда.

Альтернатива менеджерам пакетов

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

Вот и были созданы следующие пакеты:

Snappy (SNAP) Основная идея: приложение выполняется в изолированной и защищённой от основной системы песочнице. Если приложению нужны библиотеки, то они поставляются вместе с самим приложением.

Flatpak является как форматом пакета, так и инструментом для установки и управления этими пакетами, так же разворачивается в песочнице и запрашивает различные разрешения для доступа к системе. По сути, Flatpak - это конкурент технологии snap пакетов.

Для использования нужно включить поддержку для своей системы https://flatpak.org/setup/

А здесь можно найти хабы(репозитории) https://flathub.org/home

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

Более подробнее я описываю эти файлы в этой статье

-3

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

Смотрите оглавление раздела, посвященного Линукс