Posso elencarli usando
Elenco sudo yum installato
ma come farli visualizzare quando sono stati installati ciascuno?
Posso elencarli usando
Elenco sudo yum installato
ma come farli visualizzare quando sono stati installati ciascuno?
Risposte:
Come root (o usando sudo
), usa l' yum
opzione history
.
[root@fedora ~]# yum history list
Loaded plugins: langpacks, presto, refresh-packagekit
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
250 | -y update google-chrome- | 2013-01-30 18:02 | Update | 1 EE
249 | -y update | 2013-01-25 07:11 | Update | 22
248 | -y update | 2013-01-23 17:56 | Update | 12
247 | -y update | 2013-01-23 08:41 | Update | 9 EE
246 | -y update | 2013-01-20 21:49 | Update | 4
245 | -x kernel* update | 2013-01-07 08:11 | Update | 3
È possibile visualizzare i pacchetti e le modifiche per una yum
transazione specifica :
[root@fedora ~]# yum history info 250
Loaded plugins: langpacks, presto, refresh-packagekit
Transaction ID : 250
Begin time : Wed Jan 30 18:02:31 2013
Begin rpmdb : 1624:34a60f2e27ebe4d959f1473055da42645705b96f
End time : 18:02:59 2013 (28 seconds)
End rpmdb : 1624:f4ef7af3a97b1f922f41803ba6b9578a7abe3e71
User : User <user>
Return-Code : Success
Command Line : -y update google-chrome-stable.x86_64
Transaction performed with:
Installed rpm-4.9.1.3-1.fc16.x86_64 @updates
Installed yum-3.4.3-25.fc16.noarch @updates
Installed yum-metadata-parser-1.1.4-5.fc16.x86_64 @koji-override-0/$releasever
Installed yum-presto-0.7.1-1.fc16.noarch @koji-override-0/$releasever
Packages Altered:
Updated google-chrome-stable-24.0.1312.56-177594.x86_64 @google-chrome
Update 24.0.1312.57-178923.x86_64 @google-chrome
Scriptlet output:
1 Redirecting to /bin/systemctl start atd.service
È possibile visualizzare i pacchetti specifici della cronologia con:
[root@fedora ~]# yum history packages-list yum
Loaded plugins: langpacks, presto, refresh-packagekit
ID | Action(s) | Package
-------------------------------------------------------------------------------
148 | Updated | yum-3.4.3-24.fc16.noarch EE
148 | Update | 3.4.3-25.fc16.noarch EE
94 | Updated | yum-3.4.3-23.fc16.noarch
94 | Update | 3.4.3-24.fc16.noarch
52 | Updated | yum-3.4.3-7.fc16.noarch
52 | Update | 3.4.3-23.fc16.noarch
2 | Updated | yum-3.4.3-5.fc16.noarch EE
2 | Update | 3.4.3-7.fc16.noarch EE
1 | Install | yum-3.4.3-5.fc16.noarch
man 8 yum
o yum help history
elencherà più opzioni possibili con l'opzione cronologia.
Non penso che yum
possa farlo, ma rpm
può:
rpm --queryformat="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}: %{INSTALLTIME:date}\n" -qa
produrrà un elenco di voci come:
firefox-18.0-1.fc18.x86_64: Mon 14 Jan 2013 13:47:42 GMT
rpm -qa --last
Ho chiesto e risposto a una domanda simile sul sito di domande e risposte di Fedora .
Si scopre che Yum memorizza la sua storia in un database SQLite in /var/lib/yum/history
. Sono stato in grado di inventare questo join SQL che mostra tutti i pacchetti installati manualmente insieme alla loro data e ora di installazione.
Nel mio caso, ero interessato solo ai pacchetti che avevo installato manualmente, quindi ho potuto creare un nuovo sistema con uno strumento simile a quelli installati sul mio sistema originale.
Il comando seguente stampa tutti i pacchetti installati manualmente , l'ID transazione, la data e il yum
comando dalla cronologia. Si noti che il nome del database sarà diverso sul proprio sistema.
$ sudo sqlite3 /var/lib/yum/history/history-2014-12-03.sqlite "select c.tid, datetime(t.timestamp, 'unixepoch'), c.cmdline from trans_cmdline as c join trans_beg as t where c.tid = t.tid"
Esempio di output (colonne: ID transazione, data, comando):
4|2015-02-21 20:28:03|install mutt wget emacs coreutils
5|2015-02-21 20:28:37|install firefox
6|2015-02-21 20:35:02|install pgp-tools
LANG=en_US.UTF-8 sudo yum history stats | grep -Po '(?<=File {8}: /)(.+)' --color=never