Что это за форматы файлов и чем они отличаются от .msiформата в Windows? И каковы плюсы и минусы этих схем управления пакетами?
Что это за форматы файлов и чем они отличаются от .msiформата в Windows? И каковы плюсы и минусы этих схем управления пакетами?
Ответы:
Файлы, такие как .debи .rpmболее сродни .zipфайлу. Это дерево каталогов файлов и подкаталогов, которые содержат файлы, относящиеся к конкретному приложению и / или библиотеке файлов.
Эти .debфайлы предназначены для распределения Linux , которые вытекают из Debian (Ubuntu, Linux Mint и т.д.). Эти .rpmфайлы используются в первую очередь распределениями , которые вытекают из дистрибутивов Redhat основы (Fedora, CentOS, RHEL), а также в дистрибутиве OpenSUSE.
У этих файлов есть еще одна особенность, отличающая их от .zipфайлов: они могут включать спецификацию, содержащую правила, которые сообщают программному обеспечению менеджера пакетов, работающему в системе, которая устанавливает один из этих файлов, выполнять дополнительные задачи. Эти задачи будут включать такие вещи, как:
.debили.rpm.msiфайлы похожи на .deb& .rpmфайлы, но, вероятно, еще более сложные. Эти .msiфайлы используются установщиком Windows и предлагают дополнительные функции, такие как:
Я бы посоветовал взглянуть на различные страницы Википедии на эти темы, если вы хотите получить более подробное объяснение.
arархивами, а rpms - (возможно, частично) архивами cpio. В случае с debs легко убедиться, что deb можно распаковать ar -x. В случае rpm я не знаю, возможно ли это.
rpm2cpio package.rpm | cpio -idv
Другие ответы касаются качеств .debи .rpmсходных с ними .msi. Все они содержат программное обеспечение в сжатом формате, которое может делать некоторые дополнительные вещи. Эти дополнительные вещи, которые уже упоминались, включали добавление пользователей, задачи до и после установки, регистрацию программы в системе (например, реестр Windows, xdg-dirs, OpenRC / systemd init и т. Д.).
Что отличает форматы (и это огромный профессионал), это зависимости. И файлы, .debи .rpmфайлы могут и делать список имен и версий других программ, которые должны быть установлены в качестве обязательного программного обеспечения. Сами по себе это просто информационные, но ...
Вы , как правило , непосредственно не взаимодействуют с .debи .rpmфайлы , как вы делаете с .msiфайлами. На самом деле, как упоминалось ранее, a, .debкак правило, представляет собой просто архив (ar или tar), сжатый с помощью xz с содержащимися файлами в определенной структуре каталогов. Вместо этого вы используете такие инструменты, как dpkgи rpmдля управления этими файлами.
dpkgи rpmустановит содержимое .debи .rpmфайлы и проверит, установлено ли все необходимое программное обеспечение. Запуск этих программ аналогичен нажатию на .msiфайл. Пользователи, однако, обычно не взаимодействуют с dpkgили rpmвместо этого используют apt-getи yumдля установки пакетов. Эти инструменты не имеют точных аналогов на окнах.
Оба apt-getи yumимеют возможность получить файлы с удаленных (или локальных) хранилищ и использовать информацию о зависимостях , хранящуюся в .debи .rpmфайлы для загрузки и установки каких - либо предпосылок не встречались. С этими инструментами мне не нужно знать или беспокоиться о том, какое другое программное обеспечение мне нужно, я могу просто указать apt-get install chromiumи знать, что apt-getбудет гарантировать, что у меня установлены gtk +, alsa, некоторые библиотеки X и т. Д., Без необходимости вручную находить и устанавливать их .debи .rpmфайлы.
apt-getи yumявляется большими два менеджером пакетов, вы также найдете emergeи pacmanтам, которые делают ту же работу , хотя и с различными основными механизмами.
.debs упакованы с помощью arутилиты. понятия не имею почему.
emergeменеджером пакетов, возможно, вам следует также рассмотреть порты BSD (хотя я не знаю о них много, поэтому я не уверен, есть ли у них эквивалент менеджера пакетов в GNU / Linux).
emergeи он очень похож на порты. Все это основано на исходном коде и очень настраиваемо, но если команда установит / удалит, обработает зависимости и сохранит базу данных установленных пакетов, я назову ее менеджером пакетов. Хорошие комментарии.
Он имеет те же функции, что и файл MSI под Windows:
Под Linux они также управляют зависимостями между другими пакетами.
Этот формат управления пакетами делает много других вещей, но это основные функциональные возможности.
.rpmфайлы представляют собой пакеты RPM, которые относятся к типу пакетов, используемому в дистрибутивах Red Hat и Red Hat (например, Fedora, RHEL, CentOS). .debфайлы представляют собой пакеты DEB, которые представляют собой типы пакетов, используемые Debian и производными Debian (например, Debian, Ubuntu).
После загрузки, они , как правило , устанавливается при помощи rpmи dpkgкоманд , соответственно , на соответствующих дистрибутивах. Другими словами, они представляют собой файлы, которые устанавливаются rpmи dpkgвместо того , .msiили .exeустановочные файлы , которые Исполняемые , которые устанавливают сами.
Пакеты RPM и DEB отличаются от MSI во многих отношениях.
rpmи dpkg).yumи aptitudeсоответственно - существуют так называемые репозитории, которые предлагают пакеты, скомпилированные для соответствующей системы, и менеджер пакетов автоматически установит все зависимости из данных в репозиториях.И то, .debи другое .rpm- это пакеты программного обеспечения для дистрибутивов GNU / Linux, содержащие программное обеспечение (программы), приложения и т. Д.), А также информацию для программного обеспечения "* installer *" о самом программном обеспечении и инструкции о том, как устанавливать, что и где правильно.
.deb→ Пакет программного обеспечения Debian , на основе дистрибутивов Debian. Устанавливается с помощью, например, apt/ aptitude(Командная строка) или графически с помощью, например, « Synaptic », « Ubuntu Software Center », « Gdebi »,….rpm→ Диспетчер пакетов Red Hat : в дистрибутивах Linux для Fedora / Red Hat. Устанавливается, например, через yum(командную строку) или графически, например, через " yumex ".msiis → Microsoft Installer : примерно так же, как и выше, для ОС Microsoft WindowsСами установщики также могут выполнять обслуживание, обновление и / или удаление пакетов. Кроме того: здесь « установщик » означает программное обеспечение для правильного выполнения этих задач - оно также предоставляет упомянутую информацию для самого пользователя, конечно, для выполнения таких задач вручную.
yumexчто это правильное имя ... спасибо за подсказку
.deb: Пакет Debian, используемый для дистрибутивов Linux на основе Debian, таких как Ubuntu, Linux Mint и т. Д.
.rpm: rpmустановщик для дистрибутивов Linux на базе Red Hat, таких как RHEL, Fedora и CentOS
.msi: Двоичный установщик для платформы Windows