Gestionnaire de paquets
Un gestionnaire de paquets est un ou plusieurs outils automatisant le processus d'installation, désinstallation, mise à jour de logiciels installés sur un système informatique. Le terme est surtout utilisé pour les systèmes d'exploitation basés sur Unix, tels GNU/Linux. Ces derniers utilisent dans leur majorité un gestionnaire de paquets, souvent fourni en standard. Ils permettent de mettre à disposition simplement des milliers de paquetages lors d'une installation standard.
Définitions
[modifier | modifier le code]Un paquet est une archive comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence fonctionnelle du système ainsi modifié.
Le gestionnaire de paquets permet d'effectuer différentes opérations sur les paquets disponibles :
- Installation, mise à jour, et désinstallation ;
- Utilisation des paquets provenant de supports variés (CD d'installation, dépôts sur internet, partage réseau…) ;
- Vérification des sommes de contrôle de chaque paquet récupéré pour en vérifier l'intégrité ;
- Vérification des dépendances logicielles afin d'obtenir une version fonctionnelle d'un paquetage ;
Exemples
[modifier | modifier le code]Sur les systèmes d'exploitation GNU/Linux, BSD, macOS et autres UNIX, il existe de nombreux logiciels gestionnaires de paquets.
On peut citer notamment :
- Homebrew, pkg (macOS) ;
- dpkg (Debian, Ubuntu et autres dérivées) ;
- RPM (Red Hat, Fedora, Mageia et openSUSE, etc.) ;
- Pacman (Arch Linux, Manjaro, etc.) ;
- yarn (alternative open source à npm).
Gestionnaires de téléchargement et de résolution de dépendances
[modifier | modifier le code]Il existe également de nombreux gestionnaires de téléchargement et de résolution de dépendances de paquetages tels que APT pour Debian et Ubuntu, urpmi de Mageia, DNF de Yellow Dog et Fedora, ZYpp d'openSUSE.
Interfaces graphiques
[modifier | modifier le code]Synaptic est l'outil graphique de APT, GURPMI est l'outil graphique de urpmi.
Gestionnaires hybrides
[modifier | modifier le code]Le système de ports BSD permet d'installer des logiciels à partir d'une collection sous forme de sources.
L'outil emerge de la distribution Linux Gentoo est un gestionnaire de paquetages, de téléchargement, de résolution de dépendances et de compilation permettant d'installer des logiciels à partir des sources. Il repose sur portage, inspiré des ports de FreeBSD.
Schéma
[modifier | modifier le code]Distribution GNU/Linux | Debian/ Ubuntu | OpenMandriva Lx/ Mageia/ ROSA Linux | Fedora | Arch Linux | OpenSUSE | Gentoo | FreeBSD/ OpenBSD/ NetBSD |
---|---|---|---|---|---|---|---|
Interface graphique par défaut | GNOME Logiciels/ Aptitude/ Synaptic | GURPMI/ rpmdrake | GNOME Logiciels | pamac, octopi | YaST | Portage | pkgfe/ portsman/ portbrowser/ bpm/ barry/ kports/ (FreeBSD) |
Gestionnaire de téléchargements et résolveur de dépendances | APT | urpmi/ urpme/urpmq | DNF | Pacman | ZYpp | emerge | ports |
Installeur | dpkg | RPM | RPM | RPM | |||
Format de paquet | .deb | .rpm | .rpm | .tar.xx | .rpm | ebuild | .tar.xx |
PackageKit ou la volonté d'unifier GNU/Linux
[modifier | modifier le code]Il y a une forte diversité dans les gestionnaires de paquets, les gestionnaires de téléchargement, et les interfaces qui en résultent. C'est la raison pour laquelle PackageKit a été créé. Celui-ci a pour objectif de proposer une interface graphique unifiée aux différents gestionnaires de paquets, afin de disposer d'une interface commune à toutes les distributions GNU/Linux. Il est déjà disponible sous Fedora, openSUSE ou encore Mandriva. Ubuntu ne compte pas l'intégrer prochainement.
Gestionnaires de paquets sous Windows
[modifier | modifier le code]Depuis la version Windows 8, Microsoft a inclus dans son système d'exploitation le Microsoft Store qui permet de télécharger et d'installer des paquets logiciels de type APPX.
Sur le système d'exploitation Microsoft Windows, il est possible d'utiliser le gestionnaire de paquets Package Manager (inclus), appelé également pkgmgr.exe (déprécié, utiliser DISM.exe). Des logiciels libres existent également, tels que Chocolatey (en) ou WAPT.
Gestionnaire universel de paquets
[modifier | modifier le code]L'industrie du logiciel est en perpétuelle évolution. Les gestionnaires d'objets binaires n'échappent pas à la règle et se dirigent petit à petit vers des gestionnaires universel de paquets[1]. Ces gestionnaires de paquets visent à standardiser la façon qu'ont les entreprises d'accéder et d'utiliser tous les paquets dont elles ont besoin dans leur processus de développement. Ils fournissent des outils de sécurité et d'analyse de compatibilité des types d'artéfacts. Les gestionnaires universels de paquets ont une position centrale dans la chaîne d'outils de développement (systèmes de compilation, empaqueteurs, outils de documentation, d'analyse de code, de livraison...) exploitée par les organisations[2].
Quelques gestionnaires universels de paquets connus[3] :
- Apache Archiva
- Jfrog Artifactory
- Inedo, ProGet
- Sonatype Nexus
Gestionnaire de paquets de langage de programmation
[modifier | modifier le code]Les gestionnaires de paquets de langage de programmation permettent d’installer des paquets pour le langage pour du développement logiciel ou pour un usage final.
Liste de langages de programmation et leurs gestionnaires de paquets respectifs :
- C, C++ : Conan
- D : dub
- C#, F#, Visual Basic .NET : NuGet
- Go : get, dep
- Haskell : Cabal
- Java : Maven, Gradle
- Lua : LuaRocks (en)
- Node.js, Deno, JavaScript, TypeScript : npm, yarn, ied, pnpm, npmd, Deno
- Perl : Perl package manager (en)
- PHP : Composer, PEAR
- Python : pip, Conda (en), poetry, pipenv
- Ruby : RubyGems, bundler
- Rust : Cargo
Références
[modifier | modifier le code]- (en) John K. Waters, « JFrog Releases ‘Universal’ Artifact Repository », sur ADT Mag, Application Development Trends Magazine,
- (en) Xavier Decoster, « An Overview of the NuGet Ecosystem », sur CodeProject.com,
- (en) scott hanselman, « How to host your own NuGet Server and Package Feed », sur Hanselman.com,
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Paquet aussi appelé paquetage logiciel (en anglais package)
- Autopackage Gestionnaire de paquets indépendant de la distribution.
- Liste des logiciels gestionnaires de paquets (en)
Liens externes
[modifier | modifier le code]- (en) Site de PackageKit