Modes de paiement Abuse

Comment obtenir et copier la liste des paquets installés sur un serveur Linux Ubuntu / Debian ?

01.01.2023, 21:26

Un administrateur système a besoin d'obtenir une liste de paquets pour diverses raisons : réinstallation d'un système, installation de paquets sur une autre machine, vérification des versions et de la compatibilité ou autres raisons.

Comment obtenir la liste des paquets Ubuntu / Debian Linux ?

Vous pouvez obtenir la liste des paquets à l'aide de la commande :

dpkg-query -l

Une liste apparaîtra dans le panneau avec le nom, la version actuelle et une brève description de l'objectif.

Pour Ubuntu, elle utilise :

sudo apt list --installed

Elle produit également une liste des paquets avec la version et l'architecture actuelles. Il existe des commandes permettant d'afficher uniquement une liste de paquets avec leur nom, mais elles sont moins fréquemment utilisées).

Comment copier et migrer des paquets sur Ubuntu / Debian Linux ?

Typiquement, un administrateur système a besoin de transférer une liste de paquets installés d'un serveur à un autre, plutôt que d'avoir à installer et/ou configurer chacun d'entre eux individuellement.

Il y a 2 étapes pour faire cela :

  1. Sauvegarder la liste des paquets du serveur #1 qui ont été précédemment générés par la commande ;
  2. Installer les dépendances sur le serveur n°2.

Pour créer un fichier contenant la liste des paquets installés, nous utilisons :

dpkg --get-selections | grep -v deinstall > allpackages.txt

Le nom"allpackages.txt" est un exemple. Vous pouvez utiliser n'importe quel nom :"alllists.txt","lists.txt","packages.txt", etc.

Le fichier contenant la liste des paquets et des versions est copié sur le serveur n° 2 avec votre adresse. Par exemple, pour 200.200.200.200.200, la commande ressemblerait à ceci :

scp allpackages.txt 200.200.200.200:~/

La seule chose qu'il reste à faire est de rouler les paquets à partir du fichier copié. Pour ce faire, la commande est utilisée :

$ sudo apt-get install -y $(< allpackages.txt)

C'est fait ! Vous avez maintenant déplacé la liste des paquets du serveur n° 1 vers le serveur n° 2.