Время от времени, как пользователь Linux, вы можете провести аудит состояния различных установленных пакетов на вашем компьютере Linux.
Основная цель – отслеживать установленные пакеты и те, которые были удалены в определенный момент времени.
В этой статье мы рассмотрим состояние транзакции установленных пакетов в Fedora 27 с помощью команды истории DNF.
Это даст вам представление об истории пакетов, которые были вручную установлены и удалены в хронологическом порядке.
- Получение списка установленных вручную пакетов с использованием dnf
- Пример вывода
- Получение списка всех транзакций
- Пример вывода
- Перечисление изменений конкретной транзакции
- Перечисление изменений конкретной транзакции
- Пример вывода
- Получение информации о пакетах определенной транзакции
- Образец вывода
- Как отменить полную транзакцию
- Образец вывода
- Откроем удаление веб-сервера httpd
- Пример вывода
Получение списка установленных вручную пакетов с использованием dnf
Чтобы получить список вручную установленных пакетов пользователем, мы запускаем команду ниже:
# dnf history userinstalled
Пример вывода
Packages installed by user httpd gnome-tweak-tool nodejs
Получение списка всех транзакций
Чтобы отобразить список всех предыдущих транзакций, выполненных в системе, выполните приведенную ниже команду:
# dnf history list all
Пример вывода
ID | Command line | Date a | Action | Altere ------------------------------------------------------------------------------- 3 | install gnome-tweak-tool | 2018-02-11 22:50 | Install | 2 2 | remove httpd | 2018-02-11 22:42 | Erase | 4 1 | install nodejs | 2018-02-11 22:33 | Install | 4
Перечисление изменений конкретной транзакции
Чтобы перечислить изменения конкретной транзакции, добавьте идентификатор транзакции в конце команды.
Например, если мы хотим проверить изменения в ID 1 в приведенном выше примере, который является установкой nodejs, мы запускаем команду, как показано
# dnf history list 1
Перечисление изменений конкретной транзакции
Чтобы перечислить изменения конкретной транзакции, добавьте идентификатор транзакции в конце команды.
Например, если мы хотим проверить изменения в ID 1 в приведенном выше примере, который является установкой nodejs, мы запускаем команду, как показано
# dnf history list 1
Пример вывода
ID | Command line | Date a | Action | Altere ------------------------------------------------------------------------------- 1 | install nodejs | 2018-02-11 22:33 | Install | 4
Получение информации о пакетах определенной транзакции
Чтобы отобразить информацию о пакетах определенной транзакции, мы запускаем команду, как показано
# dnf history info 1
Образец вывода
Transaction ID : 1 Begin time : Sun Feb 11 22:33:32 2018 Begin rpmdb : 1403:93d810e4d47f231ae56e62f96163e3d6b01ba7aa End time : 22:33:52 2018 (20 seconds) End rpmdb : 1407:77a7d6293b725b707e548ed7015a05eaf503d49c User : jamie Return-Code : Success Command Line : install nodejs Transaction performed with: Installed dnf-0.6.1-1.fc21.noarch (unknown) Installed rpm-4.12.0.1-3.fc21.x86_64 (unknown) Packages Altered: Install http-parser-2.0-7.20121128gitcd01361.fc21.x86_64 @fedora Install libuv-1:0.10.34-1.fc21.x86_64 @updates Install nodejs-0.10.36-3.fc21.x86_64 @updates Install v8-1:3.14.5.10-18.fc21.x86_64 @updates
Как отменить полную транзакцию
Если вы хотите отменить транзакцию, скажем, удаление или установку пакета, используйте вариант отмены, за которым следует идентификатор транзакции в команде в качестве показанного.
Сначала мы перечислим историю транзакций.
# dnf history list all
Образец вывода
ID | Command line | Date a | Action | Altere ------------------------------------------------------------------------------- 3 | install gnome-tweak-tool | 2018-02-11 22:50 | Install | 2 2 | remove httpd | 2018-02-11 22:42 | Erase | 4 1 | install nodejs | 2018-02-11 22:33 | Install | 4
Откроем удаление веб-сервера httpd
# dnf history undo 2
Вышеуказанное переустановит httpd
Пример вывода
# dnf history undo 2 Undoing transaction 2, from Sun Feb 11 22:42:55 2018 Erase gnome-user-share-3.14.0-2.fc21.x86_64 (unknown) Erase httpd-2.4.16-1.fc21.x86_64 (unknown) Erase mod_dnssd-0.6-12.fc21.x86_64 (unknown) Erase php-5.6.15-1.fc21.x86_64 (unknown) ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gnome-user-share x86_64 3.14.0-2.fc21 fedora 135 k httpd x86_64 2.4.16-1.fc21 updates 1.2 M mod_dnssd x86_64 0.6-12.fc21 fedora 27 k php x86_64 5.6.15-1.fc21 updates 2.6 M Transaction Summary ================================================================================ Install 4 Packages Total download size: 4.0 M Installed size: 13 M Is this ok [y/N]: