Buduję skrypt, aby dowiedzieć się, kiedy lista serwerów została ostatnio w pełni zaktualizowana yum update
.
Mogę go history |grep "yum update"|head -n 1
jednak znaleźć, problem polega na tym, że użytkownik mógł go uruchomić, ale nie wpisał „y” w wierszu polecenia.
Innym sposobem byłam yum history
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
109 | <xyz user> | 2015-08-20 07:18 | Erase | 1 E<
108 | root <root> | 2015-08-18 08:56 | Update | 3 >
107 | root <root> | 2015-08-14 07:39 | Update | 1
106 | root <root> | 2015-08-14 07:38 | Update | 1
105 | root <root> | 2015-08-14 07:38 | Update | 3
104 | root <root> | 2015-08-13 07:31 | Update | 1
103 | root <root> | 2015-08-11 05:46 | Update | 1
102 | root <root> | 2015-08-11 05:46 | Update | 2
101 | root <root> | 2015-08-11 05:45 | Update | 3
100 | root <root> | 2015-08-11 05:45 | Update | 3
99 | root <root> | 2015-08-10 20:41 | Update | 1
98 | root <root> | 2015-08-05 02:35 | Update | 1
97 | root <root> | 2015-05-14 10:52 | Update | 1
96 | root <root> | 2015-05-01 02:59 | Obsoleting | 2
95 | root <root> | 2015-04-09 16:06 | Update | 1 <
94 | <xyz.user> | 2015-03-28 08:49 | Update | 1 ><
93 | <xyz.usert> | 2015-03-28 08:14 | Erase | 3 ><
92 | <xyz.user> | 2015-03-13 07:46 | Install | 6 ><
91 | <xyz.user> | 2015-03-13 05:45 | I, U | 24 >
90 | root <root> | 2015-03-04 01:24 | Update | 3
Ale nie mogę znaleźć sposobu na określenie daty yum update
uruchomienia i powodzenia. Ponieważ jeśli sprawdzę na przykład identyfikator transakcji 108, który jest oznaczony jako „Aktualizacja” uruchomiony 18-go, nie znajdę polecenia yum update
dla tej konkretnej daty:
history |grep 2015 |grep "yum update"
5182 20150313-054444 > yum update
Inną ścieżką, którą próbowałem, było, /var/log/yum.log
ale yum.log
pokaże także instalacje i aktualizacje. Jeśli pakiet jest aktualizowany podczas instalacji pakietu e: g: yum install varnish
i wymaga aktualizacji niektórych pakietów, np .: (varnish-libs-2.1.5-5.el6.i686, 3.0.7-1.el6.i686 itp.), będzie wyświetlany jako zaktualizowany w yum.log
Czy istnieje sposób, aby ustalić datę yum update
uruchomienia i powodzenia?
Odpowiedzi:
Prawie odpowiedziałeś na swoje pytanie. Oto sposób na znalezienie 5 najnowszych zaktualizowanych pakietów:
grep Updated: /var/log/yum.log | tail -5
Przykład wyjściowy:
źródło
-10
nie jest potrzebny, ponieważ ogon domyślnie wyświetla dziesięć linii: więc lepiej:grep Updated: /var/log/yum.log | tail
yum update
został uruchomiony i został pomyślnie uruchomiony, a nie 5 ostatnich zaktualizowanych pakietów./var/log/yum.log-20180101
EtcNajpierw musisz zdefiniować, co oznacza „aktualizacja”. Na przykład. aktualizacja tylko z nowszym jądrem będzie instalacją (i prawdopodobnie usunięciem starszego). Czy to się liczy, jeśli ktoś zrobi „upgrade foo”? A co z „synchronizacją synchronizacji”, która kończy się właśnie aktualizacjami (a jeśli nie)? Czy to się liczy, jeśli transakcja się nie powiedzie?
Następnie przestańcie wytwarzać energię, doprowadzi to tylko do bólu i cierpienia.
Korzystanie z interfejsu API jest dość proste, np. (Ostatni raz rozpoczęto transakcję w celu uaktualnienia dowolnego pakietu):
źródło
Następujące polecenie wyświetla listę ostatnio zainstalowanych lub zaktualizowanych pakietów RPM:
Może zawierać również pakiety zainstalowane poza YUM. To polecenie można również uruchomić bez uprawnień administratora.
źródło