Como listar todo o pacote instalado no fedora com a hora da instalação

13

Eu posso listá-los usando

sudo yum list installed

mas como exibi-los quando cada um deles foi instalado?

    
por user1655072 01.02.2013 / 17:57

3 respostas

16

Como root (ou usando sudo ), use o yum option 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   

Você pode visualizar os pacotes e as alterações de uma transação yum específica:

[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

Você pode ver os pacotes específicos do histórico com:

[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 ou yum help history listará mais opções possíveis com a opção de histórico.

    
por 01.02.2013 / 18:28
9

Eu não acho que yum possa fazer isso, mas rpm pode:

rpm --queryformat="%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}: %{INSTALLTIME:date}\n" -qa

produzirá uma lista de entradas como:

firefox-18.0-1.fc18.x86_64: Mon 14 Jan 2013 13:47:42 GMT
    
por 01.02.2013 / 18:11
5

Eu perguntei e respondi uma pergunta similar no site do Fedora Q & A .

Acontece que o Yum armazena seu histórico em um banco de dados SQLite em /var/lib/yum/history . Consegui criar essa junção SQL que mostra todos os pacotes instalados manualmente junto com a data e hora de instalação.

No meu caso, eu estava interessado apenas nos pacotes que eu tinha instalado manualmente, então eu poderia criar um novo sistema com ferramentas similares àquelas instaladas no meu sistema original.

O comando a seguir imprime todos os pacotes manualmente instalados, o ID da transação, a data e o comando yum do histórico. Observe que o nome do banco de dados será diferente em seu 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"

Exemplo de saída (colunas: id de transação, 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
    
por 14.04.2015 / 00:38