Les packages Linux rationalisent l'installation, la maintenance et la suppression des logiciels
Un package fournit et maintient un nouveau logiciel pour les ordinateurs basés sur Linux. Tout comme les ordinateurs Windows reposent sur des programmes d'installation exécutables, l' écosystème Linux dépend de packages administrés via des référentiels de logiciels. Ces fichiers régissent l'ajout, la maintenance et la suppression de programmes sur l'ordinateur.
Qu'est-ce qu'un paquet ?
Un package est constitué d'un ensemble de fichiers qui effectuent une tâche. Par exemple, le programme d'édition d'images populaire, GIMP , est distribué via un package. À l'intérieur, tous les fichiers que GIMP doit exécuter apparaissent dans une archive bien rangée. De plus, le package propose un petit fichier qui fournit des métadonnées importantes sur le programme.
John Coulter / Getty Images
Pourquoi des forfaits ?
Étant donné que chaque ordinateur ou serveur Linux utilise un logiciel différent , y compris des noyaux différents, les développeurs ne peuvent garantir qu'un "programme Linux" fonctionnera correctement sur un ordinateur donné. Pour résoudre ce problème d'interopérabilité, les packages incluent un manifeste de dépendances , ou des listes de programmes et de versions qui doivent être satisfaits pour que le logiciel packagé s'exécute correctement sur un ordinateur donné.
Comment utiliser les packages ?
Linux prend en charge plusieurs principaux types de gestionnaires de packages. Chacun remplit la même fonction de base d'installation et de gestion de nouveaux programmes, mais chacun utilise une architecture sous le capot légèrement différente et des interfaces utilisateur différentes pour effectuer les tâches principales du gestionnaire de packages.
Les systèmes de gestion de paquets courants incluent :
- DPKG : Le gestionnaire de paquets de base pour les distributions basées sur Debian.
- Apt : Une interface pour le système DPKG, trouvée dans les distributions basées sur Debian, telles que Ubuntu, Linux Mint et Elementary OS.
- Apt-get : Une interface plus riche en fonctionnalités pour le système DPKG, trouvée dans les distributions basées sur Debian.
- RPM : le gestionnaire de packages de base trouvé dans les distributions basées sur Red Hat, telles que Red Hat Enterprise Linux, CentOS et Fedora.
- Yum : Une interface pour le système RPM, trouvée dans les distributions basées sur Red Hat.
- Dnf : Un front-end plus riche en fonctionnalités pour le système RPM.
- ZYpp : Présent dans SUSE et OpenSUSE.
- Pacman : Le gestionnaire de paquets pour les distributions basées sur Arch Linux.
Quel que soit le gestionnaire de packages spécifique, le processus de maintenance du logiciel sur un ordinateur Linux est généralement le même. Vous lancez un catalogue de logiciels qui lit à partir d'un ou plusieurs référentiels (archives de logiciels optimisés pour une plateforme donnée). Choisissez le logiciel à installer ou à désinstaller via le catalogue graphique, ou utilisez une session shell pour exécuter les commandes manuellement.
Qu'est-ce qu'une alternative à un forfait ?
Bien que les packages restent la méthode éprouvée de distribution des logiciels Linux, ces dernières années, les technologies alternatives visent à simplifier la gestion des logiciels. Par exemple, le nouveau format Snap traite les programmes comme des objets autonomes et isolés qui s'exécutent dans leur propre espace protégé, de sorte qu'ils ne sont pas « dépendants des dépendances ».
De plus, la méthode d'installation du logiciel vraiment à l' ancienne nécessite une compilation à partir de la source. Ce processus est moins courant qu'auparavant, bien que les vétérans de Linux et les aficionados de Slackware le fassent toujours. Une installation par compilation à partir des sources nécessite que vous obteniez le code réel d'un programme, que vous compilez et installez ensuite sur votre propre ordinateur. Ce processus est, en théorie, plus efficace - l'installation est optimisée pour votre ordinateur spécifique - mais il s'agit généralement d'une stratégie d'utilisateur expérimenté pour les personnes habituées à développer leur propre logiciel.