Comment suivez-vous les packages installés sur Fedora (Linux)?

11

(Cette question est très similaire à 6338. Il a été suggéré de la séparer car Fedora et Ubuntu / Debian sont suffisamment différents pour justifier des réponses différentes.)

Comme j'utilise n'importe quelle configuration de Fedora, j'installe progressivement un certain nombre de packages au-delà de l'installation de base. Si je réinstalle ou si j'ai besoin d'installer une nouvelle machine, je veux généralement réinstaller ces packages spécifiques et je veux le faire rapidement pour me remettre au travail avec un minimum de tracas. Pour autant que j'ai vu, tous les gestionnaires de packages ( yumet pirut) peuvent me dire quels packages sont installés, et ils ont tous des journaux (bien que différents pour chaque outil, ce qui est un problème). Mais aucun d'eux ne peut me dire quels paquets j'aiinstallés, par opposition à leurs dépendances ou mises à jour du système. Même les journaux sont délicats dans la mesure où je ne suis pas entièrement sûr de ce que je devrais en extraire, ni comment les intégrer (dans le cas des différents outils de la famille apt). Cela signifie que chaque fois que je réinstalle, ou même simplement sauvegarde, je ne sais pas comment recréer cette liste.

Je ne m'attends pas nécessairement à ce que les outils le fassent pour moi, mais s'ils ne le font pas, je recherche des solutions. Même les modèles à rechercher, de bonnes règles empiriques ou une idée claire de ce qui est exactement enregistré, seraient utiles. Il n'y a peut-être pas de «meilleure réponse» ici, mais de bonnes seraient très utiles.

quark
la source

Réponses:

3

yum list installedet yum.logmontrera ce qui a été installé, mais je ne pense pas que quoi que ce soit sur le système fasse la différence entre les packages que vous avez choisi d'installer et ceux qui ont été installés en tant que dépendances

l'autre reçoit
la source
2

En supposant que vous disposez toujours du /root/install.logfichier de l'installation d'origine, vous pouvez créer les fichiers rpm.orig et rpm.curr ainsi:

cd /root
rpm -qa --qf '%{NAME}\n' | sort -u > rpm.curr
awk '($1=="Installing"){print $2}' install.log | sort -u > rpm.orig

Ensuite, pour voir les packages ajoutés:

comm -13 rpm.orig rpm.curr

Et ceux supprimés:

comm -23 rpm.orig rpm.curr

Notez que si vous avez une installation x86_64 , cela ne fera pas la différence entre les packages 32 et 64 bits.


la source
2

Essayez d'utiliser sudo yum history packages-list \*

Il montrera ce qui a été installé explicitement et ce qui a été installé en tant que dépendance:

ID | Action(s)      | Package                                              
-------------------------------------------------------------------------------
47 | Dep-Install    | cairomm-1.8.0-2.1.el6.x86_64                         
47 | Dep-Install    | glibmm24-2.22.1-1.el6.x86_64                         
47 | Install        | gnome-system-monitor-2.28.0-11.el6.x86_64
Francisco
la source
0

C'est facile.

Exécutez simplement la commande ci-dessous dans votre shell préféré. La page de manuel de RPM sera douloureusement illustrative si vous avez besoin d'approfondir cela.

rpm -qa

Axxmasterr
la source
3
Cela répertorie tous les packages oui, mais cela ne fait pas de distinction entre ceux que j'ai ajoutés et ceux qui étaient déjà sur le système. Je souhaite suivre spécifiquement les packages que j'ai explicitement installés.
quark
Tous les packages ont été explicitement installés par vous. Vous devriez être beaucoup plus précis sur ce que vous voulez faire pour obtenir une aide significative.
vonbrand
0

Le fichier /root/install.log vous indiquera quels packages ont été inclus dans l'installation initiale. Voici un script rapide qui comparera le contenu de ce fichier avec la sortie de rpm -qa:

rpm -qa | sort > /root/postinstall.list
for P in `sed -n 's/Installing \(.*\)/\1/p' </root/install.log`
do
  sed -ie "/$P/d" /root/postinstall.list
done

Le fichier /root/postinstall.list contient ce que vous voulez. Notez que les packages qui sont une version mise à niveau d'un package installé à l'origine apparaîtront dans le fichier. Si ce n'est pas ce que vous voulez, vous aurez besoin d'un motif plus sophistiqué dans l'instruction sed.

dkaylor
la source
0

rpm -qa --last

à partir des pages de manuel:

--last Orders the package listing by install time such that the latest packages are at the top.

Exemple de sortie:

mdadm-3.2.2-9.el6                             Mon 12 Dec 2011 10:06:17 AM EST
libdrm-2.4.25-2.el6                           Mon 12 Dec 2011 09:54:51 AM EST
tcp_wrappers-libs-7.6-57.el6                  Mon 12 Dec 2011 09:54:50 AM EST
Dejan
la source
0

En supposant que vous ayez toujours utilisé "yum" pour installer tout ce que vous pouvez faire:

sudo yum history info \* | grep "^Command Line   : install"

Il devrait vous montrer toutes les commandes "yum install" exécutées sur le système après l'installation.

Quintesse
la source