Come traccia i pacchetti installati su Fedora (Linux)?


11

(Questa domanda è molto simile alla 6338. È stato suggerito di dividerlo poiché Fedora e Ubuntu / Debian sono abbastanza diverse da giustificare risposte diverse).

Man mano che utilizzo qualsiasi configurazione Fedora, installo gradualmente diversi pacchetti oltre l'installazione di base. Se reinstallo o se devo installare un nuovo computer, di solito desidero reinstallare quei pacchetti specifici e voglio farlo velocemente per tornare al lavoro con un minimo di seccatura. Per quanto ho visto tutti i gestori di pacchetti ( yume pirut) possono dirmi quali pacchetti sono installati e hanno tutti i registri (anche se diversi per ogni strumento, che è una seccatura). Ma nessuno di loro può dirmi quali pacchetti hoinstallato, al contrario delle loro dipendenze o aggiornamenti di sistema. Anche i registri sono complicati in quanto non sono del tutto sicuro di cosa dovrei estrarre da essi o come integrarli (nel caso dei vari strumenti della famiglia apt). Ciò significa che ogni volta che reinstallo, o anche solo il backup, non sono sicuro di come ricreare tale elenco.

Non mi aspetto necessariamente nessuno degli strumenti per fare questo per me, ma se non lo sono sto cercando soluzioni alternative. Sarebbero utili anche schemi per cui fare affidamento, buone regole empiriche o un'idea chiara di cosa si sta registrando esattamente. Potrebbe non esserci una "migliore risposta" qui, ma quelle buone sarebbero molto utili.

Risposte:


3

yum list installede yum.logmostrerà cosa è stato installato, ma non credo che nulla nel sistema differenzi i pacchetti che hai scelto di installare e quelli che sono stati installati come dipendenze


2

Supponendo di avere ancora il /root/install.logfile dall'installazione originale, è possibile creare i file rpm.orig e rpm.curr in questo modo:

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

Quindi, per vedere i pacchetti aggiunti:

comm -13 rpm.orig rpm.curr

E quelli rimossi:

comm -23 rpm.orig rpm.curr

Nota che se hai un'installazione x86_64 , non dirà la differenza tra i pacchetti a 32 e 64 bit.


2

Prova a usare sudo yum history packages-list \*

Mostrerà ciò che è stato installato esplicitamente e ciò che è stato installato come dipendenza:

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

0

Questo è facile.

Basta eseguire il comando seguente nella shell preferita. La manpage di RPM sarà dolorosamente illustrativa se devi fare un tuffo più profondo su questo.

rpm -qa


3
Questo elenca tutti i pacchetti sì, ma non distingue tra quelli che ho aggiunto e quelli che erano già sul sistema. Voglio tracciare specificamente i pacchetti che ho installato esplicitamente.
quark,

Tutti i pacchetti sono stati esplicitamente installati da te. Dovresti essere molto più specifico su ciò che vuoi fare per ottenere un aiuto significativo.
vonbrand,

0

Il file /root/install.log ti dirà quali pacchetti sono stati inclusi nell'installazione iniziale. Ecco uno script veloce che confronterà il contenuto di questo file con l'output di 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

Il file /root/postinstall.list contiene ciò che desideri. Si noti che i pacchetti che sono una versione aggiornata di un pacchetto installato originariamente appariranno nel file. Se questo non è ciò che desideri, avrai bisogno di un modello più sofisticato nell'istruzione sed.


0

rpm -qa --last

dalle pagine man:

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

Uscita campione:

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

0

Supponendo che tu abbia sempre usato "yum" per installare tutto ciò che puoi fare:

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

Dovrebbe mostrare tutti i comandi "yum install" eseguiti sul sistema dopo l'installazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.