Cosa sono .deb e .rpm e in cosa differiscono da .msi? [chiuso]


30

Quali sono questi formati di file e in cosa differiscono dal .msiformato in Windows? Inoltre quali sono i pro e i contro di questi schemi di gestione dei pacchetti?


.deb e .rpm sono più simili a .msi che a .exe.
Ignacio Vazquez-Abrams,

nota: chiedere "quali sono i pro e i contro di rpm vs deb / dpkg" altrove su Internet comporta la possibilità di incitare una guerra di fiamma.
strugee,

Risposte:


40

File come .debe .rpmsono più simili a un .zipfile. Sono un albero di directory di file e sottodirectory che contengono file relativi a una particolare applicazione e / o libreria di file.

distribuzioni

I .debfile sono pensati per le distribuzioni di Linux che derivano da Debian (Ubuntu, Linux Mint, ecc.). I .rpmfile vengono utilizzati principalmente dalle distribuzioni che derivano da distribuzioni basate su Redhat (Fedora, CentOS, RHEL) e dalla distribuzione openSuSE.

Cosa c'è di speciale in loro?

Questi file hanno un'altra caratteristica speciale che li distingue dai .zipfile, in quanto possono includere una specifica che contiene regole che indicano al software del gestore pacchetti in esecuzione su un sistema che sta installando uno di questi file per svolgere attività aggiuntive. Queste attività includerebbero cose come:

  • creazione di account utente sul sistema
  • creazione / modifica di file di configurazione che non sono effettivamente contenuti nel file .debo.rpm
  • impostare la proprietà / autorizzazioni sui file dopo l'installazione
  • eseguire comandi come root sul sistema che sta installando il pacchetto
  • dipendenze, entrambi i formati possono includere nomi o pacchetti e / o nomi di servizi che devono essere presenti su un sistema, prima dell'installazione.

Che dire dei file .msi?

.msii file sono simili a .deb& .rpmfile ma probabilmente anche più sofisticati. I .msifile vengono utilizzati da Windows Installer e offrono funzionalità aggiuntive come:

  • Framework GUI
  • generazione di sequenze di disinstallazione
  • Un framework in sé - per l'utilizzo da parte di installatori di terze parti
  • rollback
  • Annuncio pubblicitario
  • Interfaccia utente
  • eccetera.

Suggerirei di dare un'occhiata alle varie pagine di Wikipedia su questi argomenti se vuoi una spiegazione più approfondita.

Riferimenti


Poiché la risposta inizia con "File come .deb e .rpm sono più simili a un file .zip", vale la pena ricordare che i pacchetti deb sono in realtà ararchivi e gli rpms sono (probabilmente in parte) archivi cpio. Nel caso di debs è facile verificare che un deb possa essere decompresso ar -x. Nel caso di rpm non so se questo sia possibile.
Faheem Mitha,

@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj il

@ninjalj - grazie ho dimenticato di aggiungere quel comando. L'ho usato per decomprimere rpms quando volevo solo un file o due. Di solito i file .spec.
slm

@ninjalj Grazie, non lo sapevo.
Faheem Mitha,

31

Le altre risposte toccano qualità di .debe .rpmsimili .msi. Tutti contengono software in un formato compresso che può fare alcune cose extra. Quelle cose extra già menzionate includevano l'aggiunta di utenti, attività pre e post installazione, registrazione del programma con il sistema (ad es. Registro di windows, xdg-dirs, OpenRC / systemd init, ecc.).

Ciò che differenzia i formati (ed è un grande professionista) sono le dipendenze. Entrambi .debe i .rpmfile possono elencare ed elencare nomi e versioni di altri programmi che devono essere installati come software pre-requisito. Di per sé, questo è solo informativo, ma ...

Di solito non interagisci direttamente con i file .debe .rpmcome fai con i .msifile. Infatti, come accennato in precedenza, a .debè in genere solo un archivio (ar o tar) compresso con xz con i file contenuti in un layout di directory specifico. Invece usi strumenti come dpkge rpmper manipolare questi file.

dpkge rpminstallerà il contenuto .debe i .rpmfile e verificherà che sia installato tutto il software pre-requisito. L'esecuzione di questi programmi è simile al clic su un .msifile. Gli utenti tuttavia, in genere non interagiscono con dpkgo, rpminvece, utilizzano apt-gete yuminstallano pacchetti. Questi strumenti non hanno analoghi esatti su Windows.

Entrambi apt-gete yumsono in grado di recuperare i file dai repository remoti (o locali) e utilizzare le informazioni sulla dipendenza archiviate nei file .debe .rpmper recuperare e installare tutti i prerequisiti non soddisfatti. Con questi strumenti non ho bisogno di sapere o preoccuparmi di quale altro software ho bisogno, posso solo specificare apt-get install chromiume sapere che apt-getmi assicurerò di aver installato gtk +, alsa, alcune librerie X, ecc. Senza che io debba trovare e installare manualmente .debe .rpmFile.

apt-gete yumsono i due grandi gestori di pacchetti, che troverai anche emergee pacmanlà fuori, che fanno gli stessi lavori anche se con meccanismi sottostanti diversi.


7
+1 per parlare della gestione delle dipendenze. Questo non dovrebbe essere trascurato.
ldrumm

1
nota: credo che gli .debs siano impacchettati usando l' arutilità. non ho idea del perché.
strugee,

1
inoltre, se hai intenzione di contare emergecome gestore di pacchetti, forse dovresti considerare anche le porte BSD (anche se non ne so molto su di loro, quindi non sono sicuro che abbiano l'equivalente di un gestore di pacchetti su GNU / Linux).
strugee,

3
@strugee vero, l'ho modificato per riflettere questo. Anche tecnicamente, il portage è il motore di gestione dei pacchetti dietro emergeed è molto simile ai porti. È tutto basato su sorgente e molto configurabile, ma se un comando installa / disinstalla, gestisce le dipendenze e mantiene un database di pacchetti installati, lo chiamerò gestore di pacchetti. Buoni commenti
Casey,

@casey: dove posso ottenere maggiori informazioni sui meccanismi sottostanti di dpkg e rpm?
Buche della morte

4

Ha le stesse funzionalità di un file MSI in Windows:

  • registra il software in un registro,
  • registra quali file sono stati installati con quel pacchetto.

Sotto Linux, gestiscono anche le dipendenze tra altri pacchetti.

I formati di gestione di questo pacchetto fanno molte altre cose, ma questa è la funzionalità principale.


2

.rpmi file sono pacchetti RPM, che si riferiscono al tipo di pacchetto utilizzato dalle distribuzioni derivate da Red Hat e Red Hat (ad es. Fedora, RHEL, CentOS). .debi file sono pacchetti DEB, che sono il tipo di pacchetto usato da Debian e Debian-derivati ​​(es. Debian, Ubuntu).

Una volta scaricati, vengono generalmente installati tramite i comandi rpme dpkgrispettivamente sulle distribuzioni pertinenti. In altre parole, sono file installati da rpme dpkganziché .msio .exefile di installazione che sono file eseguibili che si installano da soli.

I pacchetti RPM e DEB differiscono dall'MSI in diversi modi.

  • Come sopra, sono file che richiedono altri strumenti (ie rpme dpkg) per l'installazione.
  • Una volta installati, vengono aggiunti a un database, che non è il caso dei file MSI. I file MSI elencano il programma nel registro, ma è improbabile che una disinstallazione dal Pannello di controllo rimuova completamente tutti i file installati dal disco. Pertanto, quando i pacchetti RPM e DEB vengono disinstallati, tutti i file vengono rimossi in modo pulito.
  • In genere non vengono scaricati e installati direttamente, ma tramite gestori di pacchetti come yume aptituderispettivamente - ci sono i cosiddetti repository che offrono pacchetti compilati per il sistema pertinente e il gestore di pacchetti installerà automaticamente tutte le dipendenze dai dati nei repository.
  • I pacchetti installati in genere eseguono diversi strumenti di configurazione, ad esempio se si installa GDM su un sistema già installato con LightDM, gli strumenti chiedono se si preferisce utilizzare GDM di LightDM.
  • Durante l'installazione di pacchetti, oltre alle dipendenze, vengono suggeriti alcuni pacchetti, che mostrano pacchetti non richiesti ma che potrebbero essere utili per l'utente.

1

Entrambi .debe .rpmsono pacchetti software per distribuzioni GNU / Linux, contenenti software (programma (i), applicazioni (e), ecc.) E informazioni per il software "* installer *" sul software stesso e istruzioni su come installare cosa e dove correttamente.

  • .debPacchetto software Debian , su distribuzioni Debian (basate). Installato tramite eg apt/ aptitude(riga di comando) o graficamente tramite " Synaptic " " Ubuntu Software Center ", " Gdebi ", ...
  • .rpmRed Hat Package Manager : nelle distribuzioni Linux Fedora / Red Hat (basate). Installato tramite ad es. yum( Riga di comando) o graficamente tramite ad es. " Yumex "
  • .msiè → Microsoft Installer : abbastanza come sopra, per il sistema operativo Microsoft Windows

Gli stessi installatori possono anche gestire la manutenzione, l'aggiornamento e / o la rimozione di pacchetti. Inoltre: qui " installatore " indica il software per eseguire correttamente queste attività - fornisce inoltre le informazioni menzionate all'utente stesso, ovviamente, per eseguire tali attività manualmente.


1
PackageKit non è un'applicazione. è una libreria di astrazione per i diversi gestori di pacchetti attraverso le distribuzioni.
strugee,

@strugee dang, pensavo fosse questo il nome. Spero davvero che yumexsia il nome giusto ... grazie per il suggerimento
erch

Credo che il valore predefinito su Fedora sia il software GNOME.
strugee,

@strugee Ho provato Fedora per un po ', ho usato LXDE e mi sono ricordato di un front-end grafico per la gestione dei pacchetti, ma il nome era ... suppongo, qualunque cosa
funzioni

1

.deb: Pacchetto Debian usato per distribuzioni Linux basate su Debian come Ubuntu, Linux Mint ecc.

.rpm: programma di rpminstallazione per distribuzioni Linux basate su Red Hat come RHEL, Fedora e CentOS

.msi: Programma di installazione binario per piattaforma Windows


benvenuto in Stack Exchange! una spiegazione del perché sei stato sottoposto a downgrade: non sono una delle due persone che hanno effettuato il downgrade, ma la mia ipotesi è che lo hanno fatto perché stai insinuando che Debian e / o Ubuntu non sono GNU / Linux, e questo è falsa. loro sono. (e ci sono molte più distribuzioni oltre a Debian, Ubuntu e Fedora.) Inoltre, non hai davvero spiegato nulla.
strugee,

1
Aggiornamento: modificato per rimuovere tale implicazione
Davidson Chua il

Immagino che i downvotes siano solo per dare una descrizione di una riga di cosa significhi il file, non la vera spiegazione di come questi pacchetti siano diversi l'uno dall'altro. Dai un'occhiata alla risposta selezionata qui, che è il tipo di qualità che si aspettano dalle risposte :)
Munim
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.