Maison  >  Article  >  Tutoriel système  >  Analyser les fonctions et les caractéristiques d'apt, yum, dnf et pkg

Analyser les fonctions et les caractéristiques d'apt, yum, dnf et pkg

WBOY
WBOYavant
2024-01-04 20:25:44570parcourir
Présentation La plupart des systèmes d'exploitation de type Unix modernes fournissent un mécanisme centralisé pour rechercher et installer des logiciels. Les logiciels sont généralement stockés dans des référentiels et distribués via des packages. Le travail de gestion des packages est appelé gestion des packages. Les packages fournissent les composants de base d'un système d'exploitation, ainsi que des bibliothèques, des applications, des services et de la documentation partagés.

详解apt、yum、dnf 和 pkg

Présentation

En plus d'installer des logiciels, le système de gestion des packages fournit également des outils pour mettre à jour les packages installés. Les référentiels de packages permettent de garantir que le code utilisé dans votre système a été examiné et que la version installée du logiciel a été approuvée par les développeurs et les responsables des packages.

Lors de la configuration d'un serveur ou d'un environnement de développement, il est préférable de comprendre quels packages se trouvent en dehors du référentiel officiel. Les packages de la version stable d'une distribution peuvent être obsolètes, en particulier pour les logiciels nouveaux ou en évolution rapide. Cependant, la gestion des packages est une compétence vitale à la fois pour les administrateurs système et les développeurs, et les logiciels packagés constituent un atout considérable pour les principales distributions Linux.

Ce guide est conçu pour présenter rapidement les bases de la recherche, de l'installation et de la mise à niveau de packages sur diverses distributions Linux, et pour vous aider à croiser ces contenus sur plusieurs systèmes.

Système de gestion de colis : un bref aperçu

La plupart des systèmes de packages sont construits autour de collections de fichiers de packages. Un fichier de package est généralement un fichier d'archive contenant des fichiers binaires compilés et d'autres ressources pour le logiciel, ainsi que des scripts d'installation. Les fichiers de package contiennent également des métadonnées précieuses, notamment leurs dépendances et une liste d'autres packages requis pour les installer et les exécuter.

Bien que les fonctionnalités et les avantages de ces systèmes de gestion de colis soient en grande partie les mêmes, les formats et outils d'emballage varient selon la plateforme :

Système d'exploitation Format Outils
Debian .deb apt, apt-cache, apt-get, dpkg
Ubuntu .deb apt, apt-cache, apt-get, dpkg
CentOS .rpm miam
Fedora .rpm dnf
BSD gratuit Ports, .txz faire, paquet

Debian et ses dérivés, comme Ubuntu, Linux Mint et Raspbian, leur format de paquet est .deb. APT Cet outil avancé de gestion de packages fournit des commandes pour les opérations les plus courantes : rechercher des référentiels, installer des packages et leurs dépendances et gérer les mises à niveau. Dans le système local, nous pouvons également utiliser le programme dpkg pour installer un seul fichier deb. La commande APT sert de frontal au dpkg sous-jacent, et parfois elle est également appelée directement.

Les dérivés Debian les plus récemment publiés incluent la commande apt, qui fournit une interface concise et unifiée pour les opérations courantes généralement gérées par les commandes apt-get et apt-cache. Cette commande est facultative, mais son utilisation peut simplifier certaines tâches.

CentOS, Fedora et d'autres membres de la famille Red Hat utilisent des fichiers RPM. Dans CentOS, interagissez avec les fichiers et référentiels de packages individuels via yum.

Dans les versions récentes de Fedora, yum a été remplacé par dnf, un fork moderne de celui-ci qui conserve la plupart des interfaces de yum.

Le système de packaging binaire de FreeBSD est géré par la commande pkg. FreeBSD fournit également la collection Ports, qui est une structure de répertoires locaux et un outil permettant aux utilisateurs d'utiliser Makefile pour compiler et installer des packages directement à partir du code source après avoir obtenu le code source.

Liste des packages mise à jour

La plupart des systèmes auront une base de données de packages locale correspondant au référentiel distant. Il est préférable de mettre à jour cette base de données avant d'installer ou de mettre à niveau les packages. De plus, yum et dnf vérifieront également automatiquement les mises à jour avant d'effectuer certaines opérations. Bien entendu, vous pouvez mettre à jour le système à tout moment.

Système Commandes
Debian/Ubuntu sudo apt-get update
mise à jour sudo apt
CentOS miam check-update
Fedora dnf check-update
Packages BSD gratuits mise à jour du paquet sudo
Ports BSD gratuits sudo portsnap récupérer la mise à jour
Mettre à jour les packages installés

Sans système de packages, il est difficile de garantir que tous les logiciels installés sur la machine sont tenus à jour. Vous devrez suivre les modifications en amont et les alertes de sécurité pour des centaines de packages différents. Bien qu'un gestionnaire de packages ne résolve pas tous les problèmes que vous rencontrez lors de la mise à niveau d'un logiciel, il vous permet d'utiliser certaines commandes pour gérer la plupart des composants du système.

Sur FreeBSD, la mise à niveau des ports installés peut introduire des modifications importantes, et certaines étapes nécessitent une configuration manuelle, il est donc préférable de lire le contenu de /usr/ports/UPDATING avant de mettre à jour via portmaster.

Système Commandes Instructions
Debian/Ubuntu sudo apt-get mise à niveau Mettre à jour uniquement les packages installés
sudo apt-get dist-upgrade Des packages peuvent être ajoutés ou supprimés pour satisfaire de nouvelles dépendances
mise à niveau sudo apt Semblable à la mise à niveau apt-get
sudo apt mise à niveau complète Similaire à apt-get dist-upgrade
CentOS mise à jour sudo miam
Fedora mise à niveau sudo dnf
Packages BSD gratuits Mise à niveau sudo pkg
Ports BSD gratuits moins /usr/ports/UPDATING Utilisez less pour afficher les invites de mise à jour des ports (utilisez les touches fléchées haut et bas pour faire défiler, appuyez sur q pour quitter).
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a Installez Portmaster et utilisez-le pour mettre à jour les ports installés
Rechercher un forfait

La plupart des distributions fournissent des outils graphiques ou pilotés par menus pour les collections de packages. Nous pouvons parcourir les logiciels par catégorie, ce qui est également un bon moyen de découvrir de nouveaux logiciels. Cependant, le moyen le plus rapide et le plus efficace de trouver un package consiste à effectuer une recherche à l’aide d’un outil de ligne de commande.

Système Commandes Instructions
Debian/Ubuntu apt-cache recherche search_string
apt recherche search_string
CentOS miam recherche search_string
miam rechercher tout search_string Rechercher dans tous les champs, y compris la description
Fedora dnf recherche search_string
dnf recherche tout search_string Rechercher dans tous les champs, y compris la description
Packages BSD gratuits pkg recherche search_string Recherche par nom
pkg search -f search_string Recherchez par nom et renvoyez une description complète
pkg search -D search_string Description de la recherche
Ports BSD gratuits cd /usr/ports && make search nom=package Recherche par nom
cd /usr/ports && make search key=search_string Recherche d'avis, de descriptions et de dépendances
Afficher des informations sur un progiciel

Avant d'installer un progiciel, nous pouvons obtenir de nombreuses informations utiles en lisant attentivement la description du package. En plus du texte lisible par l'homme, ceux-ci incluent généralement des métadonnées telles que les numéros de version et une liste des dépendances du package.

Système Commandes Instructions
Debian/Ubuntu forfait apt-cache show Afficher les informations du cache local sur les packages
forfait spectacle apt
Paquet dpkg -s Affiche l'état actuel de l'installation des packages
CentOS miam paquet d'informations
paquet miam deplist Liste des dépendances des packages
Fedora forfait d'informations dnf
dnf repoquery --nécessite un package Liste des dépendances des packages
Packages BSD gratuits paquet d'informations sur le paquet Afficher des informations sur les packages installés
Ports BSD gratuits cd /usr/ports/category/port && cat pkg-descr
Installer le package à partir du référentiel

Une fois que vous connaissez le nom du package, vous pouvez généralement l'installer ainsi que ses dépendances avec une seule commande. Vous pouvez également installer plusieurs packages à la fois, il suffit de les lister tous.

Système Commandes Instructions
Debian/Ubuntu Package d'installation sudo apt-get
sudo apt-get install package1 package2 ... Installez tous les packages répertoriés
sudo apt-get install -y package Lorsque apt vous demande s'il faut continuer, la valeur par défaut est oui
Package d'installation sudo apt Afficher une barre de progression colorée
CentOS paquet d'installation sudo miam
sudo yum install package1 package2 ... Installez tous les packages répertoriés
sudo miam install -y package Lorsque yum vous demande s'il faut continuer, la valeur par défaut sera oui
Fedora Pack d'installation sudo dnf
sudo dnf install package1 package2 ... Installez tous les packages répertoriés
sudo dnf install -y package Lorsque dnf vous demande s'il faut continuer, la valeur par défaut sera directement oui
Packages BSD gratuits Pack d'installation sudo pkg
sudo pkg install package1 package2 ... Installez tous les packages répertoriés
Ports BSD gratuits cd /usr/ports/category/port && sudo make install Construire et installer un port à partir des sources
Installer un package à partir du système de fichiers local

Pour un système d'exploitation donné, il arrive parfois que certains logiciels ne fournissent pas officiellement le package correspondant, le développeur ou le fournisseur devra donc fournir le téléchargement du fichier du package. Vous pouvez généralement récupérer ces packages via un navigateur Web ou récupérer ces informations via la ligne de commande curl. Après avoir téléchargé le package sur le système cible, nous pouvons généralement l'installer avec une seule commande.

Sur les systèmes dérivés de Debian, dpkg est utilisé pour traiter les fichiers de packages individuels. Si un package a des dépendances non satisfaites, nous pouvons alors utiliser gdebi pour les récupérer depuis le référentiel officiel.

Sur les systèmes CentOS et Fedora, yum et dnf sont utilisés pour installer des fichiers individuels et gérer les dépendances requises.

Système Commandes Instructions
Debian/Ubuntu sudo dpkg -i package.deb
sudo apt-get install -y gdebi && sudo gdebi package.deb Installez gdebi, puis utilisez gdebi pour installer package.deb et gérer les dépendances manquantes
CentOS sudo yum install package.rpm
Fedora sudo dnf install package.rpm
Packages BSD gratuits sudo pkg ajouter package.txz
sudo pkg add -f package.txz Même les packages installés seront réinstallés
Supprimer un ou plusieurs packages installés

Étant donné que le gestionnaire de packages sait quels fichiers sont fournis par un package donné, il peut souvent supprimer proprement ces fichiers du système si un logiciel n'est plus nécessaire.

Système Commandes Instructions
Debian/Ubuntu sudo apt-get supprimer le paquet
sudo apt supprimer le paquet
sudo apt-get autoremove Supprimer les packages inutiles
CentOS sudo miam removepackage
Fedora paquet d'effacement sudo dnf
Packages BSD gratuits sudo pkg supprimer le paquet
sudo pkg autoremove Supprimer les packages inutiles
Ports BSD gratuits sudo pkg supprimer le paquet
cd /usr/ports/path_to_port && make deinstall Désinstaller le port
commande apt

Les administrateurs des distributions de la famille Debian connaissent généralement apt-get et apt-cache. Moins connue est l’interface simplifiée apt, conçue pour une utilisation interactive.

Commandes traditionnelles Commande apt équivalente
apt-get update mise à jour apt
apt-get dist-upgrade apt mise à niveau complète
chaîne de recherche apt-cache chaîne de recherche apt
package d'installation apt-get package d'installation apt
apt-get supprimer le paquet apt supprimer le paquet
package de purge apt-get forfait de purge apt

Bien qu'apt soit généralement un raccourci pour une opération spécifique, il ne peut pas remplacer complètement les outils traditionnels et son interface peut changer de version en version pour améliorer la convivialité. Si vous utilisez des commandes de gestion de packages dans des scripts ou des pipelines shell, il est préférable de s'en tenir à apt-get et apt-cache.

Obtenir de l'aide

En plus de la documentation Web, n'oubliez pas que nous pouvons obtenir la plupart des commandes des pages de manuel Unix (souvent appelées pages de manuel) via le shell. Par exemple, pour lire une certaine page, vous pouvez utiliser man :

Chez l'homme, vous pouvez naviguer à l'aide des touches fléchées. Appuyez sur / pour rechercher le texte dans la page et utilisez q pour quitter.

Système Commandes Instructions
Debian/Ubuntu homme apt-get Mettre à jour la base de données de packages locale et travailler avec les packages
homme apt-cache Recherche dans la base de données de packages locale
homme dpkg Travailler avec des fichiers de packages individuels et interroger les packages installés
homme apte Effectuez les opérations les plus élémentaires via une interface plus simple et conviviale
CentOS mec miam
Fedora homme dnf
Packages BSD gratuits pack homme Fonctionne avec des packages binaires précompilés
Ports BSD gratuits ports masculins Travailler avec la collection Ports

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer