linux 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 -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 пакет

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

Выводы

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

Я запускаю 64-битный Ubuntu 16.04 LTS. Я только что купил Brother Brother (MFC-J480DW) от Staples, потому что мне сказали, что он совместим с Linux. Похоже, что это так, но для загрузки правильных драйверов он начинается с этого выбора: какая у меня версия ОС, Linux (rpm) или Linux (deb)? Я изучил и теперь несколько знаю, о чем говорят rpm и deb, но я не знаю, что касается Ubuntu 16.04 LTS. Любые подсказки?

4 ответа

Ubuntu — это дистрибутив, основанный на Debian Linux, и поэтому он совместим с пакетами Debian, имена которых заканчиваются .deb

, если вы используете потомок Debian, например Ubuntu (или любую производную от Ubuntu, например, Kali или Mint), тогда у вас есть .deb пакетов. Если вы используете Fedora, CentOS, RHEL и т. Д., То это .rpm . Если вы хотите получить более подробную информацию об этом, см. этот Unix & amp; Вопрос Linux .

Когда речь заходит про системы управления пакетами (Package management systems), то конечно же в голову лезут два монстра:

Попытаемся разобраться с ними.

Итак, есть две самые крупные системы — rpm и deb. К тому же, это еще и названия фомартов самих пакетов, то есть их расширений. RPM (Redhat Package Manager или RPM Package Manager, кому нравятся акронимы) используется на всех околокрасношапочных системах — RHEL, CentOS, Fedora, а также openSUSE, Mandriva и Yellow Dog, к которому мы еще вернемся. DEB — вспоминаются Ubuntu, Debian ну и остальные дебиан-подобные системы типа Linux Mint, Knoppix и прочее.

Несмотря на то, что они составляют два разных лагеря, эти две системы (rpm и deb) в сущности очень похожи. Для управления пакетами на низком уровне обе содержат утилиты, соответственно rpm и dkpg. На более высоком уровне у них соответственно yum (Yellow Dog Updater, Modified — вот откуда все пошло) и apt.

Что за разные уровни? Все очень просто, высокоуровневые утилиты способны самостоятельно решать проблемы зависимостей пакетов, упрощают процесс их обновления и позволяют не бегать по всему интернету в поисках нужных пакетов. Пакеты, установленные при помощи этих утилит легко управляемы.

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

Многие говорят, что deb лучше чем rpm, apt лучше чем yum (по скорости и что-то еще там было), но мне больше нравятся rpm-системы, я к ним привык. Сейчас я сижу под CentOS, которая, честно говоря, не очень подходит для использования на ноутбуке. После Нового года нужно будет обязательно опробовать новую федору.

Почему люди до сих пор используют apt, а не aptitude — загадка для меня.

Оцените статью
SoftLast
Добавить комментарий