Cách liệt kê tất cả các gói đã cài đặt trong fedora với thời gian cài đặt


13

Tôi có thể liệt kê chúng sử dụng

danh sách sudo yum được cài đặt

Nhưng làm thế nào để làm cho chúng hiển thị khi từng được cài đặt?

Câu trả lời:


17

Là root (hoặc sử dụng sudo), sử dụng yumtùy chọn 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   

Bạn có thể xem các gói và thay đổi cho một yumgiao dịch cụ thể :

[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

Bạn có thể xem các gói lịch sử cụ thể với:

[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 yumhoặc yum help historysẽ liệt kê thêm các tùy chọn có thể có với tùy chọn lịch sử.


1
danh sách yum gần đây cũng hữu ích
Matthew Hannigan

10

Tôi không nghĩ rằng yumcó thể làm điều đó, nhưng rpmcó thể:

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

sẽ tạo một danh sách các mục như:

firefox-18.0-1.fc18.x86_64: Mon 14 Jan 2013 13:47:42 GMT

2
với các phiên bản hiện tại của vòng / phút, bạn cũng có thể có được một danh sách như vậy vớirpm -qa --last
Andre Holzner

5

Tôi đã hỏi và trả lời một câu hỏi tương tự trên trang web Hỏi & Đáp của Fedora .

Hóa ra Yum lưu trữ lịch sử của nó trong cơ sở dữ liệu SQLite trong /var/lib/yum/history . Tôi đã có thể điều chỉnh tham gia SQL này hiển thị tất cả các gói được cài đặt thủ công cùng với ngày và giờ cài đặt của chúng.

Trong trường hợp của tôi, tôi chỉ quan tâm đến các gói tôi đã cài đặt thủ công, vì vậy tôi có thể tạo một hệ thống mới với công cụ tương tự như các gói được cài đặt trên hệ thống ban đầu của tôi.

Lệnh sau in ra mọi gói được cài đặt thủ công , id giao dịch, ngày và yumlệnh từ lịch sử. Lưu ý rằng tên cơ sở dữ liệu sẽ khác nhau trên hệ thống của bạn.

$ 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"

Ví dụ đầu ra (cột: id giao dịch, ngày, lệnh):

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

Nếu bạn muốn lấy tệp cơ sở dữ liệu SQLite chính xác nơi yum lưu trữ lịch sử của nó, hãy chạy lệnh sau:LANG=en_US.UTF-8 sudo yum history stats | grep -Po '(?<=File {8}: /)(.+)' --color=never
Rockallite
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.