Гид по технологиям

Форматы пакетов Linux: DEB, RPM, Flatpak и другие

7 min read Linux Обновлено 25 Dec 2025
Форматы пакетов Linux: DEB, RPM, Flatpak и другие
Форматы пакетов Linux: DEB, RPM, Flatpak и другие

Форматы пакетов Linux: иконки DEB, RPM, Flatpak и AppImage

Краткое резюме

  • Установка ПО на Linux похожа на установку приложений на смартфоне: обычно используется менеджер пакетов дистрибутива или каталог приложений.

  • Универсальные форматы (Flatpak, Snap, AppImage) работают на большинстве популярных дистрибутивов и дают централизованные места загрузки.

  • DEB используется в дистрибутивах на базе Debian (Ubuntu и др.), RPM — в Red Hat‑экосистеме (Fedora, RHEL и др.). TAR/TGZ чаще содержит исходники и требует ручной установки.

Как устанавливать ПО на Linux

Установка программ на Linux чаще всего происходит через графический или консольный менеджер пакетов. Это похоже на магазин приложений: вы ищете приложение и нажимаете «Установить». Однако у разных дистрибутивов разные менеджеры и форматы пакетов.

Графические магазины чаще всего используют общие движки: Ubuntu применяет Ubuntu Software (переназванный GNOME Software), Fedora использует GNOME Software, а openSUSE предлагает YaST.

GNOME Software показывает приложение Boatswain в списке

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

Ниже — алгоритм выбора формата в зависимости от ситуации и дистрибутива.

Универсальные форматы: Flatpak, Snap и AppImage

Эти форматы называют «универсальными», потому что их можно установить на большинство популярных дистрибутивов.

  • Flatpak: обычно устанавливают из Flathub — централизованного каталога приложений для Flatpak. Flatpak пакеты изолированы в песочнице и обеспечивают стабильные версии независимо от версии системных библиотек.

Сайт Flathub в браузере Firefox с темой GNOME

  • Snap: распространяются через Snap Store, управляющийся Canonical (компания за Ubuntu). Snap также пакует зависимости внутри и позволяет устанавливать приложения на разные версии дистрибутивов.

  • AppImage: файл‑образ приложения, который не требует установки в систему в традиционном смысле — он запускается как исполняемый файл. AppImage более децентрализован, чем Flatpak или Snap: часто разработчик просто выкладывает .AppImage на сайт.

Когда выбрать универсальный формат:

  • Если приложение поддерживается на Flathub/Snap Store и вам нужна простая установка — используйте их.
  • Если вы хотите минимизировать влияние на системные библиотеки — Flatpak или Snap с песочницей предпочтительнее.
  • Если нужен переносимый однокомпонентный файл — AppImage подходит для запуска без установки.

DEB пакеты

DEB — формат пакетов, созданный для Debian и используемый в дистрибутивах, основанных на Debian (Ubuntu, Linux Mint и др.). DEB можно установить через графический менеджер или через терминал.

Пример установки через терминал (используется dpkg):

sudo dpkg -i /home/user/software.deb

Если установка по dpkg вызывает ошибки зависимостей, после неё часто нужно выполнить:

sudo apt-get install -f

Советы по DEB:

  • Скачивайте DEB, предназначенные именно для вашей версии дистрибутива (например, Ubuntu 22.04 vs 20.04). Некоторые пакеты совместимы между Debian и Ubuntu, но это не гарантировано.
  • Используйте официальные репозитории или проверенные PPA для уменьшения рисков.

Популярные дистрибутивы на DEB:

  • Ubuntu
  • Debian
  • Linux Mint

RPM пакеты

RPM изначально создан Red Hat и используется в RHEL‑семействе и похожих дистрибутивах. Формально формат называется RPM Package Manager.

Установка RPM через CLI:

rpm -ivh /home/user/software.rpm

Или используйте пакетный менеджер дистрибутива (dnf, yum) для автоматического разрешения зависимостей:

sudo dnf install /home/user/software.rpm

Fedora и openSUSE используют RPM, но пакеты чаще рассчитаны под конкретную ветку дистрибутива — убедитесь, что RPM целевой для вашей системы.

Популярные дистрибутивы на RPM:

  • Red Hat Enterprise Linux
  • Fedora
  • openSUSE
  • SUSE Linux Enterprise Server
  • CentOS
  • PCLinuxOS

TAR, TGZ и TAR.GZ пакеты

Архивы TAR обычно содержат исходные коды или готовые бинарные файлы без строгой системы установки. TAR не обязателен «форматом установки» в классическом смысле — это просто архив.

Частые сценарии с TAR:

  • В архиве исходники: вам нужно распаковать, выполнить ./configure, make, sudo make install или следовать инструкциям в файле README.
  • В архиве бинарные релизы: распаковать в /opt или в домашнюю папку и создать ярлык вручную.

Пример базовой последовательности для сборки из исходников:

tar xvf program-1.2.3.tar.gz
cd program-1.2.3
./configure --prefix=/usr/local
make
sudo make install

TAR часто встречается в минималистичных или «накрученных» дистрибутивах, где ожидается, что пользователь сам соберёт ПО (например, Arch Linux строится вокруг пакетов AUR и PKGBUILD, но Arch также предоставляет бинарные репозитории).

Дистрибутивы, где часто приходится иметь дело с исходниками:

  • Arch Linux
  • Slackware

Обзор других форматов

  • ebuild — формат Gentoo, основан на исходниках и системе Portage.
  • PiSi — формат Pardus.
  • APK — формат Android (технически основан на Linux, но экосистема и требования другие).

Каждый дистрибутив может иметь собственный формат или средство управления пакетами — это нормально для экосистемы с открытым исходным кодом.

Когда универсальные форматы не подходят

Контрпримеры и ситуации, когда Flatpak/Snap/AppImage могут не сработать:

  • Приложение требует тесной интеграции с системными библиотеками или ядром: тогда лучше использовать нативный пакет дистрибутива.
  • Существенное потребление диска: универсальные пакеты могут дублировать зависимости и занимать больше места.
  • Ограничения корпоративной политики: в корпоративных средах могут быть разрешены только репозитории дистрибутива.

Альтернативные подходы

  • Использовать контейнеры (Docker/Podman) для запуска сервисов и сложного ПО без изменения системы.
  • Сборка из исходников для максимальной оптимизации и контроля над зависимостями.
  • Использовать менеджеры пакетов языка (pip, npm, gem) для приложений, ориентированных на конкретную платформу разработки.

Понимание и упрощение выбора: ментальные модели

  • Модель 1: «Репозиторий сначала». Всегда сначала ищите в репозиториях вашего дистрибутива. Это безопаснее и проще в обслуживании.
  • Модель 2: «Универсальный пакет для десктопа». Если вы на рабочей станции и приложение есть в Flathub/Snap Store — ставьте Flatpak/Snap.
  • Модель 3: «Нативный пакет для серверов». На серверах предпочтительнее нативные пакеты (DEB/RPM) и автоматизация конфигурации.

Чек‑лист по ролям

Администратор:

  • Проверить источник пакета и подпись.
  • Использовать репозитории организации или зеркала.
  • Тестировать пакет на staging перед production.

Разработчик:

  • Пакетировать приложение для одного или двух форматов (например, DEB и Flatpak).
  • Обеспечить документацию по установке и зависимостям.

Пользователь рабочего стола:

  • Сначала искать в GNOME Software/Ubuntu Software/YaST.
  • Если скачали DEB/RPM, убедиться в совместимости с версией дистрибутива.

Мини‑SOP: быстрый план установки приложения

  1. Поиск в репозитории дистрибутива через GUI или CLI.
  2. Если есть — установить через менеджер пакетов (apt/dnf/pacman/zypp).
  3. Если нет — проверить Flathub/Snap Store/AppImage.
  4. Если скачали DEB/RPM — проверить подпись, затем установить (dpkg/rpm/dnf/apt).
  5. В случае TAR — читать README, собирать или развертывать в /opt.
  6. После установки проверить запуск, ярлык в меню и зависимости.

Решение несовместимостей и миграция пакетов

  • Не пытайтесь насильно ставить пакеты для другой ветки дистрибутива.
  • Для переноса настроек приложений используйте экспорт конфигураций (dotfiles, экспорт через GUI).
  • При миграции между семействами (Debian → RHEL) лучше искать эквивалентный пакет или использовать контейнеризацию.

Безопасность и жёсткая политика установки

Рекомендации по снижению риска:

  • Скачивайте пакеты только с официальных сайтов или доверенных репозиториев.
  • Проверяйте цифровые подписи пакетов, когда это возможно.
  • Ограничьте права исполняемых AppImage, если сомневаетесь: запускать в песочнице или через firejail.
  • На серверах избегайте запуска GUI‑пакетов и сторонних бинарников без аудита.

Диагностический алгоритм для неработающей установки

flowchart TD
  A[Начало: не устанавливается приложение] --> B{Скачан пакет или из репозитория?}
  B -- репозиторий --> C[Установка через менеджер пакетов]
  B -- скачан --> D{Формат DEB/RPM/Flatpak/Snap/AppImage/TAR}
  D -- DEB --> E[dpkg -i; затем apt-get install -f]
  D -- RPM --> F[rpm -ivh или dnf install]
  D -- Flatpak --> G[flatpak install flathub/org.App]
  D -- Snap --> H[snap install name]
  D -- AppImage --> I[chmod +x && ./app.AppImage]
  D -- TAR --> J[читать README; ./configure && make]
  E --> K[Проверить зависимости и версии]
  F --> K
  G --> K
  H --> K
  I --> K
  J --> K
  K --> L{Проблема в зависимостях или несовместимости?}
  L -- зависимости --> M[ищем пакет в репозитории или используем контейнер]
  L -- несовместимость --> N[искать версию для дистрибутива или использовать универсальный формат]
  M --> O[Решение найдено]
  N --> O
  O --> P[Конец]

Критерии приёмки

  • Приложение успешно запускается и отображается в меню приложений.
  • Обновления приложения доступны через выбранный менеджер или репозиторий.
  • Нет конфликтов зависимостей в системе (apt/dnf/pacman не возвращают ошибок).
  • На серверах — приложение не нарушает политик безопасности и ведёт журналы работы.

Краткий глоссарий

  • Репозиторий — центральное хранилище пакетов, одобренное дистрибутивом.
  • Пакет — архив с программой и метаданными для установки.
  • Зависимость — библиотека или пакет, который требуется для работы приложения.
  • Песочница — механизм ограничения прав процесса для повышения безопасности.

Заключение

Форматов пакетов в Linux много, но вам не нужно знать их все. Для повседневной работы достаточно понять, какие форматы поддерживает ваш дистрибутив (DEB или RPM), и познакомиться с универсальными пакетами (Flatpak, Snap, AppImage) для десктопа. На серверах придерживайтесь нативных пакетов и официальных репозиториев; для переносимости используйте контейнеры. Следуйте чек‑листам и правилам безопасности — и установка ПО станет предсказуемой и управляемой.

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

Краткое резюме в конце

  • Используйте менеджер пакетов дистрибутива в первую очередь.
  • Flatpak/Snap/AppImage — удобный способ получить актуальные десктоп‑приложения.
  • DEB и RPM — нативные форматы для своих экосистем; TAR требует ручной сборки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Sling TV: бесплатно 19 часов — как подключиться
Стриминг

Sling TV: бесплатно 19 часов — как подключиться

QUERY в Google Sheets — руководство
Google Sheets

QUERY в Google Sheets — руководство

Как подключить AirPods к Windows
Инструкции

Как подключить AirPods к Windows

Бесплатные курсы по музыкальному продакшну
Музыка

Бесплатные курсы по музыкальному продакшну

Как использовать Metacritic эффективно
Обзоры

Как использовать Metacritic эффективно

Скачать PDF вместо просмотра в Chrome, Firefox, Edge
Браузеры

Скачать PDF вместо просмотра в Chrome, Firefox, Edge