Voici comment fonctionnent les installateurs de logiciels sous Windows, macOS et Linux
Les systèmes d’exploitation modernes vous permettent de configurer facilement de nouvelles applications. Ceux-ci incluent l’installation automatique de packages et de commandes pour installer de nombreux logiciels à la fois. Mais que se passe-t-il réellement lorsque vous exécutez ce programme d’installation ou exécutez cette commande ?
Voyons comment le logiciel est installé sur les trois principales plates-formes de bureau : Windows, macOS et Linux.
Méthode d’installation du logiciel
Il existe plusieurs façons d’exécuter de nouvelles applications sur votre ordinateur. Pour plus de complexité, ceux-ci incluent :
- compilation de logiciels — Construire l’application à partir des sources. Pour la plupart des utilisateurs techniques uniquement.
- archives de logiciels – Décompressez les archives telles que les fichiers ZIP et exécutez le programme à partir de n’importe où vous avez extrait. Cela peut nécessiter quelques ajustements supplémentaires.
- Installer le paquet — Trouvez un fichier d’installation et (double-cliquez dessus) pour lancer l’installation.
- Gestionnaire/Magasin de logiciels — Choisissez des applications à partir d’une belle interface et cliquez sur un gros bouton « Installer ». C’est magique!
Dans cet article, nous examinerons les packages d’installation, car la plupart des gestionnaires/magasins de logiciels finissent par gérer ces types de packages dans les coulisses. Pour les principales plates-formes de bureau d’aujourd’hui – Windows, macOS et Linux – nous verrons en quoi consiste l’un de ces packages et ce qui se passe lorsque vous les installez.
Microsoft Windows
Il existe deux types principaux de packages Windows Installer que vous pouvez rencontrer. Les fichiers exécutables (EXE) peuvent configurer vos programmes en plaçant les fichiers dans les emplacements appropriés et en effectuant le gros du travail, comme les mises à jour du registre Windows. Les packages d’installation Windows (MSI) complètent cette fonctionnalité en fournissant des services standardisés tels que la désinstallation.
Vous pouvez inspecter le contenu d’un fichier EXE ou MSI en ouvrant l’archive avec 7-Zip. Si vous l’utilisez pour consulter le programme d’installation EXE de 7-Zip, vous y trouverez de nombreux fichiers différents :
Bien que ces fichiers n’aient pas de dossier inclus dans le programme d’installation, le développeur pointera chaque fichier vers un répertoire cible.La plupart d’entre eux se retrouvent dans « l’emplacement d’installation par défaut » – vous verrez généralement la même suggestion dans un dossier comme « C:Program Files »[program name] » ou « C:Program Files (x86)[your new app]. «
Lors de l’utilisation d’outils sophistiqués comme InstallShield pour créer des packages d’installation, les développeurs d’applications peuvent personnaliser l’installation. Par exemple, ils peuvent spécifier sur quelle version de Windows il sera installé, définir des raccourcis à créer dans le menu Démarrer et/ou sur le bureau, ou collecter des informations sur l’utilisateur telles que le nom, l’adresse, etc. L’exemple de projet InstallShield se trouve dans l’image ci-dessous montrant l’écran pour définir si les clés de registre Windows doivent être créées ou mises à jour.
Avec InstallShield, les fichiers d’application et autres personnalisations sont inclus dans un seul Installateur document. L’ouvrir avec 7-Zip révèle un package MSI à l’intérieur, qui, lorsqu’il est exécuté, ressemble à l’installation à laquelle nous sommes tous habitués. Passons en revue ce qui s’est passé dans le processus.
Processus d’installation de Windows
Le programme d’installation suivra les étapes suivantes pour configurer votre application à utiliser (l’ordre exact peut varier en raison de la personnalisation du développeur) :
- Le programme d’installation peut contenir d’autres archives, telles que les formats MSI ou CAB mentionnés ci-dessus. Dans un premier temps, l’installateur les extraira dans un emplacement temporaire.
- Ensuite, il vérifiera si toutes les dépendances qui ont été définies sont disponibles. S’il manque quelque chose, il le téléchargera si possible, ou sinon, quittera le programme d’installation avec une erreur.
- Si des dépendances sont nécessaires, elles seront d’abord installées à l’aide du programme d’installation fourni (déjà installé pour le .NET Framework cassé ?).
- Ensuite, le programme d’installation commencera à copier les fichiers de l’application et à les placer aux bons emplacements.
- Si le développeur configure des raccourcis, le programme d’installation les créera et les dirigera vers le chemin d’installation réel (rappelez-vous que vous pouvez le modifier pendant que le programme d’installation est en cours d’exécution).
- Les modifications apportées au registre Windows, le cas échéant, seront effectuées.
- Enfin, l’installateur peut inviter l’utilisateur à fournir des informations telles qu’un nom ou une adresse de site Web.
Le processus peut sembler compliqué par rapport au prochain système d’exploitation de la liste. Jetons un coup d’œil à l’installation de logiciels sur macOS.
MacOS
Windows Installer a beaucoup de travail à faire en arrière-plan. Mais si vous avez utilisé un Mac, vous savez que l’installation d’une application est souvent aussi simple que de télécharger une copie de l’application, d’ouvrir une image disque (DMG) et de suivre quelques instructions simples. Parfois, le téléchargement vous donnera même une icône « Faites glisser ici! ».
Plongeons-nous dans les bundles APP et leurs installateurs PKG correspondants.
Structure du package macOS
Fichier d’application sur la surface Oui En fait plus simple que Windows pour deux raisons principales. Tout d’abord, c’est un dossier standard. La seule différence est qu’il se termine par un suffixe « .APP ». Si vous en téléchargez un sur Windows, vous le verrez apparaître comme n’importe quel autre dossier dans l’Explorateur. Deuxièmement, le fichier APP doit contenir absolument tout ce dont le programme a besoin. Ces types d’installateurs n’ont pas à se soucier des dépendances manquantes.
Ces bundles doivent contenir trois éléments dans un dossier appelé « Contents » : 1) un fichier « Info.plist » qui contient les métadonnées de l’application telles que le nom, la langue, le numéro de version, etc. ; 2) un répertoire « MacOS » pour l’exécutable ; 3) un répertoire « ressources » qui contient les actifs (tels que les icônes d’application) nécessaires à l’exécution de l’application. Il existe d’autres dossiers optionnels tels que « Frameworks » (packages de fonctionnalités non spécifiques à l’application), « Plug-Ins » (fonctionnalités dont l’application n’a pas besoin pour l’exécuter) et « SharedSupport » (données externes telles que des modèles) .
En revanche, le format PKG est une combinaison d’un programme d’installation de type Windows et d’une structure de type Unix. L’application 7-Zip ouvrira également un fichier PKG, qui est compressé en tant que Comté Format.à l’intérieur se trouve un ou plusieurs Charge utile fichier, qui est aussi une archive. Pour extraire son contenu, utilisez la chaîne de commandes suivante (cpio Dans un terminal Mac ou Linux se trouve un format d’archive et des programmes pour les manipuler) :
charge utile | gunzip-dc | cpio -i
Une fois terminé, vous verrez l’arborescence de répertoires familière de type Unix.
Dans l’exemple ci-dessous, j’ai utilisé le convertisseur de documents Pandoc.il inclut un binaire /usr/local/bin et quelques documents /usr/local/share/manComment ces choses se mettent-elles réellement en place ? Nous verrons comment chacun d’eux est réellement installé sur votre Mac.
J’utilise la version Windows de 7-Zip pour illustrer cela, pas la version Linux en ligne de commande uniquement.
Processus d’installation de l’application macOS
Lorsque vous placez ce fichier APP dans votre dossier d’application, cela ne change pas grand-chose. N’oubliez pas que tout ce qui est nécessaire pour exécuter le programme est autonome. La seule différence avec le glisser-déposer standard est que le fichier « Info.plist » est enregistré dans le système.
Cela configure des éléments tels que l’exécutable appelé lorsque l’application est lancée, l’icône affichée, les types de fichiers pris en charge, etc. Mais sinon, votre application (telle que le package Atom Editor APP illustré ci-dessous) est maintenant prête à être utilisée.
Processus d’installation de macOS PKG
D’un autre côté, l’ouverture d’un fichier PKG lance un programme d’installation de type « assistant ».Pour les programmes simples, c’est généralement installateur de composantsgénéralement en suivant les étapes suivantes :
- écraser Pre installé scénario.
- Extrayez le contenu « Payload » dans la machine.
- écraser Après l’installation scénario.
Les développeurs peuvent alors combiner plusieurs composants en un seul Archives des produits Installer. Cela ajoute des options telles que l’affichage du CLUF que l’utilisateur doit accepter, la collecte d’informations auprès de l’utilisateur et le choix des composants à installer. Pendant ce temps, Apple Installer s’occupe de tous les détails de l’installation des composants nécessaires un par un en arrière-plan.
En parlant d’installateurs basés sur Unix, nous poursuivrons notre discussion sur les deux principaux formats de packages Linux dans la section suivante.
Ubuntu et Fedora Linux
Ah, les DEB et les RPM.Une grande guerre de flammes que seul un tel homme peut vaincre six relativement emacs Ou KDE et GNOME. Cependant, ces formats ont plus de similitudes que de différences. Voyons voir.
Structure des fichiers du package Linux
Pour voir l’intérieur d’un fichier DEB, vous pouvez essayer un gestionnaire d’archives graphique.Sinon, utilisez Al Ordre. La saisie de la commande suivante dans le terminal extraira le contenu du paquet Debian :
ar -x nom-de-votre-paquet.deb
Trois fichiers en résulteront :
- control.tar.gz — Celui-ci contient à nouveau un fichier principal, contrôler, qui contient des métadonnées sur le package, telles que son nom officiel, sa version et ses dépendances. Il peut également contenir d’autres fichiers, tels que des scripts à exécuter lors de l’installation ou des fichiers de configuration par défaut.
- data.tar.gz — Les fichiers qui composent l’application elle-même se trouvent dans ce fichier TAR.GZ. Tout, y compris les binaires, la documentation et la configuration par défaut, est ici. Dans l’exemple de package kde-service-menu-encfs_0.5.2_all.deb, il contient des fichiers et des répertoires comme indiqué dans la figure suivante.
- Debian-binaire — Il s’agit d’un fichier qui définit la version du format de paquet Debian utilisé par ce fichier. Pour les distributions modernes, cela contiendra simplement « 2.0 » sur une seule ligne.
Dans Fedora, vous pouvez utiliser rpm2cpio et cpio Commande pour extraire le package RPM et parcourir ses fichiers :
rpm2cpio nom-de-votre-paquet.rpm | cpio -idvm
Pour le package kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, vous verrez une arborescence de fichiers similaire à un package DEB.mais il ne fournit pas de métadonnées, du moins pas binaire paquet. Vous devez télécharger le RPM source (.SRC.RPM) correspondant à votre version binaire, puis utiliser la même commande ci-dessus pour ce fichier.Cela inclut un fichier SPEC qui contient un certain nombre de contrôler fichiers dans un paquet Debian.
Maintenant que nous comprenons la structure des packages Linux, examinons ce qui se passe lorsque nous les installons réellement.
Installation du paquet Linux
Lorsque vous installez un package dans l’un ou l’autre format, quelle que soit l’interface, une série d’étapes similaires se produit :
- Le système de package examine le contenu d’un package pour déterminer si une dépendance est manquante. Selon l’outil, il vous avertira ou se mettra à les télécharger.
- Si le package contient des scripts ou des commandes préinstallés, ils sont ensuite exécutés.
- Le système de paquets extrait ensuite les fichiers du paquet.
- Une fois les fichiers en place, le script de post-installation s’exécutera.
- Enfin, le package est enregistré dans la base de données interne à l’aide de ses métadonnées, il peut donc être désinstallé ultérieurement.
Savoir comment le logiciel est installé est une bonne chose
Étant donné que les développeurs du système d’exploitation et des logiciels qui s’y exécutent font un excellent travail pour simplifier l’installation des logiciels, vous n’avez pas vraiment besoin de prêter attention aux détails. Mais avoir une idée de ce qui se passe dans les coulisses vous donnera une certaine tranquillité d’esprit sur ce qui est en train d’être installé…