Установка и хранение приложений в Linux, устроены несколько иначе, чем в Windows. Здесь нет какого-то реестра, куда заносятся все установленные компоненты.
По сути, любой дистрибутив Linux — это просто большой набор пакетов, а программы и приложения представлены в виде файлов, лежащих в системных каталогах.
Для их установки используются специальные менеджеры, которые можно разделить на два типа: традиционные и контейнерные.
Контейнерные
AppImage — самый простой и понятный формат контейнерных менеджеров. Каждая программа — это один большой файл, который и запускает ее. При необходимости его можно перенести на другой компьютер, даже если на нем установлен иной дистрибутив Linux и все будет работать.
Snap — очень похож на AppImage, только программа представляет собой не файл, а архив в формате .squashfs. При запуске приложений в этом формате архив временно монтируется и запускается сама программа. (Операционная система, как бы заглядывает внутрь snap-архива, лежащего в каталоге /var/lib/snapd/snaps).
Flatpak — самые странные контейнеры в мире Linux. Они разделены на две части. Первая — с самой программой, хранится в виде файла в каталоге /var/lib/flatpak/app, а вторая, с конфигурацией и журналами, лежит в каталоге ~/.var/app.
Когда мы говорим о контейнерных приложениях в Linux, термин установка вообще сложно применить. Такие приложения просто скачиваются в виде файла и лежат в одном из системных каталогов.
Традиционные
Такие менеджеры пакетов как APT, DNF или Pacman хранят приложения в виде файлов, которые могут лежать в различных каталогах внутри операционной системы.
Исполняемая часть будет лежать в каталоге /usr, конфигурация в /etc, а базы данных в /var.
Такой подход к хранению приложений, конечно, считается более архаичным. Разумеется, удобнее работать с одним файлом, который хранит все то, что нужно программе для функционирования.
Но у него есть свои плюсы, поскольку:
- Во-первых, все компоненты, нужные для работы приложения уже разархивированы и аккуратно разложены по папкам, что увеличивает скорость работы программы в целом.
- А во-вторых, можно использовать универсальные библиотеки и компоненты для множества приложений, что позволяет значительно экономить пространство на жестком диске.