J'aimerais afficher la liste de tous les packages installés dans un fichier texte afin de pouvoir l'examiner et l'installer en bloc sur un autre système. Comment je ferais ça?
1888
J'aimerais afficher la liste de tous les packages installés dans un fichier texte afin de pouvoir l'examiner et l'installer en bloc sur un autre système. Comment je ferais ça?
Réponses:
Ubuntu 14.04 et plus
L'
apt
outil sur Ubuntu 14.04 et supérieur rend cela très facile.Versions plus anciennes
Pour obtenir la liste des packages installés localement, procédez comme suit:
(La
-v
balise "inverse" grep pour renvoyer les lignes non correspondantes)Pour obtenir la liste d'un paquet spécifique installé:
Pour enregistrer cette liste dans un fichier texte appelé
packages
sur votre bureau, procédez comme suit:Alternativement, utilisez simplement
(vous n'avez pas besoin d'exécuter ces commandes en tant que superutilisateur, aucune
sudo
des variantes nécessaires ici)la source
cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade
sourcesudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
fait le tour.apt list installed
. Un jour, nous devrions cesser systématiquement d’échouer à l’échec du principe suivant: «gardons les choses simples faciles»Pour obtenir uniquement les packages qui ont été expressément installés (pas seulement en tant que dépendances), vous pouvez exécuter
Cela comprendra également une brève description, que vous voudrez peut-être. Sinon, ajoutez également l'option
-F '%p'
, comme mentionné par karthick87.Une autre option semble être de copier le fichier
/var/lib/apt/extended_states
, qui est une base de données de fichiers texte dans ce format:Auto-Installed: 0
indique que le paquet a été expressément installé et qu'il ne s'agit pas simplement d'une dépendance.la source
apt-get
?Pour lister tous les paquets installés intentionnellement (pas en tant que dépendances) avec les commandes apt, lancez ce qui suit:
Ceci fournit une vue temporelle inversée, avec les commandes les plus anciennes énumérées en premier:
Données d'installation montrant également l'utilisation synaptique, mais sans détails (idem avec la date d'installation):
fournissant ce qui suit:
la source
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
??Créez une sauvegarde des packages actuellement installés:
Puis (sur un autre système), restaurez les installations à partir de cette liste:
Pour se débarrasser des paquets périmés:
Pour être installé comme au moment de la sauvegarde (c'est-à-dire pour installer les paquets définis par
dpkg --set-selections
):la source
ubuntu-desktop
une autre, avait été désinstallé, probablement à cause de l'une des commandes de dpkg. attention, il m'a fallu des heures pour réparer les dégâts!sudo apt-mark hold name-your-package
. Cela empêchera apt-get de passer à la version actuelle, qui est la procédure par défaut pour le processus de mise à jour.les pages de manuel indiquent:
Donc, il devrait simplement donner une liste des paquets explicitement installés (bien que cela inclue les paquets qui faisaient partie de l'installation initiale par défaut) sans toutes les dépendances incluses en raison de l'installation de ces paquets.
Pour exporter le résultat dans un fichier texte:
la source
apt-mark showmanual
pas vraiment. Il répertorie également des tonnes de packages installés automatiquement, probablement une partie de l'installation de base.apt list --manual-installed
.dpkg-query
(au lieu dedpkg --get-selections
, qui répertorie certains packages qui ne sont pas installés) comme suit:Ou:
la source
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
dans le deuxième système, j'ai créé ceci pour qu'il installe les paquets.apt-get install -y $(< installed-pkgs)
fera en sorte qu'apt -get s'exécute une seule fois et traite toutes les dépendances en même temps.sudo apt-get build-dep name-package; sudo apt-get install name-package;
?Pour lister tous les paquets installés,
ou
ou
Remarque:
vous obtiendrez le fichier de résultat 1.txt dans votre dossier de départ ou vous pourrez spécifier votre propre chemin.
la source
Vous pouvez utiliser Synaptic pour enregistrer l’état actuel de votre pack installé. Dans Synaptic, sélectionnez "fichier / enregistrer les marquages", entrez le nom du fichier dans lequel enregistrer l'état, et assurez-vous de cocher la case "Enregistrer l'état complet, pas uniquement les modifications".
Le fichier enregistré à partir de celui-ci peut être chargé sur une nouvelle machine en utilisant "marquage de fichier / lecture" dans Synaptic.
la source
Je recommande d'utiliser blueprint . Même s'il est conçu pour les serveurs, il peut également être utilisé à partir de postes de travail. Il créera un script shell / chef / puppet que vous pourrez utiliser pour réinstaller tous vos paquets.
la source
Vous voulez réinstaller les paquets maintenant là-bas le 12.04, non?
Si c'est le cas, c'est très facile. Vous aurez besoin d'un "compte Ubuntu Single Sign On". (Créez-le avant de le réinstaller pour que votre système soit synchronisé.)
Accédez au Centre de logiciel et recherchez l'option "Synchroniser entre ordinateurs ..." dans le menu Fichier.
Lorsque vous cliquez dessus, vous verrez votre ordinateur enregistré et une liste de toutes les applications de votre ordinateur.
Lorsque vous installerez de nouvelles versions, cet ordinateur sera considéré comme un nouvel ordinateur.
Il vous suffit de vous connecter à votre compte Ubuntu pour afficher votre ordinateur précédent.
Clique dessus; vous obtiendrez une liste de toutes les applications. Sélectionnez "installer" sur l'application que vous souhaitez installer.
la source
Il existe également un outil appelé Aptik (ligne de commande et interface graphique) qui peut vous aider à afficher une liste de tous les packages installés, avec une option permettant de sélectionner / désélectionner certains d'entre eux, de créer une liste de sauvegarde, puis de restaurer le même ensemble de packages. un autre système.
À installer:
Informations complémentaires: https://teejeetech.fr/aptik/
Comme vous pouvez le voir sur la capture d'écran, Aptik vous permet également de sauvegarder et de restaurer des PPA , ce qui sera certainement nécessaire pour installer certains des packages installés.
la source
apt-get install aptik-gtk
aussi bienAPT-Clone est utilisé par
ubiquity
(programme d'installation Ubuntu) pour le processus de mise à niveau. C'est beaucoup mieux que ladpkg --get-selections
solution car:Comment utiliser
Installer
Faire une sauvegarde
Restaurer la sauvegarde
Restaurer vers une version plus récente:
C'est un simple fichier tar compressé qui peut être facilement édité et revu avant d'être restauré sur les autres machines. Voici un exemple de sa structure:
la source
Il y a une grande explication sur Unix StackExchange qui décrit comment utiliser l' aptitude à la liste des paquets ne sont pas installées en tant que dépendances, et comment comparer cette liste avec la liste des paquets par défaut de votre version d' Ubuntu.
Pour obtenir le fichier de manifeste pour les versions de bureau de 12.04 et plus récentes, visitez ce site , choisissez votre version et faites défiler les images du CD vers le bas dans la section Fichiers. Vous trouverez quelque chose comme "ubuntu-12.04.4-desktop-amd64 + mac.manifest" qui correspond à votre architecture.
Pour les versions de serveur, vous devez obtenir le fichier de manifeste auprès de l'ISO utilisé pour installer le système d'origine. Pour un serveur VPS ou Cloud, votre fournisseur peut rendre les images disponibles ou vous devrez peut-être les contacter.
Voici un exemple utilisant le code de la publication référencée, ainsi que les modifications à installer sur le nouveau serveur.
Ancien serveur (code d'une autre publication, sortie sauvegardée dans un fichier):
Sur le nouveau serveur, copiez le fichier à l'aide de scp, puis utilisez sed pour ajouter 'install' à chaque ligne (-i effectue un remplacement en ligne). Vous pouvez ensuite utiliser la liste comme entrée pour 'dpkg --set-selections' et installer les paquets avec apt-get:
Avant de commencer cette tâche, je vous recommande de lire et de comprendre toutes les parties du message mentionné au début, puis de consulter le guide de référence d'aptitude pour plus de détails sur les modèles de recherche.
la source
Vous pouvez consulter le
apt
journal sous/var/log/apt/
et ledpkg
journal sous/var/log/
et vous pouvez obtenir la liste des paquets installés avec juste une commande:
la source
Je suis surpris que la
apt-cache
commande conçue exactement à cet effet n'ait pas été mentionnée ci-dessus ...Pour plus d'informations, lancez
apt-cache --help
:la source
apt --installed list
donnait le meilleur résultat (comme suggéré dans la réponse principale ci-dessus. Bien que celaapt-cache pkgnames
semble faire l'affaire à première vue, il répertorie "tous les packages du système" (conformément au texte d'aide ci-dessus), qui inclut également les packages connus d'apt. mais ne sont pas réellement installés. Il existe une--installed
option mais cela ne semble pas fonctionner avecpkgnames
.apt-cache pkgnames | wc -l
donne les55909
paquets (le système le sait), alors queaptitude search '~i!~M' | wc -l
donne2160
(les paquets explicitement installés, sans dépendances).Pour le récapitulatif complet, voir:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools
à mi-chemin de la page:
la source
La commande ci-dessous répertorie également tous les packages installés,
la source
/var/log/dpkg.log*
pour obtenir tous les journaux soumis à la rotation.Aidez ce wiki de communauté - Ajoutez des solutions à jour.
dpkg, xargs et apt-get
Cette commande devrait permettre la création d'un fichier texte contenant les packages installés:
Pour effectuer l'installation en bloc des packages répertoriés, vous devez modifier 'package_list.txt'. Supprimez les lignes étranges en haut du fichier à l'aide d'un éditeur de texte. Vous pouvez ensuite utiliser cette commande pour installer des packages à partir du fichier créé à l'aide de:
apt-cache, xargs et apt-get
Utilisez cette méthode uniquement si vous souhaitez que tous les packages actuels soient installés à l'aide de la liste ( qui inclut l'installation automatique, etc.).
Exportez la réponse de 'apt-cache pkgnames' dans un fichier que nous nommerons simplement "package_list.txt". Vous pouvez accomplir ceci avec:
Ensuite, lorsque vous souhaitez installer des packages à partir de "package_list.txt", vous devez utiliser cette commande:
apt-mark, xargs et apt-get
Nous pouvons utiliser la commande
apt-mark showmanual
pour donner une liste des paquets qui ont été installés manuellement ou initialement avec Ubuntu. Nous voudrons exporter cela dans un fichier que nous appellerons simplement "package-list.txt". Utilisez cette commande pour accomplir cela:La commande que nous utiliserions pour installer des packages à partir du fichier "package_list.txt" est ci-dessous.
Utilitaire de migration Aptik
Pour obtenir des informations sur Aptik, visitez sa page officielle. Pour une capture d'écran, cliquez ici ou affichez la fin de cette section.
Installer Aptik est simple. Suivez ces étapes:
Ajouter le PPA avec:
sudo add-apt-repository -y ppa:teejee2008/ppa
Mettez à jour apt avec la commande ci-dessous.
sudo apt-get update
Installez Aptik en utilisant:
sudo apt-get install aptik
la source
apt-mark showmanual
inclut Bash, Unity et Xorg, entre autres. Sont-ils censés être là?Pour enregistrer une liste de packages installés dans un fichier nommé
installed_packages.txt
, exécutez simplement:la source
Je pense qu'il est intéressant de noter
apt list --installed
ou d'dpkg-query --list
utiliser réellement le fichier appelé/var/lib/dpkg/status
derrière où toutes les informations sur les paquets sont barbues.Donc, si vous souhaitez traiter uniquement de la liste très étendue de packages
cat /var/lib/dpkg/status
.Remarque: ne modifiez pas le
/var/lib/dpkg/status
fichier.la source
Outre les packages APT , de nombreux packages d'interface graphique sont à présent distribués sous forme d' instantanés .
Si votre paquet ne peut pas être trouvé dans
apt list --installed
, alors essayezsnap list
:C'est également une bonne idée d'ajouter
/snap/bin
à la variable PATH afin de pouvoir démarrer celles-ci à partir du terminal (cette opération est effectuée automatiquement pour les utilisateurs non-root).la source
Le paquet
dctrl-tools
fournit l'grep-status
outil pour obtenir la liste des paquets marqués comme installés sur votre système:Usage:
voir:
man dctrl-tools
la source
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
la source
Il y a plusieurs façons de le faire. Si vous utilisez CentOS comme moi, vous pouvez utiliser ceux-ci: 1.
yum list installed
2.rpm -qa
la source