FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Voici comment fonctionnent les programmes d'installation de logiciels sous Windows, macOS et Linux

Les systèmes d'exploitation modernes vous offrent des méthodes simples pour configurer de nouvelles applications. Ceux-ci incluent des packages d'installation automatisés ainsi que des commandes qui installent 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 les logiciels sont installés sur trois principales plates-formes de bureau :Windows, macOS et Linux.

Méthodes d'installation du logiciel

Il existe plusieurs façons d'exécuter de nouvelles applications sur votre ordinateur. Par ordre de complexité croissante, il s'agit notamment :

  • Compilation de logiciels -- Construire l'application à partir de son code source. Pour les utilisateurs les plus techniques uniquement.
  • Archives de logiciels -- Décompresser les archives telles que les fichiers ZIP et exécuter le programme depuis l'endroit où vous l'avez extrait. Cela peut nécessiter quelques ajustements supplémentaires.
  • Packages d'installation -- Trouver un fichier d'installation et (double-)cliquer pour démarrer l'installation.
  • Gestionnaires de logiciels/Magasins -- Sélectionner l'application à partir d'une belle interface et cliquer sur un gros bouton "Installer". C'est magique!

Dans cet article, nous examinerons les packages d'installation, car la plupart des gestionnaires de logiciels/magasins traitent finalement ces types de packages dans les coulisses de toute façon. Pour les principales plates-formes de bureau d'aujourd'hui - Windows, macOS et Linux - nous examinerons ce qui constitue l'un de ces packages et ce qui se produit lorsque vous les installez.

Microsoft Windows

Les packages d'installation que vous êtes susceptible de rencontrer pour Windows sont disponibles dans l'une des deux versions principales. Les fichiers exécutables (EXE) peuvent configurer votre programme en faisant le gros du travail consistant à placer les fichiers au bon endroit et à effectuer les mises à jour du registre Windows. Les packages Windows Installer (MSI) ajoutent à cela en fournissant des services standardisés tels que les désinstallations.

Vous pouvez inspecter le contenu des fichiers 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 un certain nombre de fichiers différents :

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Bien que ces fichiers n'aient pas de dossier contenant dans le programme d'installation, le développeur aura pointé chacun vers un répertoire cible. La plupart d'entre eux se retrouvent dans "l'emplacement d'installation par défaut" - la même suggestion que vous voyez généralement pour un dossier comme "C:\Program Files\[nom du programme]" ou "C:\Program Files (x86)\[votre nouveau application]."

Lors de l'utilisation d'un outil sophistiqué comme InstallShield pour créer des packages d'installation, les développeurs d'applications peuvent personnaliser l'installation. Par exemple, ils peuvent désigner les versions de Windows sur lesquelles ils seront installés, configurer des raccourcis à créer dans le menu Démarrer et/ou sur le bureau, ou collecter des informations utilisateur telles que le nom, l'adresse, etc. L'exemple de projet InstallShield dans l'image ci-dessous montre l'écran permettant de définir si les clés de registre Windows doivent être créées ou mises à jour.

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Avec InstallShield, les fichiers d'application et les autres personnalisations sont regroupés dans un setup.exe fichier. L'ouvrir avec 7-Zip montrera qu'il contient un package MSI qui, lorsqu'il est exécuté, ressemble à l'installation à laquelle nous sommes tous habitués. Passons en revue ce qui se passe pendant ce processus.

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Processus d'installation de Windows

Un programme d'installation suivra les étapes suivantes pour configurer votre application en vue de son utilisation (dont l'ordre précis peut varier en fonction des personnalisations du développeur) :

  1. Un programme d'installation peut contenir d'autres archives, comme le MSI susmentionné ou des formats comme CAB. Dans un premier temps, l'installateur les extraira dans un emplacement temporaire.
  2. Ensuite, il vérifie que toutes les dépendances qui ont été définies sont disponibles. S'il manque quelque chose, il le téléchargera si possible, ou quittera le programme d'installation avec une erreur si ce n'est pas le cas.
  3. Si des dépendances sont nécessaires, elles seront d'abord installées à l'aide du programme d'installation fourni (une installation a-t-elle déjà été interrompue pour .NET Framework ?).
  4. Ensuite, le programme d'installation commencera à copier les fichiers de l'application et à les placer à leur emplacement correct.
  5. Si le développeur a configuré 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 lors de l'exécution du programme d'installation).
  6. Les modifications apportées au registre Windows, le cas échéant, seront exécutées.
  7. Enfin, le programme d'installation peut inviter l'utilisateur à entrer des informations telles que le nom ou l'adresse du site Web.

Ce processus peut sembler complexe par rapport au prochain système d'exploitation de la liste. Jetons un coup d'œil à l'installation de logiciels sur macOS.

Apple macOS

Les installateurs Windows ont beaucoup à faire sous le capot. 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 l'image disque (DMG) et de suivre quelques instructions simples. Parfois, le téléchargement vous propose même un "Faites glisser ici!" icône.

Plongeons-nous dans le bundle APP ainsi que dans son homologue le programme d'installation de PKG.

Structure du paquet macOS

Le fichier APP sur la surface est en fait plus simple que Windows pour deux raisons principales. Premièrement, c'est un dossier standard. La seule différence est qu'il se termine par un suffixe ".APP". Si vous téléchargez l'un d'entre eux sous Windows, vous verrez qu'il s'affiche comme n'importe quel autre dossier de fichiers dans l'Explorateur. Deuxièmement, les fichiers APP exigent qu'absolument tout ce dont le programme a besoin soit inclus. Il n'y a pas de souci de dépendances manquantes avec ces types d'installateurs.

Ces bundles doivent contenir trois éléments dans un dossier appelé "Contents" :1) un fichier "Info.plist" contenant les métadonnées de l'application telles que le nom, la langue, le numéro de version, etc. ; 2) un répertoire "MacOS" contenant l'exécutable principal ; et 3) un répertoire "Ressources" qui contient les actifs dont l'application a besoin pour fonctionner (par exemple, une icône d'application). Il existe d'autres dossiers facultatifs tels que "Frameworks" (ensembles de fonctionnalités qui ne sont pas spécifiques à l'application), "Plug-Ins" (fonctionnalité de l'application qui n'est pas nécessaire pour l'exécuter) et "SharedSupport" (données superflues telles que modèles).

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

En revanche, le format PKG est une combinaison d'un programme d'installation de type Windows avec une structure de type Unix. L'application 7-Zip ouvrira également un fichier PKG, qui est compressé en xar format. À l'intérieur se trouve une ou plusieurs charges utiles files, qui est aussi une archive. Pour extraire son contenu, utilisez la chaîne de commandes suivante (cpio est un format d'archive ainsi qu'un programme pour les manipuler) dans un Terminal Mac ou Linux :

cat Charge utile | gunzip-dc | cpio -i 

Une fois cela fait, vous verrez une 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 dans /usr/local/bin et de la documentation dans /usr/local/share/man . Comment ces choses se mettent-elles en place? Nous verrons comment chacun de ces éléments s'installe réellement sur votre Mac.

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

J'ai utilisé la version Windows de 7-Zip pour illustrer cela, plutôt que la version Linux uniquement en ligne de commande.

Processus d'installation de l'application macOS

Lorsque vous déposez ce fichier APP dans votre dossier Applications, cela ne change pas grand-chose. N'oubliez pas que tout ce dont vous avez besoin pour exécuter le programme est autonome. La seule différence avec un glisser-déposer standard est que le fichier "Info.plist" est enregistré dans le système.

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Cela configurera des éléments tels que l'exécutable appelé lorsque vous démarrez l'application, l'icône affichée, les types de fichiers pris en charge, etc. Mais sinon, votre application (telle que le package APP pour l'éditeur Atom illustré ci-dessous) est maintenant prête à être utilisée.

Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Processus d'installation de macOS PKG

L'ouverture d'un fichier PKG, en revanche, lance un programme d'installation de type "assistant". Pour les programmes simples, il s'agit généralement d'un installateur de composants , qui passe généralement par les étapes suivantes :

  1. Exécutez la préinstallation scénario.
  2. Déballez le contenu "Payload" sur la machine.
  3. Exécutez la post-installation scénario.
Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Les développeurs peuvent ensuite combiner plusieurs composants en une seule archive de produit installer. Cela ajoute des options telles que l'affichage d'un CLUF que l'utilisateur doit accepter, la collecte d'informations auprès de l'utilisateur et la sélection 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 passerons aux deux principaux formats de packages Linux dans la section suivante.

Ubuntu et Fedora Linux

Ah, DEB contre RPM. L'une des grandes guerres de flammes, vaincue uniquement par des gens comme vi contre emacs ou KDE contre GNOME. Pourtant, ces formats sont plus similaires que différents. Jetons un coup d'œil.

Structure des fichiers du package Linux

Pour jeter un œil à l'intérieur d'un fichier DEB, vous pouvez essayer un gestionnaire d'archives graphique. Sinon, utilisez le ar commander. La commande suivante saisie dans le terminal extraira le contenu d'un paquet Debian :

ar -x nom-de-votre-paquet.deb 

Trois fichiers en sortiront :

  • control.tar.gz -- Celui-ci contient à son tour un fichier principal, Control , 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 pendant le processus d'installation ou des fichiers de configuration par défaut.
  • data.tar.gz -- Les fichiers qui composent l'application elle-même se trouvent dans cette archive TAR.GZ. Tout, y compris les fichiers binaires, la documentation et les configurations par défaut, se trouve 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 l'image ci-dessous.
  • debian-binary -- Il s'agit d'un fichier qui définit la version du format de paquet Debian utilisé par le fichier. Pour les distributions modernes, cela contiendra simplement "2.0" sur une seule ligne.
Voici comment fonctionnent les programmes d installation de logiciels sous Windows, macOS et Linux

Dans Fedora, vous pouvez utiliser le rpm2cpio et cpio commandes pour extraire un package RPM et parcourir leurs 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 au package DEB. Mais il ne fournit pas les métadonnées, du moins pas dans le binaire emballer. Vous devrez télécharger le RPM source (.SRC.RPM) correspondant à votre version binaire, puis utiliser la même commande ci-dessus sur ce fichier. Inclus dans cela sera un fichier SPEC qui contient plusieurs des mêmes éléments que le Contrôle fichier dans un paquet Debian.

Maintenant que nous comprenons la structure des packages Linux, explorons ce qui se passe lorsque vous les installez réellement.

Installation du paquet Linux

Lorsque vous installez des packages de l'un ou l'autre format, quel que soit le frontal, un ensemble d'étapes similaires se produit :

  1. Le système de package examine le contenu du package pour déterminer s'il manque des dépendances. Selon l'outil, il vous avertira ou se mettra à les télécharger.
  2. Si les packages contiennent des scripts ou des commandes de pré-installation, ils s'exécutent ensuite.
  3. Ensuite, le système de paquets extrait les fichiers du paquet.
  4. Une fois les fichiers en place, les scripts de post-installation s'exécutent.
  5. 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 de systèmes d'exploitation et des logiciels qui les exécutent font un excellent travail pour faciliter l'installation des logiciels, vous n'avez pas vraiment besoin de prêter attention aux détails. Mais avoir des connaissances sur ce qui se passe dans les coulisses vous donnera une certaine tranquillité d'esprit quant à ce qui est installé sur votre système, ainsi qu'une aide au dépannage.

Combien de méthodes d'installation de logiciels ci-dessus avez-vous utilisées ? Préférez-vous DEB ou RPM ? Ou les bundles APP de Mac représentent-ils le summum de la facilité d'utilisation ? Avez-vous déjà eu une installation cauchemardesque ? Faites-le nous savoir dans les commentaires ci-dessous !


[]