Что лучше deb или rpm | Losst

Что лучше deb или rpm

Установка программного обеспечения - очень важный момент в работе с операционной системой. Сейчас есть две самые распространенные системы установки программного обеспечения. Это используемая в Debian и всех ее производных, в том числе и в Ubuntu - deb, а также разработанная в RedHat и используемая в Red Hat и всех основанных на ней дистрибутивов - rpm. Обе системы и deb и rpm полнофункциональные, легкие в использовании и имеют очень большое количество программного обеспечения. Многих пользователей интересует в чем разница между этими двумя системами. Но в интернете мы находим только общие сведения вроде того что уже выше написано. В этой статье мы попытаемся разобраться что лучше deb или rpm. Также попытаемся вникнуть в суть их различий.

Основы

С точки зрения пользователя, эти два варианта установки пакетов не имеют очень больших различий. Оба файла и Deb и Rpm - это всего лишь архивы, созданные с помощью утилиты ar. Эти архивы включают в себя файлы программ, исполняемые файлы, библиотеки, или файлы конфигурации. Кроме этого, в каждый пакет входят метаданные системы управления пакетами, именно этим и отличаются rpm и deb. Собственно файлы пакетов отличаются в основном только этим, но еще есть система управления пакетами. А там уже различий в базе данных намного больше.

Давайте рассмотрим каждую систему управления пакетами подробнее, а затем сравним что же в них особенного, и что лучше rpm или deb.

RPM (Red Hat Package Manager)

Как мы уже говорили, RPM - это менеджер пакетов, используемый в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д. Изначально этот пакетный менеджер был разработан в компании Red Hat еще в 1997 году и только для их дистрибутива, но затем он распространился и в другие операционные системы. Вместо обычного сжатия здесь используется сжатие gzip по алгоритму cpio и особый формат файла архива, его мы рассмотрим ниже. Здесь в сравнении rpm или deb, первый кажется лучше, но не все так просто, если в системе нет нужных утилит, то вы не сможете распаковать такой пакет. Кроме cpio могут использоваться и другие алгоритмы сжатия, например, lzma или xz. В последнее время все программное обеспечение подписывается ключами для удостоверения подлинности, вот и RPM поддерживает подпись с помощью GPG и MD5. Технология PatchRPMs или DeltaRPMs позволяет грамотно обновлять RPM пакеты без больших затрат трафика.

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

Для работы с RPM могут использоваться несколько различных пакетных менеджеров, это универсальная утилита rpm, пакетный менеджер zypper в OpenSUSE, dnf в Fedora, urpmi  в Mageia, yum - во многих дистрибутивах, основанных на Fedora.

Рассмотрим основные особенности RPM:

  • Автоматическое разрешение зависимостей в большинстве случаев корректно
  • Файл архива имеет специальный формат
  • Не поддерживается реализация зависимостей с выбором зависти от пакет1 или пакет2.
  • Не поддерживаются рекомендованные пакеты
  • Позволяет настроить зависимость от файла, а не пакета
  • Все данные об установленных пакетах хранятся в базе данных поэтому при надобности можно проверить контрольные суммы
  • Поддерживаются сценарии как до, так и после установки программ
  • Поддерживается формат SRPM, который содержит в себе исходники программы все патчи с инструкции по сборке, позволяющие собрать программу из исходников на локальной машине.
  • Отличная поддержка Multilib пакетов

Deb (Debian Package Manager)

Файлы deb - это архивы, созданные с помощью утилиты ar. Они могут быть сжаты с помощью GZIP, Bzip2, lzma, или XZ. Чаще всего для управления пакетами deb в терминале используется утилита dpkg, Но могут и другие, например, gdebi, apt, aptitude и т д. Deb пакеты используются для установки программного обеспечения во многих операционных системах, основанных на Debian, это ветка Ubuntu со многими основанными на ней дистрибутивами и так далее. Поскольку Ubuntu в последнее время набирает популярность среди новичков, то пакетов для нее становится больше.

Из особенностей системы управления пакетами DEB можно назвать использование приоритетов для классификации пакетов по важности, а также поддержку рекомендованных пакетов. Это пакеты, которые не находятся в зависимостях программы, но желательны для установки вместе с ней. Рекомендованные утилиты устанавливаются автоматически в таком инструменте, как apt. Чтобы сравнить rpm vs deb рассмотрим особенности deb:

  • Файл пакета - обычный архив
  • Поддержка приоритетов для пакетов различной важности
  • Поддержка рекомендованных пакетов
  • Не поддерживаются файловые зависимости
  • Не поддерживается технология Delta для экономии трафика

Аналоги команд

Давайте рассмотрим аналоги команд для выполнения одних и тех же действий в этих системах управления пакетами с помощью утилит rpm и dpkg:

Установка пакета:

$ sudo rpm -i пакет.rpm

$ sudo dpkg -i пакет.deb

Обновление пакета:

$ sudo rpm -i пакет.rpm

$ sudo dpkg -i пакет.deb

Удалить установленный пакет:

$ sudo rpm -e пакет.rpm

$ sudo dpkg -r пакет.deb

Показать список установленных пакетов:

$ sudo rpm -qa

$ sudo dpkg -l

Показать все файлы установленного пакета:

$ sudo rpm -ql пакет

$ sudo dpkg -L пакет

Посмотреть информацию о пакете:

$ sudo rpm -qi пакет

$ sudo dpkg -p пакет

Показать информацию о файле пакета:

$ sudo rpm -qpi файл.rpm

$ sudo dpkg -l файл.deb

Список файлов в пакете:

$ sudo rpm -qpl файл.rpm

$ sudo dpkg -l файл.deb

Проверить пакет:

$ sudo rpm -V пакет

Проверить все установленные пакеты:

$ sudo rpm -Va

Выводы

Несмотря на незначительные отличия в процессе обработки пакетов и работы с программным обеспечением эти системы очень похожи и выбрать что лучше deb или rpm  будет очень сложно. В конце концов, они выполняют одни и те же функции, только немного отличается технология. Есть и примечательные особенности. Пользователям с медленным интернетом будет очень полезна функция дельта RPM пакетов, которая позволяет обновлять только измененную часть пакета, а новичкам будет полезна возможность автоматической установки рекомендованных пакетов в deb. Если вы знаете другие отличия rpm и deb - напишите в комментариях!

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую OpenSUSE. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

Ваше имя тоже может быть здесь. Как? Пишите для нас! Смотрите подробнее как стать автором Losst.

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (13 оценок, среднее: 3,92 из 5)
Загрузка...

  3 comments for “Что лучше deb или rpm

  1. Knissiah
    Июнь 1, 2016 at 11:03 дп

    Опечатка в «показать информацию о файле пакета»
    ***.rpm

  2. ruslandh
    Июнь 1, 2016 at 11:20 дп

    1) «Оба файла и Deb и Rpm — это всего лишь архивы, созданные с помощью утилиты ar» ??? — для deb ar, для rpm -cpio
    2) Перепутаны пакетные менеджеры
    — первый уровень, это утилиты rpm, rpmi (кстати есть и такой) и pkg
    — второй уровень — zypper, yum,…. apt. Кстати, apt умеет работать и с rpm, и есть несколько веток дистрибутивов, которые используют связку rpm — apt

    ps Есть ещё уровень GUI — synatic, aptitude, uasm и т.п.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: