Quelle est la différence entre créer des fichiers .deb et les installer et simplement exécuter un fichier .run ?
package-management
Mandar Shinde
la source
la source
Réponses:
.deb
les fichiers sont des paquets pour dpkg , le gestionnaire de paquets Debian de bas niveau (qui est invoqué sous le capot par APT et ses proches). Un.deb
fichier est un package pour Debian ou pour un dérivé tel que Ubuntu ou Mint.Les packages Debian contiennent les fichiers qui appartiennent au package ainsi qu'un «fichier de contrôle» qui décrit les dépendances du package et d'autres méta-informations, ainsi que les scripts d'installation qui sont exécutés lorsque le package est installé, mis à niveau ou désinstallé.
Vous pouvez consulter le contenu d'un
.deb
fichier avecdpkg -c
etdpkg -I
. Si vous n'en avez pasdpkg
, vous pouvez utiliserar t foo.deb
pour lister les parties d'un.deb
fichier etar x foo.deb control.tar.gz
extraire lacontrol.tar.gz
partie (et de même pour les autres parties).Red Hat (et des parents tels que CentOS et Fedora), SuSE et d'autres utilisent rpm , un format différent avec des caractéristiques similaires. Il y en a d' autres sur d'autres systèmes Unix.
.run
n'est pas une extension standard. Un.run
fichier est probablement quelque chose que vous pouvez exécuter. Il peut installer un programme ou faire quelque chose de complètement différent.la source
En général, un fichier .deb est similaire à un fichier zip, qui contient des fichiers ainsi que de courts scripts qui peuvent exécuter la post-installation pour ajouter des utilisateurs, des groupes, etc. au système après l'installation.
Un fichier .run est généralement un exécutable binaire unique ou un script shell qui contient un blob binaire qui peut être installé. Si c'est la variété du script shell, elle contiendra souvent un blob binaire qui est souvent synonyme d'un fichier zip récursif ou d'un fichier tar. En d'autres termes, il contiendra des structures de répertoires de fichiers.
D'autres fois, ce type de fichier .run contiendra simplement des fichiers .deb ou .rpm qui seront vidés sur le disque et peuvent être installés individuellement, ou le script qui les contenait, les videra sur le disque, puis tentera pour les installer à l'aide du logiciel de gestion des packages de votre système.
Un exemple de cela serait si vous téléchargez le JDK Java à partir d'Oracle. Il est généralement un seul fichier exécutable qui , lorsqu'il est exécuté déchargera les fichiers .deb ou .rpm sur le disque, puis les installer à l' aide
the package management tools: dpkg
,apt
,yum
ourpm
.Exemple
Voici un exemple de ce à quoi ressemblerait le téléchargement / l'installation avec l'un de ces fichiers .run. L'extension est .bin, mais c'est simplement cosmétique, l'extension n'a vraiment aucune pertinence autre que d'aider les utilisateurs à distinguer les différents types de fichiers.
Ici, le fichier ci-dessus exportera les packages pour les différents composants qui composent le JDK, après quoi vous pouvez installer tous ou tout simplement ceux dont vous avez besoin.
Le faire de cette façon permet de faire des choses supplémentaires au-delà de la simple installation d'un package. Par exemple, Oracle a un accord de licence qu'ils souhaitent que vous acceptiez:
Avec cet installateur ci-dessus, vous pouvez voir qu'il contient juste un blob binaire de répertoires de fichiers:
Dans ce cas, ce type d'installation est destiné à ne pas invoquer le gestionnaire de packages, mais simplement à vider le contenu dans une seule arborescence de répertoires afin que vous puissiez le déplacer où vous le souhaitez.
Dans les environnements de production, il arrive souvent que vous ne souhaitiez pas utiliser le gestionnaire de packages, mais plutôt avoir plus de contrôle sur les déploiements. Peut-être que vous déployez plusieurs applications et qu'elles nécessitent chacune une version différente du JDK. En utilisant cette méthode, vous pouvez les faire coexister plus facilement, puis dire via le gestionnaire de paquets.
Références
la source