Jak powiedziało kilka respondentów, nie jest tak bardzo, że pewien format pakietu jest wyraźnie lepszy. Technicznie mogą być mniej więcej porównywalne. Z mojej perspektywy wiele różnic i to, dlaczego ludzie wolą jedno od drugiego, dotyczy:
- Filozofia oryginalnego projektu opakowania i grupy docelowej
- Wielkość społeczności, a co za tym idzie, jakość i bogactwo repozytoriów
Filozofia:
W świecie Ubuntu / Debian / Mint / ... użytkownicy oczekują, że zainstalowany pakiet będzie „działał” po jego zainstalowaniu. Oznacza to, że podczas instalacji pakiety powinny zadbać o wszystko, co jest potrzebne do ich poprawnego działania, w tym między innymi:
- konfigurowanie potrzebnych lub opcjonalnych zadań cron
- tworzenie alternatyw / aliasów
- konfigurowanie skryptów uruchamiania / zamykania
- w tym wszystkie potrzebne pliki konfiguracyjne z wartościami domyślnymi, które mają sens
- utrzymywanie starych wersji bibliotek i dodawanie odpowiednich wersjonowanych dowiązań symbolicznych do bibliotek (.so) w celu zapewnienia kompatybilności wstecznej
- czysta obsługa plików binarnych z wieloma archami (32- i 64-bitowymi) na tym samym komputerze i tak dalej.
W świecie rpm - wprawdzie taka była sytuacja sprzed kilku lat i od tego czasu mogła się poprawić - musiałem wykonać dodatkowe kroki (np. Chkconfig, włączenie zadań crona), aby pakiety rzeczywiście działały. Może to być w porządku dla sysadminów lub osób znających się na Uniksie, ale powoduje to cierpienia dla początkujących. Zauważ, że nie jest tak, że sam format pakietu RPM temu zapobiega, po prostu wiele pakietów de facto nie jest „w pełni zrobionych” z perspektywy nowicjusza.
Wielkość społeczności, udział i bogactwo repozytoriów:
Ponieważ społeczność ubuntu / debian / mint / ... jest większa, więcej osób zajmuje się pakowaniem i testowaniem oprogramowania. Uważam, że bogactwo i jakość repozytoriów jest lepsza. W Ubuntu rzadko, jeśli w ogóle, muszę pobierać źródła i budować z nich. Kiedy przeniosłem się z Red Hat na Ubuntu w domu, typowe repozytorium RHEL zawierało ~ 3000 pakietów, podczas gdy jednocześnie ubuntu + wszechświat + multiwers wszystkie dostępne bezpośrednio z dowolnego lustrzanego Canonical zawierały ~ 30 000 pakietów (około 10x). Większość pakietów, których szukałem w formacie RPM, nie była łatwo dostępna poprzez proste wyszukiwanie i kliknięcie w menedżerze pakietów. Wymagały one przejścia do alternatywnych repozytoriów, przeszukiwania strony internetowej usługi rpmfind itp. W większości przypadków zamiast rozwiązać problem, zepsułem moją instalację, nie ograniczając, jakie zależności można lub nie można poprawnie zaktualizować. Uderzyłem w zjawisko „piekła zależności”, jak opisano powyżej przez Shawna J. Goffa.
W przeciwieństwie do Ubuntu / Debian stwierdziłem, że prawie nigdy nie muszę budować ze źródła. Również z powodu:
- Szybki cykl wydawniczy Ubuntu (6 miesięcy)
- Istnienie w pełni kompatybilnych umów PPA, które działają od razu po wyjęciu z pudełka
- Repozytoria z jednym źródłem (wszystkie hostowane przez Canonical) nie muszą szukać alternatywnych / uzupełniających repozytoriów
- Bezproblemowa obsługa od kliknięcia do uruchomienia
Nigdy nie musiałem iść na kompromis w sprawie starszych wersji pakietów, na których mi zależało, nawet jeśli nie były one utrzymywane przez oficjalnych (kanonicznych) programistów. Nigdy nie musiałem opuszczać mojego ulubionego przyjaznego menedżera pakietów GUI, aby przeprowadzić wygodne wyszukiwanie według słowa kluczowego, aby znaleźć i zainstalować dowolny pakiet, który chciałem. Ponadto kilka razy instalowałem pakiety Debian (nie Canonical) na Ubuntu i działały one dobrze, mimo że oficjalnie nie jest gwarantowana ta kompatybilność.
Zauważ, że to nie ma na celu rozpętania wojny z płomieniami, to po prostu dzielenie się moim doświadczeniem w korzystaniu z obu światów równolegle przez kilka lat (praca kontra dom).
debian
katalog istnieje w katalogu, do którego wyodrębniono źródło źródłowe, a Debian bardzo docenia koncepcję nieskazitelnego archiwum źródłowego. Kiedy budowany jest pakiet źródłowy, istnieją trzy (dwa dla pakietów rodzimych) pliki, które razem nazywane są pakietem źródłowym: archiwum wyjściowe (najlepiej nieskazitelne, polityka Debiana wymaga przepakowania niektórych projektów), archiwum katalogu debian dla nowy format 3.0, (diff dla starego formatu 1.0) i .dsc.