Каковы профессионалы/недостатки deb по сравнению с об/мин?

Это - все очень сложные методы.
Можно смонтировать удаленную файловую систему на локальной машине с sshfs:

mkdir -p /mnt/sshfs

root@IS1300:~# sshfs 192.168.1.2:/ /mnt/sshfs
root@IS1300:~# umount /mnt/sshfs

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

173
03.09.2016, 21:17
12 ответов

Основным различием для специалиста по обслуживанию пакета (я думаю, что это было бы 'разработчиком' в малопонятном жаргоне Debian) является способ, которым объединяются метаданные пакета и сопроводительные сценарии.

В мире об/мин все Ваши пакеты (RPMs Вы поддерживаете) расположены в чем-то как ~/rpmbuild. Внизу, существует SPEC каталог для Ваших файлов спецификации, a SOURCES каталог для источника tarballs, RPMS и SRPMS каталоги для помещения недавно созданного RPMs и SRPMs в, и некоторые другие вещи, которые не релевантны теперь.

Все, что имеет отношение, как об/мин будет создан, находится в файле спецификации: какие патчи будут применены, возможны пред - и постскриптумы, метаданные, журнал изменений, все. Весь источник tarballs и все патчи всех Ваших пакетов находятся в ИСТОЧНИКАХ.

Теперь, лично, мне нравится то, что все входит в файл спецификации, и что файл спецификации является отдельным объектом из источника tarball, но я не чрезмерно восторжен по поводу наличия всех источников в ИСТОЧНИКАХ. по моему скромному мнению, ИСТОЧНИКИ нарушен довольно быстрый, и Вы склонны терять след того, что там. Однако мнения отличаются.

Для RPMs важно использовать тот же самый tarball в качестве того восходящие выпуски проекта до метки времени. Обычно нет никаких исключений к этому правилу. Пакеты Debian также требуют того же tarball как в восходящем направлении, хотя политика Debian требует, чтобы некоторый tarballs был повторно упакован (спасибо, Umang).

Пакеты Debian проявляют другой подход. (Простите любые ошибки здесь: Я намного менее опытен с deb's, что я с об/мин.) файлы для разработчика пакетов Debian содержатся в каталоге на пакет.

Что я (думают к) приблизительно как этот подход являюсь тем, что все содержится в единственном каталоге.

В мире Debian это, как немного больше принимают, несет патчи в пакете, которые еще не являются восходящими. В мире об/мин (по крайней мере, среди производных Red Hat) это осуждено. См. "FedoraProject: Пребывание близко к восходящим проектам".

Кроме того, Debian имеет огромное количество сценариев, которые могут автоматизировать огромную часть создания пакета. Например, создавая - простой - пакет setuptool'ed программы Python, так же просто как создание нескольких файлов метаданных и выполнение debuild. Тем не менее файл спецификации для такого пакета в формате об/мин был бы довольно короток и в мире об/мин также существует много материала, который автоматизирован в эти дни.

87
27.01.2020, 19:27
  • 1
    Исправлять Вас на упаковке Debian, debian каталог существует в каталоге, в который восходящий источник был извлечен в, и Debian действительно оценивает понятие нетронутого восходящего источника tarball очень. Когда исходный пакет создается, существует три (два для собственных пакетов) файлы, которые вместе называют исходным пакетом: восходящий поток tarball (предпочтительно нетронутый, политика Debian требует, чтобы некоторые проекты были повторно упакованы), tarball debian dir для новых 3,0 форматов, (разность для старых 1,0 форматов) и .dsc. –  Umang 18.08.2010, 19:17
  • 2
    debian каталог не входит в восходящий поток tarball, это остается в .diff.gz или .debian.tar.gz файлы исходного пакета, хотя debian каталог в исходном дереве, когда исходный пакет извлечен. BTW: когда политика не требует переупаковки, MD5 tarball должен соответствовать восходящему tarball's. Кроме того, для разъяснения патчи сделали мой, специалист по обслуживанию к восходящему источнику хранится в debian каталоге (исходный формат 3.0) и в .diff.gz (формат 1.0). –  Umang 18.08.2010, 19:18
  • 3
    Umang, спасибо за Ваше исправление. Я удалю часть об изменении tarball восходящего потока, чтобы удостовериться, что никто не неправильно понимает. –  wzzrd 18.08.2010, 19:26
  • 4
    Выглядит хорошо теперь, кроме Вы все еще добрались "Для об/мин, важно использовать тот же самый tarball в качестве того восходящие выпуски проекта до метки времени". Из-за моего общего отсутствия опыта с RPMs я не знаю, огромна ли разница в политике, но как я сказал, Разработчик Debian настоит на нем являющийся точным к метке времени, если восходящий поток tarball не нарушит политику Debian и должен быть повторно упакован. –  Umang 18.08.2010, 19:33
  • 5
    @wzzrd, на самом деле легко соединить Ваши исходные файлы в каталоге на пакет путем определения % _specdir и % _sourcedir в ~/.rpmmacros файл. –  mattdm 03.12.2010, 05:44

Много людей сравнивает программное обеспечение установки с apt-get кому: rpm -i, и поэтому скажите DEB лучше. Это однако не имеет никакого отношения к формату файла DEB. Реальное сравнение dpkg по сравнению с rpm и aptitude/apt-* по сравнению с zypper/yum.

С точки зрения пользователя нет большой части различия в этих инструментах. Об/мин и форматы DEB являются оба просто архивными файлами с некоторыми метаданными, присоединенными к ним. Они являются оба одинаково тайными, имеют пути установки hardcoded (фу!) и только отличаются по тонким деталям. Оба dpkg -i и rpm -i не имейте никакого способа выяснить, как установить зависимости, кроме того, если они, оказывается, указаны на командной строке.

Вдобавок к этим инструментам существует управление репозиторием в форме apt-... или zypper/yum. Эти инструменты загружают репозитории, отслеживают все метаданные и автоматизируют загрузку зависимостей. Заключительная установка каждого единственного пакета передана инструментам низкого уровня.

В течение долгого времени, apt-get было выше в обработке огромной суммы метаданных действительно быстро в то время как yum взял бы возрасты, чтобы сделать это. Об/мин также пострадал от сайтов как rpmfind, где Вы нашли бы 10 + несовместимые пакеты для различных дистрибутивов. Apt полностью скрытый эта проблема для пакетов DEB, потому что все пакеты были установлены из того же источника.

По-моему, zypper действительно преодолел разрыв к apt и нет никакой причины стыдиться использования ОСНОВАННОГО НА ОБ/МИН распределения в эти дни. Столь же хорошо, если не легче использовать с openSUSE создают сервис под рукой для огромного совместимого индекса пакета.

95
27.01.2020, 19:27
  • 1
    @Tshepang: фиксированный –  vdboor 14.12.2010, 14:26
  • 2
    По-моему, я презирал об/мин по точной причине, которую Вы упомянули: "Об/мин, также перенесенный от сайтов как rpmfind, где Вы нашли бы 10 + несовместимые пакеты для различных дистрибутивов". Также я нахожу чрезмерно трудным найти об/мин для программного обеспечения, в котором я нуждаюсь. В то время как для DEB: "Кв. полностью скрыла эту проблему для пакетов DEB, потому что все пакеты были установлены из того же источника". которые действительно легко найти и использовать. Кроме того, DEB всегда, кажется, находит и устанавливает зависимости лучше, в то время как об/мин, казалось, всегда позволял мне подвешивающий... мое мнение после 15 лет использования обоих! –  Jeach 28.02.2013, 23:36
  • 3
    я верю этому ответу, рассматривает вопрос с потребительской точки зрения, в отличие от @wzzrd, который является полностью центрируемым разработчиком/поставщиком программного блока. Кроме того, очень ясный о разделении уровня. –  GnP 11.02.2014, 23:28
  • 4
    Ваш текст был скопирован в WikiVS, кажется, приписывается правильно. –  Martin Ueding 09.09.2014, 22:24
  • 5
    С точки зрения пользователя это - лучший ответ. И я добавил бы, что использование PPAs намного более просто, чем добавление новой конфетки repo. –  Marco Sulla 12.09.2014, 16:34

С точки зрения системного администратора я нашел несколько незначительных различий, главным образом в dpkg/rpm комплекте инструментальных средств, а не формате пакета.

  • dpkg-divert позволяет иметь Ваш собственный файл, перемещают тот, прибывающий из пакета. Это может быть спаситель, когда у Вас есть программа, которая ищет файл в /usr или /lib и не возьмет /usr/local для ответа. Идея была предложена, но насколько я могу сказать не принятый в об/мин.

  • Когда я в последний раз администрировал основанные на об/мин системы (который по общему признанию был несколько лет назад, возможно, ситуация улучшилась), об/мин всегда перезаписывал бы измененные конфигурационные файлы и перемещал бы мои настройки в *.rpmsave (IIRC). Это сделало мою систему незагрузочной, по крайней мере, однажды. Dpkg спрашивает меня, что сделать с хранением моих настроек как значение по умолчанию.

  • Двоичный пакет об/мин может объявить зависимости от файлов, а не пакетов, который допускает более прекрасное управление, чем deb пакет.

  • Вы не можете установить RPM-пакет версии N в системе с версией n-1 инструментов об/мин. Это могло бы относиться к dpkg также, кроме формата не изменяется как часто.

  • dpkg база данных состоит из текстовых файлов. База данных об/мин является двоичной. Это делает dpkg базу данных легкой исследовать и восстановить. С другой стороны, пока ничто не идет не так, как надо, об/мин может быть намного быстрее (установка deb требует чтения тысячи маленьких файлов).

  • deb пакет использует стандартные форматы (ar, tar, gzip) таким образом, можно осмотреть, и в тонкой настройке повышения), deb пакеты легко. RPM-пакеты не почти как дружественные.

39
27.01.2020, 19:27
  • 1
    Это похоже в эти дни, что это сохраняет новый конфигурационный файл с *.rpmnew вместо того, чтобы ударить Ваш измененный один - по крайней мере, на openSUSE. –  Evan 21.08.2010, 03:56
  • 2
    Оба сделаны, таким образом, Вы получаете рассеивание rpmsave и rpmnew файлов. –  Burhan Ali 16.03.2012, 10:31
  • 3
    Вы являетесь неправильными о RPMs, не используют стандартные форматы. RPMS используют CPIO для раздела данных - который является стандартным форматом архива. Другие разделы являются главным образом заголовками. Можно использовать инструмент rpm2cpio, чтобы извлечь только раздел данных об/мин и извлечь файлы, содержавшие в об/мин. Например: rpm2cpio foobar.rpm | cpio-idmv –  Tuxdude 09.10.2012, 00:13
  • 4
    ... и существует rpm2cpio.sh для наклоненных. –  Michael Shigorin 15.02.2015, 21:54

ОБ/МИН:

  • 'Стандартизированный' (не, что нет deb спецификации),
  • Используемый многими различными дистрибутивами (но пакеты от каждый не обязательно работает над другим),
  • IIRC позволяет зависимости от файлов, не только на пакетах

DEB:

  • Рост популярности
  • Позволяет рекомендации и предложения (возможно, более новый об/мин позволяет его также),

Вероятно, более важным вопросом является диспетчер пакетов (dpkg по сравнению с конфеткой по сравнению со способностью и т.д.), а не формат пакета (поскольку оба сопоставимы).

19
27.01.2020, 19:27
  • 1
    "Не растет популярность" в основном "Ubuntu основана на Debian, и таким образом, y'know, там Вы идете?" –  mattdm 03.12.2010, 05:49
  • 2
    "dpkg по сравнению с конфеткой" является неправильным сравнением, как первый - диспетчер пакетов, но последний не (столь же склонный / способность менеджеры по уровню репозитория, а не просто "пакет"). –  Michael Shigorin 15.02.2015, 22:15

Я думаю, что предвзятость прибывает не из формата пакета, а из несоответствий, которые раньше существовали в репозиториях Redhat.

Назад, когда Redhat был распределением (прежде чем дни RHEL, Fedora и Ядра Fedora), люди будут иногда оказываться в "Аду об/мин" или "Аду зависимости". Это произошло, когда репозиторий закончится с пакетом, который имел зависимости (несколько слоев глубоко, обычно), которые были взаимоисключающими. Или это возникло бы, когда два различных пакета имели две взаимоисключающих зависимости. Это было проблемой с состоянием репозитория, не с форматом пакета. "Ад об/мин" оставил отвращение к системам об/мин среди некоторого населения пользователей Linux, которые стали записанными проблемой.

12
27.01.2020, 19:27

Существует также "философское" различие, где в пакетах Debian можно задать вопросы и этим, заблокировать процесс установки. Плохая сторона этого - то, что некоторые пакеты заблокируют Ваши обновления, пока Вы не ответите. Хорошая сторона этого, также поскольку философское различие, на Debian основывал системы, когда пакет установлен, это настроено (не всегда, как Вы хотели бы), и выполнение. Не в основанных на Redhat системах, где необходимо создавать/копировать из/usr/share/doc /* конфигурационный файл значения по умолчанию/шаблона.

8
27.01.2020, 19:27

Одна вещь мне нравится приблизительно RPMs, (недавний?) добавление дельты RPMs. Это допускает более легкое обновление, уменьшая требуемую пропускную способность.

DEBs являются стандартными файлами площади (с более стандартными архивами внутри), RPMs являются "собственными" двоичными файлами. Я лично думаю, что первый более удобен.

Всего две вещи я могу думать первое, что пришло на ум. Оба очень сопоставимы. У обоих есть превосходные инструменты для упаковки. Я не думаю, что существует столько достоинств для одного по другой или наоборот.

6
27.01.2020, 19:27
  • 1
    , Называя RPMs "собственным" немного силен. Существуют некоторые дополнительные заголовки и такой, но ядро об/мин является gzip-сжатым архивом cpio. Существует инструмент, который идет с об/мин, названным rpm2cpio, который позволяет Вам извлечь это ядро, таким образом, можно играть с ним точно так же, как Вы можете с .deb файлом. –  Warren Young 18.08.2010, 17:08
  • 2
    . Об/мин не является собственными двоичными файлами. Они раньше создавались вокруг cpio (который является старым, да, но не собственным), в то время как более новые версии об/мин используют xz, который доступен как открытый исходный код, также. –  wzzrd 18.08.2010, 17:15
  • 3
    Право, я заключил его в кавычки из-за курса, это не является действительно собственным, и это точно, что я имею в виду: дополнительные заголовки, и т.д. таким образом, это - не совсем прямой файл площади как deb. Не огромное соглашение, просто незначительная вещь. –  johansson 18.08.2010, 21:01
  • 4
    Возможно, необходимо заменить "собственные двоичные файлы" "архивными файлами с нестандартными добавленными заголовками". –  Ryan C. Thompson 21.08.2010, 02:37
  • 5
    Заинтересованные могут найти rpm2cpio.sh сценарий. –  Michael Shigorin 15.02.2015, 22:12

Сервис сборки openSUSE (OBS) и застежка-молния являются несколькими причинами, я предпочитаю об/мин по deb с точки зрения поставщика программного блока и пользователя. Zypper проделал длинный путь и довольно блин быстр. OBS, хотя это может обработать debs, действительно хорош когда дело доходит до упаковки rpms для различных платформ, таких как openSUSE, SLE, RHEL, песни, мягкая фетровая шляпа, mandriva, и т.д.

5
27.01.2020, 19:27
  • 1
    По моему скромному мнению, Сервис Сборки openSUSE является самой прохладной вещью прийти в долгое время. Они действительно сделали его правильно. –  Archie 03.12.2010, 05:55
  • 2
    Хотя это о deb по сравнению с об/мин, Вы - правильная застежка-молния, является потрясающим с поддержкой репозиториев с приоритетами и потрясающего решателя SAT. –  drahnr 01.09.2012, 13:06

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

Вот довольно хорошая ссылка для сравнения некоторых определенных функций, которые доступны для каждого определенного упаковочного формата: http://debian-br.sourceforge.net/txt/alien.htm (согласно веб-серверу, тот документ довольно стар: измененный в последний раз: Sun, 15 октября 2000 таким образом, это не могло бы быть лучшей ссылкой.)

5
27.01.2020, 19:27
  • 1
    Привет @MikeGray. Связь разорвана. Вы могли обновить его? –  olibre 20.09.2013, 11:31

Для Пакетов Debian существует большой набор сценариев помощника, руководства последовательной политики и по крайней мере одного способа сделать почти все. Зависимости обрабатываются очень хорошо и могут быть определены в очень хорошей гранулярности. Восстановление пакетов очень легко с debian пакетами и хорошо поддерживаемое доступными инструментами.

4
27.01.2020, 19:27
  • 1
    Все эти вещи также верны для, например, RPMs, упакованный для Fedora. инструменты –  mattdm 05.05.2013, 16:14
  • 2
    поколения зависимости Debian рядом с несуществующим, мы - световые годы вперед в ALT Linux (основанное на об/мин распределение, использующее APT). –  Michael Shigorin 15.02.2015, 22:11

Как несколько респондентов сказали, это не так, что определенный формат пакета ясно выше. Технически, они могут быть более или менее сопоставимыми. С моей точки зрения много различий, и почему люди предпочитают один по другому, имеет отношение:

  • Философия исходного дизайна упаковки и целевой аудитории
  • Общественный размер, и следовательно, качество и богатство репозиториев

Философия:

В Ubuntu/Debian/Mint/... мир, пользователи ожидают установленный пакет к "просто работе", после того как это установлено. Это означает, что во время установки, пакеты, как ожидают, будут заботиться обо всем, должен был на самом деле заставить их работать хорошо, включая, но не ограничиваясь:

  • установка необходимых или дополнительных заданий крона
  • установка альтернатив/псевдонимов
  • установка сценариев запуска/завершения работы
  • включая все необходимые конфигурационные файлы со значениями по умолчанию, которые имеют смысл
  • хранение старых версий библиотек и добавление права присвоили версию символьным ссылкам на библиотеки (.so's) для обратной совместимости
  • уберите поддержку мультидуги (32 и 64 бита) двоичные файлы на той же машине и так далее.

В мире об/мин - по общему признанию это было ситуацией несколько лет назад, и она, возможно, улучшилась с тех пор - я имел необходимость для выполнения дополнительных шагов (например, chkconfig, включая задания крона), чтобы на самом деле заставить пакеты действительно работать. Это может быть хорошо для системных администраторов или людей, которые хорошо осведомлены о Unix, но он заставляет события новичка пострадать. Обратите внимание, что не то, чтобы сам формат RPM-пакета предотвращает это, это просто, что много пакетов де-факто не "полностью сделаны" с точки зрения новичка.

Общественный размер, участие и богатство репозиториев:

Начиная с ubuntu/debian/mint/... сообщество является более многочисленным, больше людей вовлечено в упаковку и тестирование программного обеспечения. Я нашел, что богатство и качество репозиториев были выше. В человечности I редко, если вообще, должен загрузить источник и создать из него. Когда я переключился от Red Hat до Ubuntu дома, типичный RHEL repo имел ~3000 пакетов в нем, в то время как одновременно, ubuntu+universe+multiverse все доступные непосредственно от любого Канонического зеркала, имел ~30 000 пакетов (примерно 10x). Большинство пакетов, которые я искал в формате об/мин, не были с готовностью доступны через простой поиск и щелчок в диспетчере пакетов. Они потребовали, чтобы переключение чередовало репозитории, искало rpmfind сервисный веб-сайт и т.д. Это, в большинстве случаев, вместо того, чтобы решить проблему, повредило мою установку путем отказа ограничить, какие зависимости могут или не могут быть обновлены правильно. Я поразил "явление" ада зависимости, как описано выше Shawn J. Goff.

По контрасту в Ubuntu/Debian я нашел, что почти никогда не должен создавать из источника. Также из-за:

  • Ubuntu быстро (6-месячный) цикл выпуска
  • Существование полностью совместимых PPAs, которые работают из поля
  • Единственные исходные репозитории (все размещенные Каноническим) никакая потребность искать альтернативный/дополнительный repos
  • Бесшовный пользовательский опыт от щелчка для выполнения

Я никогда не должен был идти на компромисс на более старых версиях пакетов, о которых я заботился, даже когда они не сохранялись официальными (Каноническими) разработчиками. Я никогда не должен был оставлять свой любимый дружественный диспетчер пакетов GUI, чтобы выполнить удобный поиск ключевым словом, найти и установить любой пакет, который я хотел. Кроме того, несколько раз я установил debian (не Канонический) пакеты на Ubuntu, и они работали просто великолепно, несмотря на эту совместимость, не официально гарантируемую.

Обратите внимание, что это не предназначается для запуска войны пламени, она просто обменивается моим опытом, использовавшим оба мира параллельно в течение нескольких лет (работа по сравнению с домом).

14
27.01.2020, 19:27
  • 1
    Это скорее о "Redhat по сравнению с каноническим" (с канонической жатвой, что debian делал в течение двух десятилетий), а не об "об/мин по сравнению с deb" - я говорю что как Член команды Linux ALT. инструменты –  Michael Shigorin 15.02.2015, 21:58
  • 2
    Да, точно. И хорошо сказал. –  arielf 13.04.2015, 05:38

Ни один из других ответов не касается того, как следующие три фундаментальных различия имеют реальные последствия:

  1. debфайлы в основном просто arархивы, содержащие два сжатых архива
  2. Пакеты
  3. debи система dpkgхранят ваши сценарии поддержки в виде отдельных файлов
  4. dpkgи rpmзапускают сценарии сопровождающего в другом порядке во время обновления.

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

Из-за #1, если мне нужно изменить debфайл, я могу просто открыть его, внести любые необходимые изменения и переупаковать его, используя стандартные инструменты, которые существуют в большинстве систем .

Это включает в себя изменение/добавление/удаление любых зависимостей, или любых файлов пакета, или любого из сценариев сопровождающего, или изменение версии или имени пакета.

Из-за #2, если есть проблема в скриптах "удаления", установленных пакетом , который уже установлен , я могу тривиально это исправить, используя стандартные средства, которые существуют в любой системе .

Из-за #3 я могу внести некоторые из этих исправлений, просто выпустив новую версию моего пакета, потому что во время обновления dpkgзапускает сценарий «предварительной -установки» новой версии пакета. package перед скриптом "post -remove" старой версии.

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

А поскольку модифицировать пакет так просто -, фактические -специфические для пакета возни и затраты на знания ничтожны -, он доступен большему количеству людей и требует меньше времени и усилий с debфайлами.

5
27.01.2020, 19:27

Теги

Похожие вопросы