Publicité

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 ?

Jetons un coup d'œil à la façon dont le logiciel est installé sur trois principales plates-formes de bureau: Windows, macOS et Linux.

Méthodes d'installation du logiciel

Il existe différentes manières de faire fonctionner de nouvelles applications sur votre ordinateur. Par ordre de complexité croissante, il s'agit de :

  • Compilation de logiciels — Construire l'application à partir de son code source. Pour les utilisateurs les plus techniques seulement.
  • Archives des logiciels — Décompresser les archives telles que les fichiers ZIP et exécuter le programme à partir de l'endroit où vous l'avez extrait. Cela peut nécessiter quelques ajustements supplémentaires.
  • Forfaits d'installation — Trouver un fichier d'installation et (double-)cliquer pour démarrer l'installation.
  • Gestionnaires de logiciels/magasins - Sélectionnez l'application à partir d'une interface agréable et cliquez 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 en coulisses de toute façon. Pour les principales plates-formes de bureau actuelles - Windows, macOS et Linux - nous examinerons ce qui constitue l'un de ces packages et ce qui se passe 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 effectuant le gros du travail consistant à placer les fichiers au bon emplacement et à effectuer les mises à jour du registre Windows. Les packages Windows Installer (MSI) s'ajoutent à cela en fournissant des services standardisés tels que les désinstallations.

Vous pouvez inspecter le contenu des fichiers EXE ou MSI en ouvrir l'archive avec 7-Zip 7Zip: un programme gratuit pour décompresser des formats d'archives peu courants Lire la suite . Si vous l'utilisez pour regarder le propre programme d'installation EXE de 7-Zip, vous y trouverez un certain nombre de fichiers différents :

Contenu du progiciel d'anatomie 7zip

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 nouvelle application ]. "

Lorsqu'ils utilisent 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 il s'installera, configurer 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 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.

registre d'installshield de progiciel d'anatomie

Avec InstallShield, les fichiers d'application et autres personnalisations sont regroupés dans un setup.exe déposer. L'ouvrir avec 7-Zip montrera qu'à l'intérieur se trouve un package MSI qui, une fois exécuté, ressemble à l'installation à laquelle nous sommes tous habitués. Voyons ce qui se passe au cours de ce processus.

progiciel d'anatomie installshield installer

Processus d'installation de Windows

Un programme d'installation effectuera 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, le programme d'installation les extraira dans un emplacement temporaire.
  2. Ensuite, il vérifiera que toutes les dépendances qui ont été définies sont disponibles. Si quelque chose manque, il le téléchargera si possible, ou quittera le programme d'installation avec une erreur sinon.
  3. Si des dépendances sont requises, elles seront installées en premier à l'aide du programme d'installation avec lequel elles sont fournies (déjà eu une installation interrompue pour .NET Framework ? Microsoft .NET Framework: pourquoi en avez-vous besoin et comment l'installer sous WindowsVous devez soit l'installer, soit le mettre à jour. Mais savez-vous ce qu'est le .NET Framework? Nous vous montrons pourquoi vous en avez besoin et comment vous pouvez obtenir la dernière version. Lire la suite ).
  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, tu peux changer ça Comment créer facilement des raccourcis sur le bureau WindowsLes raccourcis intelligents sur le bureau peuvent vous éviter de passer au crible les menus et les dossiers. Nous vous montrons des moyens rapides et faciles de les créer. Lire la suite lorsque le programme d'installation est exécuté).
  6. Modifications du registre Windows 3 outils pour surveiller et examiner le registre WindowsLe registre Windows est l'une des parties les plus mal comprises du système d'exploitation Windows. Nous vous montrons des outils qui peuvent simplifier le registre et vous aider à identifier les problèmes. Lire la suite , le cas échéant, sera exécuté.
  7. Enfin, l'installateur peut inviter l'utilisateur à saisir 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 du logiciel sur macOS.

Apple macOS

Les installateurs de Windows ont beaucoup de choses à 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 en suivant quelques invites simples Comment installer et supprimer le logiciel Mac: 5 méthodes simplesVous êtes passé à un Mac et vous vous familiarisez avec les bases? Vous vous demandez comment installer un logiciel à partir de la ligne de commande? Vous avez d'anciennes applications Windows que vous devez simplement exécuter sur votre ordinateur Apple ? Lire la suite . Parfois, le téléchargement vous fournit même un « faites glisser ici! » icône.

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

Structure du paquet macOS

Le fichier APP à 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 en téléchargez un sous Windows, vous verrez qu'il s'affichera 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 à s'inquiéter des 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 » 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 » contenant l'exécutable principal; et 3) un répertoire « Ressources » contenant les ressources 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é pour l'application qui n'est pas nécessaire pour l'exécuter) et « SharedSupport » (données superflues comme modèles).

dossiers d'applications mac

En revanche, le format PKG est une combinaison d'un format de type Windows installateur avec une structure de type Unix 3 systèmes d'exploitation de type UNIX qui ne sont pas LinuxRécemment, les gens ont commencé à confondre "UNIX" avec "Linux". Linux a été influencé par UNIX, mais les systèmes UNIX n'ont aucun rapport avec Linux. Voici quelques systèmes UNIX importants à connaître. Lire la suite . L'application 7-Zip ouvrira également un fichier PKG, qui est compressé dans xar format. A l'intérieur se trouve un ou plusieurs Charge utile fichiers, qui est également 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 :

chat 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 comprend un binaire dans /usr/local/bin et de la documentation en /usr/local/share/man. Comment ces choses se mettent-elles réellement en place? Nous verrons comment chacun de ces éléments s'installe réellement sur votre Mac.

structure de paquet mac

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

Processus d'installation de l'application macOS

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

copie de l'application mac

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 qu'il prend en charge, etc. Mais sinon, votre application (comme le package APP pour l'éditeur Atom illustré ci-dessous) est maintenant prête à être utilisée.

application mac installée

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 le préinstaller scénario.
  2. Déballez le contenu de la « charge utile » dans la machine.
  3. Exécutez le post-installation scénario.
installation du paquet mac

Les développeurs peuvent ensuite combiner plusieurs composants en un seul archives de produits 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 Comment installer un logiciel sur Linux: Explication des formats de paquetVous êtes passé à Linux et souhaitez installer des logiciels. Mais les gestionnaires de packages diffèrent en fonction de votre distribution. Alors, quelles applications pouvez-vous télécharger et installer? Tout est dans les acronymes. Lire la suite . L'une des grandes guerres de la flamme, battue uniquement par des gens comme vi contre emac ou KDE contre GNOME. Pourtant, ces formats sont plus similaires que différents. Nous allons jeter un coup d'oeil.

Structure de fichier de package Linux

Pour jeter un œil à l'intérieur d'un fichier DEB, vous pouvez essayer un gestionnaire d'archives GUI. Sinon, utilisez le ar commander. La commande suivante entrée dans le terminal 40+ commandes de terminal Linux les plus utiliséesQue vous débutiez ou que vous soyez simplement curieux de connaître le terminal Linux, voici les commandes les plus courantes qui vous permettront de passer tout votre temps sur Linux. Lire la suite va extraire 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, 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 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 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-binaire — 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.
contrôle principal deb

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 les 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. Cela comprendra un fichier SPEC qui contient bon nombre des mêmes éléments que le Contrôler fichier dans un paquet Debian.

Maintenant que nous avons une compréhension de la structure des packages Linux, voyons explorez ce qui se passe lorsque vous les installez réellement Comment installer un logiciel sur Linux: Explication des formats de paquetVous êtes passé à Linux et souhaitez installer des logiciels. Mais les gestionnaires de packages diffèrent en fonction de votre distribution. Alors, quelles applications pouvez-vous télécharger et installer? Tout est dans les acronymes. Lire la suite .

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 similaire 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 package extrait réellement les fichiers du package.
  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 les logiciels qui s'y 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 une certaine connaissance de ce qui se passe dans les coulisses vous donnera une certaine tranquillité d'esprit sur ce qui est installé sur votre système, ainsi que pour aider 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-nous savoir dans les commentaires ci-dessous!

Aaron a été au coude à coude dans la technologie en tant qu'analyste commercial et chef de projet pendant quinze ans, et est un utilisateur fidèle d'Ubuntu depuis presque aussi longtemps (depuis le Breezy Badger). Ses intérêts incluent l'open source, les applications pour petites entreprises, l'intégration de Linux et Android et l'informatique en mode texte brut.