Czym są .deb i .rpm i czym różnią się od .msi? [Zamknięte]

30

Jakie są te formaty plików i czym różnią się od .msiformatu w systemie Windows? Jakie są zalety i wady tych programów zarządzania pakietami?

otwory śmierci
źródło
.deb i .rpm są bardziej podobne do .msi niż do .exe.
Ignacio Vazquez-Abrams,
Uwaga: pytanie „jakie są zalety i wady rpm vs deb / dpkg” w innym miejscu w Internecie niesie ze sobą możliwość wzniecenia wojny z płomieniem.
strugee

Odpowiedzi:

40

Pliki takie jak .debi .rpmsą bardziej podobne do .zippliku. Są drzewem katalogów plików i podkatalogów zawierających pliki związane z określoną aplikacją i / lub biblioteką plików.

Distros

Te .debpliki są przeznaczone do dystrybucji Linuksa, które wywodzą się od Debiana (Ubuntu, Linux Mint, etc.). Te .rpmpliki są używane głównie przez dystrybucje, które wywodzą się z dystrybucji opartej na systemie RedHat (Fedora, CentOS, RHEL), jak również przez dystrybucji openSUSE.

Co jest w nich specjalnego?

Pliki te mają jeszcze jedną specjalną cechę, która odróżnia je od .zipplików, ponieważ mogą zawierać specyfikację zawierającą reguły informujące oprogramowanie menedżera pakietów działające w systemie, który instaluje jeden z tych plików, do wykonania dodatkowych zadań. Te zadania obejmowałyby takie rzeczy jak:

  • tworzenie kont użytkowników w systemie
  • tworzenie / modyfikowanie plików konfiguracyjnych, które tak naprawdę nie są zawarte w pliku .deblub.rpm
  • ustaw własność / uprawnienia do plików po instalacji
  • uruchom komendy jako root w systemie, który instaluje pakiet
  • zależności, oba formaty mogą zawierać nazwy lub pakiety i / lub nazwy usług, które muszą być obecne w systemie przed instalacją.

Co z plikami .msi?

.msipliki są podobne do plików .debi .rpm, ale prawdopodobnie są jeszcze bardziej wyrafinowane. Te .msipliki są wykorzystywane przez Instalatora Windows i oferuje dodatkowe funkcje, takie jak:

  • Framework GUI
  • generowanie sekwencji dezinstalacji
  • Struktura sama w sobie - do użytku przez zewnętrznych instalatorów
  • Cofanie
  • Reklama
  • Interfejs użytkownika
  • itp.

Proponuję rzucić okiem na różne strony Wikipedii na te tematy, jeśli chcesz uzyskać bardziej szczegółowe wyjaśnienia.

Referencje

slm
źródło
Ponieważ odpowiedź zaczyna się od „Pliki takie jak .deb i .rpm są bardziej zbliżone do pliku .zip”, warto wspomnieć, że pakiety deb są tak naprawdę ararchiwami, a rpms są (prawdopodobnie częściowo) archiwami cpio. W przypadku debów łatwo jest sprawdzić, czy deb można rozpakować ar -x. W przypadku rpm nie wiem, czy jest to możliwe.
Faheem Mitha
@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj
@ ninjalj - dzięki, zapomniałem dodać tego polecenia. Użyłem go do rozpakowania rpms, gdy chciałem tylko jednego lub dwóch z nich. Zwykle pliki .spec.
slm
@ninjalj Dzięki, nie znałem tego.
Faheem Mitha,
31

Pozostałe odpowiedzi poruszyć cech .debi .rpmktóre są podobne do .msi. Wszystkie zawierają oprogramowanie w skompresowanym formacie, który może zrobić kilka dodatkowych rzeczy. Te dodatkowe rzeczy, o których już wspomniano, to dodawanie użytkowników, zadania przedinstalacyjne i poinstalacyjne, rejestracja programu w systemie (np. Rejestr systemu Windows, katalogi xdg-dir, OpenRC / systemd init itp.).

Tym, co odróżnia formaty (i jest ogromną zaletą), są zależności. Zarówno .debi .rpmpliki mogą zrobić i nazwy list i wersje innymi programami, które muszą być zainstalowane zgodnie z wstępnym oprogramowania. Same w sobie są to tylko informacje, ale ...

Zazwyczaj nie wchodzisz w bezpośrednią interakcję z plikami .debi .rpmpliki tak, jak robisz to z .msiplikami. W rzeczywistości, jak wspomniano wcześniej, a .debjest zwykle tylko archiwum (ar lub tar) skompresowanym za pomocą xz z zawartymi plikami w określonym układzie katalogów. Zamiast tego używasz narzędzi takich jak dpkgi rpmdo manipulowania tymi plikami.

dpkgi rpmzainstaluje zawartość .debi .rpmpliki i sprawdzić wszystko jest zainstalowane oprogramowanie wstępnym. Uruchamianie tych programów jest podobne do klikania .msipliku. Użytkownicy jednak zazwyczaj nie oddziałują z dpkgalbo rpmale zamiast używać apt-geti yuminstalować pakiety. Te narzędzia nie mają dokładnych analogów w systemie Windows.

Zarówno apt-geti yumsą w stanie pobierać pliki z odległych (lub lokalne) repozytoriów i korzystać z informacji przechowywanych w zależności .debi .rpmplików do pobrania i zainstalowania żadnych warunków wstępnych nie spełniły. Za pomocą tych narzędzi nie muszę wiedzieć ani martwić się o to, jakie inne oprogramowanie jest mi potrzebne, mogę jedynie określić apt-get install chromiumi wiedzieć, apt-getże upewnię się, że mam zainstalowane biblioteki gtk +, alsa, niektóre biblioteki X itp. Bez konieczności ręcznego znajdowania i instalowania ich .deboraz .rpmpliki.

apt-geti yumsą dużymi menedżerami dwóch pakietów, a także tam emergei pacmantam, którzy wykonują te same zadania, chociaż z różnymi mechanizmami leżącymi u ich podstaw.

Casey
źródło
7
+1 za mówienie o zarządzaniu zależnościami. Nie należy tego przeoczyć.
ldrumm
1
Uwaga: Uważam, że .debs są pakowane za pomocą arnarzędzia. nie mam pojęcia dlaczego.
strugee
1
także, jeśli zamierzasz liczyć się emergejako menedżer pakietów, może powinieneś również rozważyć porty BSD (chociaż niewiele o nich wiem, więc nie jestem pewien, czy mają odpowiedniki menedżera pakietów w GNU / Linux).
strugee
3
@strugee prawda, edytowałem to, aby to odzwierciedlić. Również pod względem technicznym portage jest silnikiem zarządzania pakietami emergei jest bardzo podobny do portów. Wszystko opiera się na źródłach i jest bardzo konfigurowalne, ale jeśli polecenie zainstaluje / odinstaluje, poradzi sobie z zależnościami i utrzyma bazę danych zainstalowanych pakietów, nazywam to menedżerem pakietów. Dobre komentarze
Casey
@ casey: Gdzie mogę uzyskać więcej informacji o podstawowych mechanizmach dpkg i rpm?
dziury śmierci
4

Ma dość te same funkcje, co plik MSI w systemie Windows:

  • rejestruje oprogramowanie w rejestrze,
  • rejestruje, które pliki zostały zainstalowane z tym pakietem.

W systemie Linux zarządzają także zależnościami między innymi pakietami.

Formaty zarządzania pakietami wykonują wiele innych czynności, ale są to główne funkcje.

Vinz
źródło
2

.rpmpliki to pakiety RPM, które odnoszą się do typu pakietu używanego przez dystrybucje Red Hat i Red Hat (np. Fedora, RHEL, CentOS). .debpliki to pakiety DEB, które są typem pakietów używanych przez Debian i pochodne Debiana (np. Debian, Ubuntu).

Po pobraniu są zazwyczaj instalowane odpowiednio za pomocą poleceń rpmi dpkgw odpowiednich dystrybucjach. Innymi słowy, są to pliki instalowane przez rpmlub dpkgzamiast .msilub .exepliki instalacyjne, które są plikami wykonywalnymi, które instalują się same.

Pakiety RPM i DEB różnią się od MSI na wiele sposobów.

  • Jak wyżej, są to pliki, które wymagają zainstalowania innych narzędzi (tj. rpmI dpkg).
  • Po zainstalowaniu są one dodawane do bazy danych, co nie ma miejsca w plikach MSI. Pliki MSI zawierają program w rejestrze, ale odinstalowanie przez Panel sterowania raczej nie spowoduje całkowitego usunięcia wszystkich zainstalowanych plików z dysku. Dlatego po odinstalowaniu pakietów RPM i DEB wszystkie pliki są usuwane w sposób czysty.
  • Zazwyczaj nie są one pobierane i instalowane bezpośrednio, ale za pośrednictwem menedżerów pakietów, takich jak yumi aptitudeodpowiednio - istnieją tak zwane repozytoria, które oferują pakiety skompilowane dla odpowiedniego systemu, a menedżer pakietów automatycznie zainstaluje wszystkie zależności z danych w repozytoriach.
  • Zainstalowane pakiety zazwyczaj uruchamiają kilka narzędzi konfiguracyjnych, na przykład jeśli instalujesz GDM w systemie już zainstalowanym z LightDM, narzędzia pytają, czy wolisz używać GDM z LightDM.
  • Podczas instalowania pakietów innych niż zależności sugerowane są niektóre pakiety, które pokazują pakiety nie wymagane, ale mogą być przydatne dla użytkownika.
Davidson Chua
źródło
1

Zarówno .debi .rpmsą pakiety programowe dla GNU / Linux dystrybucje zawierające oprogramowanie (program (y), aplikacji (y), etc.) i informacje dla instalatora * „*” oprogramowania o samego oprogramowania oraz instrukcje dotyczące sposobu instalacji co i gdzie poprawnie.

  • .debPakiet oprogramowania Debian , na dystrybucjach opartych na Debianie. Zainstalowany przez np. apt/ aptitude(Wiersz poleceń) lub graficznie przez np. „ Synaptic ” „ Centrum oprogramowania Ubuntu ”, „ Gdebi ”,…
  • .rpmMenedżer pakietów Red Hat : w dystrybucji Linuksa Fedory / Red Hat (na podstawie). Instalowany za pomocą np. yum(Linia poleceń) lub graficznie przez np. „ Yumex
  • .msito → Instalator Microsoft : Zupełnie taki sam jak powyżej, dla systemu operacyjnego Microsoft Windows

Sami instalatorzy mogą również obsługiwać konserwację, aktualizację i / lub usuwanie pakietów. Także: tutaj „ instalator ” oznacza oprogramowanie do prawidłowego wykonania tych zadań - dostarcza również wspomnianych informacji samemu użytkownikowi, oczywiście, aby ręcznie wykonać takie zadania.

erch
źródło
1
PackageKit nie jest aplikacją. jest to biblioteka abstrakcji dla różnych menedżerów pakietów w różnych dystrybucjach.
strugee
@strugee dang, myślałem, że to była nazwa. Naprawdę mam nadzieję, yumexjest właściwa nazwa ... dzięki za podpowiedź
erch
Wierzę, że domyślną wersją Fedory jest oprogramowanie GNOME.
strugee,
@strugee Próbowałem przez pewien czas Fedory, korzystałem z LXDE i pamiętałem graficzny interfejs do zarządzania pakietami, ale nazwa brzmiała… Myślę, że cokolwiek działa najlepiej i odpowiada jego pragnieniom :)
erch
1

.deb: Pakiet Debian używany dla dystrybucji Linuksa opartych na Debianie, takich jak Ubuntu, Linux Mint itp.

.rpm: rpminstalator dla dystrybucji Linuksa opartych na Red Hat, takich jak RHEL, Fedora i CentOS

.msi: Instalator binarny dla platformy Windows

Jeevan Roy Dsouza
źródło
Witamy w Stack Exchange! wyjaśnienie, dlaczego zostałeś przegłosowany: Nie jestem jedną z dwóch osób, które przegłosowały głosowanie, ale zgaduję, że zrobiły to, ponieważ sugerujesz, że Debian i / lub Ubuntu nie są GNU / Linuxami, i to jest fałszywe. oni są. (i jest o wiele więcej dystrybucji niż tylko Debian, Ubuntu i Fedora.) Ponadto, tak naprawdę niczego nie wyjaśniłeś.
strugee,
1
Aktualizacja: edytowana w celu usunięcia tej implikacji
Davidson Chua
Sądzę, że opinie negatywne są tak naprawdę po to, aby podawać jeden wiersz opisu tego, co oznacza plik, a nie faktyczne wyjaśnienie, w jaki sposób te pakiety różnią się od siebie. Spójrz na wybraną odpowiedź tutaj, czyli takiej jakości, jakiej oczekują od odpowiedzi :)
Munim