Introduction à Debian Package Management

Introduction à Debian Package Management
Ubuntu et toutes les autres distributions Debian Linux offrent un ensemble complet de systèmes de gestion des packages qui donne accès à une base de données organisée de plus de 6000 packages. La gestion des packages facilite la tâche d'installation, de configuration, de mise à niveau et de suppression du package. Il résout également le processus de problèmes liés à la dépendance en incluant les fonctionnalités de résolution de dépendance.

Le Debian Package Management propose plusieurs outils, notamment le DPKG, l'outil d'emballage avancé (APT) et l'utilitaire d'aptitude à effectuer des tâches de gestion des packages. Ce tutoriel utilise chacun de ces outils de gestion Debian pour décrire:

  • Comment installer, supprimer, réinstaller et mettre à niveau les packages Debian?
  • Comment trouver des fichiers ou des bibliothèques de packages désinstallés?
  • Comment obtenir des métadonnées ou des détails de la version et du contenu lorsque le package est désinstallé?

Arrière-plan

Dans les premiers systèmes Linux, des packages ont été installés ou ajoutés en saisissant le code source du projet construit. Les utilisateurs ont ensuite compilé le code source en binaires Runnable, y compris des pages manuelles, des bibliothèques et des fichiers de configuration pour créer un programme requis. L'utilisateur peut trouver les programmes déjà compilés par quelqu'un pour ajouter au système dans un meilleur scénario.

Le programme compilé était le tarball: un seul fichier contenant plusieurs fichiers recueillis pour une distribution pratique. En d'autres termes, après l'installation d'un tarball, des fichiers se sont répandus sur le système Linux dans divers dossiers et sous-répertoires appropriés tels que / etc., / bin, / var, / usr / share / man, etc.

Même s'il est facile de créer un tarball, il a des problèmes tels que:

  • Suivi des dépendances requises
  • L'utilisateur n'est pas au courant des fichiers de configuration et de la documentation située dans le système. Il complique encore le processus d'élimination des logiciels.
  • Les tarballs ne contiennent pas de métadonnées logicielles, ce qui rend difficile la réparation des bogues et mettez à jour vers une nouvelle version.

Pour résoudre ces problèmes, Linux a introduit un système complexe pour la gestion des packages divisant toutes les distributions Linux en incorporant l'un des deux principaux formats d'emballage connus sous le nom de DEB et RPM. L'article se concentre sur le système de gestion de Debian basé sur Debian utilisé par Debian et les dérivés de Debian Distribution tels que Ubuntu, Linux Mint, etc.

Avant de progresser avec la démonstration de diverses tâches de gestion des packages, expliquons d'abord ce qu'est le fichier de package Debian et comment tous les gestionnaires de package de Debian ci-dessus diffèrent les uns des autres.

.Fichier Deb

Un fichier avec un .Deb Extension contient le contenu d'un package Debian
logiciel. Le fichier DEB se compose en outre de deux fichiers TAR qui composent les exécutables, les bibliothèques et autres fichiers.

La syntaxe générale de tout fichier de package Debian est la suivante:

_.-_.deb

Par exemple, apache_1.3.31-6_I386.Deb dit que le nom de base du logiciel est Apache. 1.3.31-6 est le numéro de version attribué par le packageur. Enfin, i386 implique que le package est compilé pour l'architecture Intel x86.

De plus, tout fichier avec le .Deb Extension est téléchargeable via la commande DPKG et représente un nom de fichier complet. En même temps, seul le nom du package Apache fait référence à la première partie du .Fichier Deb.

Gestionnaires de packages Debian

Le DPM se compose de plusieurs couches, car la couche supérieure constitue des commandes de la famille APT des outils, et la couche inférieure est de DPKG et d'outils associés.

dpkg

DPKG est un gestionnaire de packages Debian qui installe, supprime et configure des packages avec le .extension deb. Il télécharge simplement le contenu du package DEB sur le système et informe les dépendances requises. Mais il n'installe ni ne configure .Packages DEB en raison de dépendances manquantes car il n'a pas accès aux référentiels.

APTE

APT est un puissant outil de ligne de commande qui gère l'installation et la configuration des packages Deb. Il gère et télécharge en outre les dépendances nécessaires pour fournir le dernier logiciel. Il fonctionne comme frontal pour DPKG: après avoir répertorié toutes les dépendances et télécharger à partir du référentiel.

Par conséquent, APT automatise le problème dans DPKG. Il compare en outre les dépendances et informe les utilisateurs de ceux qui ne sont pas utilisés par n'importe quel package qu'un utilisateur peut supprimer.

Emplacement du forfait

L'installation du package à partir de tout centre de logiciel Debian ou utilitaires de ligne de commande (apt / apt-get) se produit via le téléchargement des packages à partir d'un ou plusieurs référentiels. Un référentiel Debian ou APT est un serveur ou un répertoire local contenant des fichiers de packages et leurs métadonnées lisibles par les outils APT.

Par conséquent, sur toutes les distributions basées sur Debian, le système de gestion des packages APT maintient des référentiels dans le fichier de configuration principal / etc / apt / sources.liste. Ainsi, chaque fois qu'un utilisateur exécute une commande pour l'installation de packages, la commande apt / apt-get regarde à l'intérieur du / etc / apt / sources.liste ou / etc / apt / sources.liste.d pour les URL du référentiel.

Il télécharge ensuite le logiciel souhaité pour l'installation. Le source.liste Le fichier contient en outre des informations supplémentaires sur les référentiels de l'installation du logiciel. L'utilisateur peut ajouter manuellement de nouveaux référentiels dans le / etc / apt / sources.liste.d Répertoire sans modifier le fichier de configuration principale. Cependant, les noms des nouveaux fichiers de référentiel doivent suivre / etc / apt / source.liste format. chat le contenu du / etc / apt / sources.liste déposer:

ubuntu @ ubuntu: ~ $ sudo chat / etc / apt / sources.Liste | moins

La syntaxe générale pour chaque référentiel inclus est le suivant:

deb http: // repo.Composant de distribution TLD / Ubuntu
deb-src http: // us.archive.ubuntu.Univers com / ubuntu / saucy-updates
  • deb: représente les archives Deb. Cela peut être deb qui implique .Package DEB ou référentiels Deb-Src contenant le code source du package.
  • http: // repo.TLD / Ubuntu: URL du référentiel
  • distribuer: nom de code de distribution
  • composant: ce sont les catégories de référentiel. Par exemple, les référentiels Ubuntu par défaut ont quatre catégories: principale, restreinte, multivers et univers.

L'APT et d'autres outils utilisent une base de données locale pour déterminer les packages installés. Pour maintenir la base de données locale, synchronisez les informations avec les référentiels répertoriés dans le sources.liste en utilisant le Mise à jour apt-get commande. Par conséquent, il est nécessaire d'effectuer une mise à jour de la base de données locale avant chaque installation ou mise à jour du package.

Aptitude

L'aptitude est une interface basée sur le menu et basée sur le texte pour DPKG et les fonctions de gestion des outils de package avancés. Il est mieux adapté à un environnement d'interface non graphique qui rend les tâches utilisateur faciles à effectuer. Il utilise des bibliothèques apt-get et fournit plus d'avantages en raison d'une interface interactive.

Installation du package Debian

L'installation de Linux installe automatiquement un ensemble de packages qu'un utilisateur peut personnaliser davantage selon l'utilisation du système, i.e., bureau, serveur ou poste de travail. Un utilisateur a également parfois besoin d'installer de nouveaux packages. Discutons de l'installation de packages concernant les gestionnaires de package à discussion ci-dessus.

Installation via apt-get

Utilisez la commande APT-Get Installer pour installer le package avec une liste de packages supplémentaires. La capture d'écran ci-dessous affiche la liste des dépendances et des invites à la continuation.

ubuntu @ ubuntu: ~ $ sudo apt-get install tmux

Comme indiqué ci-dessous, après le téléchargement, l'outil de ligne de commande déballe également le libutetempter0_1.1.6-3_AMD64.package deb.

Préparation à déballer… / libutempter0_1.1.6-3_AMD64.Deb…
Déballage libutempter0: amd64 (1.1.6-3)…

Au lieu de l'installation, l'indicateur -s ne détermine que si le package dépend d'autres packages.

ubuntu @ ubuntu: ~ $ sudo apt-get install -s tmux

Les packages supplémentaires suivants seront installés:
libutempter0

Installation via DPKG

Au cas où vous pourriez télécharger un .Deb fichier avec toutes les dépendances, sans apt-get. Utilisez la commande suivante pour l'installer via dpkg.

ubuntu @ ubuntu: ~ $ sudo dpkg -i .deb

Installation via l'aptitude

Exécutez l'aptitude via un terminal avec les privilèges sudo.

Ubuntu @ Ubuntu: ~ $ sudo aptitude

Utilisez le Ctrl + t combinaison de clés pour entrer dans le menu d'aptitude principale. Mais avant cela, utilisez les touches flèches pour entrer dans le sous-menu d'aptitude 'Packages non installés' section. Il montre plusieurs sous-menus, choisissez filet et faites défiler jusqu'à son sous-menu pour sélectionner principal Pour révéler toutes les applications. Choisissez votre application souhaitée et appuyez sur Entrer Pour voir tous les détails du package.

Marquez l'application pour l'installation en appuyant sur le '+'Clé et appuyez sur le'g'Clé pour commencer l'installation. Pendant l'installation, l'aptitude sera en mode console; Une fois terminé, il revient à l'interface utilisateur avec un affichage d'une description complète du package.

Retrait de la package Debian

La section élabore le processus de suppression de Debian Package. Discutons du processus de suppression des packages via chaque gestionnaire de packages.

Suppression du package via APT

L'option de suppression d'une commande apt-get supprime uniquement toutes les données du package.

ubuntu @ ubuntu: ~ $ sudo apt-get supprimer tmux

C'est-à-dire que tous les fichiers de configuration sont laissés. Par conséquent, si la commande est exécutée accidentellement, émettez une commande d'installation pour le package supprimé pour restaurer sa fonction. Pour supprimer tous les fichiers de configuration, tout en utilisant l'option Purge.

ubuntu @ ubuntu: ~ $ sudo apt-get purge tmux

De plus, la sortie dans la capture d'écran ci-dessus montre que les dépendances non réduites ne sont pas supprimées. À cette fin, l'option -auto-Remove fait le travail pour nous.

Ubuntu @ Ubuntu: ~ $ sudo apt-get - Auto-Remove tmux

Combinez les options de purge et -auto-rémunération pour supprimer complètement toutes les données et fichiers ainsi que des dépendances non réquisitionnées.

Ubuntu @ Ubuntu: ~ $ sudo apt-get purge - Auto-Remove tmux

Suppression des packages via DPKG

Le processus de suppression des paquets dans DPKG est presque similaire. Utilisez DPKG -R pour supprimer les données du package et DPKG -P pour supprimer complètement le package. Tout d'abord, répertoriez le package pour vous assurer s'il est correctement installé dans le système.

ubuntu @ ubuntu: ~ $ dpkg -l | grep tmux
ubuntu @ ubuntu: ~ $ sudo dpkg -r tmux
ubuntu @ ubuntu: ~ $ sudo dpkg -p tmux

dpkg Permet en outre de supprimer avec force les fichiers dans un scénario de mise à niveau de distribution qui oblige l'utilisateur à supprimer ou supprimer un package. Mais parfois, l'option Supprimer ne fonctionne pas en raison des dépendances non satisfaites du package ou d'une installation incomplète du package. Pour cela, DPKG propose la suppression forcée des emballages:

ubuntu @ ubuntu: ~ $ sudo dpkg --force-all --remove tmux

Suppression des forfaits via l'aptitude

La désinstallation via l'aptitude est aussi simple que l'installation. Faites défiler vers le bas et sélectionnez les «packages installés» pour afficher tous les programmes installés. Sélectionner net-> principal et choisissez le programme en appuyant sur un '-' clé. Presse 'g'Pour supprimer le package sélectionné.

Mise à jour du package Debian

Pour mettre à jour un seul package, utilisez la commande apt-get avec l'option d'installation. Il améliore également les packages ou dépendances supplémentaires. Cependant, il est nécessaire de s'assurer que les bases de données locales reflètent les dernières mises à jour:

ubuntu @ ubuntu: ~ $ sudo apt-get update
ubuntu @ ubuntu: ~ $ sudo apt-get install vim

Au lieu de mettre à jour les packages individuellement, il est préférable de mettre à jour toutes les applications du système, comme suit:

ubuntu @ ubuntu: ~ $ sudo apt-get update
Ubuntu @ Ubuntu: ~ $ sudo apt-get upgrade

Trouver des informations désinstallées de Debian Package

Tous les outils de gestion des packages sont conscients des packages disponibles qu'un utilisateur peut avoir besoin d'installer. L'APT-CACH est l'une de ces commandes qui maintient un référentiel contenant des informations sur les packages de la liste source. Il permet à l'utilisateur de récupérer les informations sur les packages dans le cache de l'APT.

Par exemple, pour installer un package pertinent pour un programme de chat sans aucune connaissance du nom du package, un utilisateur peut utiliser la commande suivante:

Ubuntu @ Ubuntu: ~ $ sudo apt-cache Search Chat

La commande ci-dessus renverra une liste de packages disponibles pour une application de chat.

De même, de nombreux outils sont disponibles pour trouver des packages à partir d'une liste déjà disponible de packages. Les utilisateurs peuvent trouver beaucoup de détails sur le package installé avec eux, mais pas pour un désinstallé, par exemple, des fichiers dans un package désinstallé. À cette fin, utilisez l'option -D avec une commande apt-get, car elle télécharge uniquement le package.

ubuntu @ ubuntu: ~ $ sudo apt-get install -d python3

Le fichier de package téléchargé est situé à l'intérieur / var / cache / apt / archives / annuaire. Utilisez maintenant la commande dpkg avec le -Info option pour afficher les détails du package ou le -Contenu Option pour afficher les fichiers de package.

ubuntu @ ubuntu: ~ $ dpkg - info / var / cache / apt / archives / nmap_7.60-1UBUNTU5_AMD64.Deb | moins
ubuntu @ ubuntu: ~ $ dpkg - continent / var / cache / apt / archives / nmap_7.60-1UBUNTU5_AMD64.Deb | moins

Trouver des informations sur les packages Debian installés

L'outil DPKG utilise de nombreux fichiers disponibles dans le / var / lib / dpkg annuaire. L'un d'eux est le / var / lib / dpkg / statut Fichier contenant des informations sur l'état du package. L'utilisation d'une commande dpkg avec l'option -s s'affiche affiche l'état des packages sur le système.

ubuntu @ ubuntu: ~ $ sudo dpkg -s vim

DPKG permet également aux utilisateurs de Linux de trouver les détails d'un package particulier et d'un fichier appartenant à un package spécifique. L'option DPKG-TOL -L répertorie tous les fichiers et répertoires du package d'intérêt. Tous dpkg nécessite un nom de package, mais lorsque plusieurs versions d'une application sont disponibles, elle nécessite un nom plus détaillé contenant les détails de la version.

ubuntu @ ubuntu: ~ $ dpkg -l vim

Pour trouver un package contenant un fichier spécifique, utilisez le -S drapeau. Par exemple, utilisez la commande suivante pour déterminer quel package contient le fichier / usr / bin / apt-get.

ubuntu @ ubuntu: ~ $ dpkg -s / usr / bin / apt-get

Enfin, nous pouvons trouver des détails ou un objectif d'un package particulier comme suit:

ubuntu @ ubuntu: ~ $ dpkg -p vim

Conclusion

L'article fournit une description détaillée de la gestion des packages de Debian. Il traite de diverses façons d'installer, de supprimer, de mettre à jour ou de mettre à niveau les packages. Nous avons également appris à trouver le statut de package et de nombreux autres détails sur les packages Debian désinstallés. L'article est un guide à guichet unique couvrant tous les aspects de la gestion des packages à Ubuntu ou toute distribution Debian. Merci d'être venu aussi loin; Vous pouvez placer vos requêtes dans la section des commentaires ci-dessous. Pour plus de détails sur la gestion des packages dans les distributions RHEL, lisez l'introduction à la gestion des packages RPM / YUM.