Ни один из других ответов не касается того, как следующие три фундаментальных различия имеют реальные последствия:
deb
файлы в основном просто ar
архивы, содержащие два сжатых архива deb
и система dpkg
хранят ваши сценарии поддержки в виде отдельных файлов dpkg
и rpm
запускают сценарии сопровождающего в другом порядке во время обновления. В совокупности эти различия позволили мне намного проще исправлять проблемы, вызванные плохими пакетами, и заставлять пакеты вести себя так, как мне нужно, в системах на базе deb
-, чем на rpm
-. ] систем, как как системный администратор , так и как упаковщик.
Из-за #1, если мне нужно изменить deb
файл, я могу просто открыть его, внести любые необходимые изменения и переупаковать его, используя стандартные инструменты, которые существуют в большинстве систем .
Это включает в себя изменение/добавление/удаление любых зависимостей, или любых файлов пакета, или любого из сценариев сопровождающего, или изменение версии или имени пакета.
Из-за #2, если есть проблема в скриптах "удаления", установленных пакетом , который уже установлен , я могу тривиально это исправить, используя стандартные средства, которые существуют в любой системе .
Из-за #3 я могу внести некоторые из этих исправлений, просто выпустив новую версию моего пакета, потому что во время обновления dpkg
запускает сценарий «предварительной -установки» новой версии пакета. package перед скриптом "post -remove" старой версии.
Это означает, что площадь поверхности для нарушения «принципа исправимости» меньше в deb
пакетах :больше ошибок в более ранней версии пакета может быть восстановлено с помощью новой версии.
А поскольку модифицировать пакет так просто -, фактические -специфические для пакета возни и затраты на знания ничтожны -, он доступен большему количеству людей и требует меньше времени и усилий с deb
файлами.