Que sont .deb et .rpm et en quoi sont-ils différents de .msi? [fermé]

30

Quels sont ces formats de fichiers et en quoi diffèrent-ils du .msiformat sous Windows? Quels sont également les avantages et les inconvénients de ces systèmes de gestion des packages?

trous de mort
la source
.deb et .rpm sont plus similaires à .msi qu'à .exe.
Ignacio Vazquez-Abrams
note: demander "quels sont les avantages et les inconvénients de rpm vs deb / dpkg" ailleurs sur Internet comporte la possibilité d'inciter à une guerre des flammes.
strugee

Réponses:

40

Des fichiers tels que .debet .rpms'apparentent davantage à un .zipfichier. Il s'agit d'une arborescence de répertoires de fichiers et de sous-répertoires qui contiennent des fichiers liés à une application et / ou bibliothèque de fichiers particulière.

Distros

Les .debfichiers sont destinés aux distributions de Linux qui dérivent de Debian (Ubuntu, Linux Mint, etc.). Les .rpmfichiers sont principalement utilisés par les distributions qui dérivent des distributions basées sur Redhat (Fedora, CentOS, RHEL) ainsi que par la distribution openSuSE.

Quelle est leur particularité?

Ces fichiers ont un autre trait spécial qui les distingue des .zipfichiers, en ce sens qu'ils peuvent inclure une spécification qui contient des règles qui indiquent au logiciel du gestionnaire de packages exécuté sur un système qui installe l'un de ces fichiers d'effectuer des tâches supplémentaires. Ces tâches comprendraient des éléments tels que:

  • création de comptes d'utilisateurs sur le système
  • créer / modifier des fichiers de configuration qui ne sont pas réellement contenus dans le fichier .debou.rpm
  • définir la propriété / les autorisations sur les fichiers après l'installation
  • exécuter des commandes en tant que root sur le système qui installe le package
  • dépendances, les deux formats peuvent inclure des noms ou des packages et / ou des noms de service dont ils ont besoin pour être présents sur un système, avant l'installation.

Qu'en est-il des fichiers .msi?

.msiles fichiers sont similaires aux fichiers .deb& .rpmmais probablement encore plus sophistiqués. Les .msifichiers sont utilisés par Windows Installer et offrent des fonctionnalités supplémentaires telles que:

  • Cadre GUI
  • génération de séquences de désinstallation
  • Un cadre en soi - à l'usage des installateurs tiers
  • Rollbacks
  • Publicité
  • Interface utilisateur
  • etc.

Je suggère de jeter un œil aux différentes pages Wikipédia sur ces sujets si vous voulez une explication plus approfondie.

Les références

slm
la source
Étant donné que la réponse commence par «des fichiers tels que .deb et .rpm s'apparentent davantage à un fichier .zip», il convient de mentionner que les packages deb sont en fait des ararchives et que les rpms sont (éventuellement en partie) des archives cpio. Dans le cas de debs, il est facile de vérifier qu'un deb peut être décompressé avec ar -x. Dans le cas de rpm, je ne sais pas si c'est possible.
Faheem Mitha
@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj
@ninjalj - merci j'ai oublié d'ajouter cette commande. Je l'ai utilisé pour décompresser les rpms lorsque je ne voulais qu'un ou deux fichiers d'entre eux. Habituellement, les fichiers .spec.
slm
@ninjalj Merci, je ne connaissais pas celui-là.
Faheem Mitha
31

Les autres réponses concernent des qualités de .debet .rpmqui sont similaires à .msi. Ils contiennent tous des logiciels dans un format compressé qui peuvent faire des choses supplémentaires. Ces éléments supplémentaires déjà mentionnés comprenaient l'ajout d'utilisateurs, les tâches de pré-installation et de post-installation, l'enregistrement du programme auprès du système (par exemple, registre Windows, xdg-dirs, OpenRC / systemd init, etc.).

Ce qui différencie les formats (et c'est un énorme pro), ce sont les dépendances. Les fichiers .debet .rpmpeuvent tous deux répertorier les noms et les versions d'autres programmes qui doivent être installés en tant que logiciels prérequis. En soi, c'est juste informatif, mais ...

En règle générale, vous n'interagissez pas directement avec les fichiers .debet les .rpmfichiers comme vous le faites avec les .msifichiers. En fait, comme mentionné précédemment, a .debest généralement juste une archive (ar ou tar) compressée avec xz avec les fichiers contenus dans une disposition de répertoire spécifique. Au lieu de cela, vous utilisez des outils comme dpkget rpmpour manipuler ces fichiers.

dpkget rpminstallera le contenu .debet les .rpmfichiers et vérifiera que tous les logiciels prérequis sont installés. L'exécution de ces programmes revient à cliquer sur un .msifichier. Cependant, les utilisateurs n'interagissent généralement pas avec dpkgou rpmmais utilisent apt-getet yuminstallent des packages. Ces outils n'ont pas d'analogues exacts sur Windows.

Les deux apt-getet yumsont capables de récupérer des fichiers à partir de référentiels distants (ou locaux) et d'utiliser les informations de dépendance stockées dans les fichiers .debet .rpmpour récupérer et installer toutes les conditions préalables non remplies. Avec ces outils, je n'ai pas besoin de savoir ou de me soucier des autres logiciels dont j'ai besoin, je peux simplement spécifier apt-get install chromiumet savoir que apt-getje m'assurerai que gtk +, alsa, certaines bibliothèques X, etc. sont installés sans que je doive les trouver et les installer manuellement .debet .rpmdes dossiers.

apt-getet yumsont les deux grands gestionnaires de packages, vous trouverez également emergeet pacmanlà-bas, qui font les mêmes tâches bien que avec des mécanismes sous-jacents différents.

casey
la source
7
+1 pour avoir parlé de la gestion des dépendances. Cela ne doit pas être négligé.
ldrumm
1
note: je crois que les .debs sont emballés à l'aide de l' arutilitaire. aucune idée pourquoi.
Strugee
1
aussi, si vous comptez en emergetant que gestionnaire de paquets, vous devriez peut-être également considérer les ports BSD (bien que je ne sache pas grand-chose à leur sujet, donc je ne sais pas s'ils ont l'équivalent d'un gestionnaire de paquets sur GNU / Linux).
Strugee
3
@strugee true, j'ai édité pour refléter cela. Sur le plan technique également, portage est le moteur de gestion des packages derrière emergeet il est très similaire aux ports. Tout est basé sur la source et très configurable, mais si une commande installe / désinstalle, gère les dépendances et conserve une base de données des packages installés, je l'appellerai un gestionnaire de packages. Bons commentaires.
casey
@casey: Où puis-je obtenir plus d'informations sur les mécanismes sous-jacents de dpkg et rpm?
deathholes
4

Il a pratiquement les mêmes fonctionnalités qu'un fichier MSI sous Windows:

  • il enregistre le logiciel dans un registre,
  • il enregistre les fichiers qui ont été installés avec ce package.

Sous Linux, ils gèrent également les dépendances entre les autres packages.

Ce format de gestion de paquetages fait beaucoup d'autres choses, mais ce sont les principales fonctionnalités.

Vinz
la source
2

.rpmles fichiers sont des packages RPM, qui font référence au type de package utilisé par Red Hat et les distributions dérivées de Red Hat (par exemple Fedora, RHEL, CentOS). .debles fichiers sont des paquets DEB, qui sont le type de paquet utilisé par Debian et les dérivés Debian (par exemple Debian, Ubuntu).

Une fois téléchargés, ils sont généralement installés via les commandes rpmet dpkgrespectivement sur les distributions concernées. En d' autres termes, ils sont des fichiers qui sont installés par rpmet dpkgplutôt que .msiou des .exefichiers de configuration qui sont executables qui s'installent.

Les packages RPM et DEB diffèrent de MSI de plusieurs manières.

  • Comme ci-dessus, ce sont des fichiers qui nécessitent d'autres outils (ie rpmet dpkg) pour être installés.
  • Une fois installés, ils sont ajoutés à une base de données, ce qui n'est pas le cas dans les fichiers MSI. Les fichiers MSI répertorient le programme dans le registre, mais il est peu probable qu'une désinstallation par le Panneau de configuration supprime complètement tous les fichiers installés du disque. Ainsi, lorsque les packages RPM et DEB sont désinstallés, tous les fichiers sont supprimés proprement.
  • Ils ne sont généralement pas téléchargés et installés directement, mais via des gestionnaires de packages tels que yumet aptituderespectivement - il existe des soi-disant référentiels qui proposent des packages compilés pour le système concerné, et le gestionnaire de packages installera automatiquement toutes les dépendances à partir des données dans les référentiels.
  • Les packages installés exécutent généralement plusieurs outils de configuration, par exemple si vous installez GDM sur un système déjà installé avec LightDM, les outils vous demandent si vous préférez utiliser GDM de LightDM.
  • Lors de l'installation de packages, autres que les dépendances, certains packages sont suggérés, qui montrent les packages non requis mais peuvent être utiles à l'utilisateur.
Davidson Chua
la source
1

Les deux .debet .rpmsont des packages logiciels pour les distributions GNU / Linux, contenant des logiciels (programme (s), application (s), etc.) et des informations pour le logiciel "* installer *" sur le logiciel lui-même et des instructions sur la façon d'installer quoi et où correctement.

  • .debPaquet logiciel Debian , sur les distributions basées sur Debian. Installé via eg apt/ aptitude(ligne de commande), ou graphiquement via eg " Synaptic " " Ubuntu Software Center ", " Gdebi ",…
  • .rpmRed Hat Package Manager : dans les distributions Linux Fedora / Red Hat (basées). Installé via eg yum(ligne de commande), ou graphiquement via eg " yumex "
  • .msiest → Microsoft Installer : Tout à fait comme ci-dessus, pour Microsoft Windows OS

Les installateurs eux-mêmes peuvent également gérer la maintenance, la mise à jour et / ou la suppression des packages. Aussi: ici, " installateur " signifie le logiciel pour effectuer correctement ces tâches - il fournit également les informations mentionnées pour l'utilisateur lui-même, bien sûr, pour effectuer ces tâches manuellement.

erch
la source
1
PackageKit n'est pas une application. c'est une bibliothèque d'abstraction pour les différents gestionnaires de packages à travers les distributions.
Strugee
@strugee dang, pensais que c'était le nom. J'espère vraiment que yumexc'est le bon nom… merci pour l'allusion
erch
Je crois que la valeur par défaut sur Fedora est le logiciel GNOME.
strugee
@strugee J'ai essayé Fedora pendant un certain temps, j'ai utilisé LXDE et je me suis souvenu d'un frontal graphique pour la gestion des paquets, mais le nom était ... Je suppose, tout ce qui fonctionne et convient le mieux à vos désirs :)
erch
1

.deb: Paquet Debian utilisé pour les distributions Linux basées sur Debian telles que Ubuntu, Linux Mint, etc.

.rpm: programme d' rpminstallation pour les distributions Linux basées sur Red Hat telles que RHEL, Fedora et CentOS

.msi: Programme d'installation binaire pour la plate-forme Windows

Jeevan Roy Dsouza
la source
Bienvenue sur Stack Exchange! une explication de la raison pour laquelle vous avez été rétrogradé: je ne suis pas l'une des deux personnes qui ont voté contre, mais je suppose qu'ils l'ont fait parce que vous impliquez que Debian et / ou Ubuntu ne sont pas GNU / Linux, et c'est faux. elles sont. (et il y a beaucoup plus de distributions que Debian, Ubuntu et Fedora.) aussi, vous n'avez vraiment rien expliqué.
strugee
1
Mise à jour: modifiée pour supprimer cette implication
Davidson Chua
Je suppose que les downvotes sont vraiment juste pour donner une description d'une ligne de ce que signifie le fichier, pas l'explication réelle de la façon dont ces packages sont différents les uns des autres. Jetez un oeil à la réponse sélectionnée ici, c'est le genre de qualité qu'ils attendent des réponses :)
Munim