Saya sedang membuat skrip untuk mencari tahu kapan daftar server terakhir diperbarui sepenuhnya yum update
.
Namun saya dapat menemukannya dengan history |grep "yum update"|head -n 1
, masalahnya adalah bahwa pengguna dapat melakukannya tetapi tidak mengetikkan "y" pada prompt.
Cara lain yang saya coba adalah dengan 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
Tetapi saya tidak dapat menemukan cara untuk menentukan tanggal yum update
diluncurkan dan berhasil. Karena jika saya memeriksa, misalnya, ID transaksi 108 yang ditandai sebagai "Pembaruan" diluncurkan pada tanggal 18, saya tidak menemukan perintah yum update
untuk tanggal tertentu:
history |grep 2015 |grep "yum update"
5182 20150313-054444 > yum update
Jalur lain yang saya coba adalah dengan /var/log/yum.log
tetapi yum.log
akan menunjukkan instalasi dan pembaruan juga. Jika sebuah paket diperbarui saat menginstal paket e: g: yum install varnish
dan itu membutuhkan pembaruan dari paket-paket tertentu misalnya: (varnish-libs-2.1.5-5.el6.i686, 3.0.7-1.el6.i686 dll) ini akan ditampilkan sebagai diperbarui di yum.log
Apakah ada cara untuk menemukan tanggal yum update
diluncurkan dan itu berhasil?
Jawaban:
Anda hampir menjawab pertanyaan Anda. Berikut adalah cara Anda dapat menemukan 5 paket terbaru:
grep Updated: /var/log/yum.log | tail -5
Contoh keluaran:
sumber
-10
tidak diperlukan karena ekornya menunjukkan sepuluh baris per default: jadi lebih baik:grep Updated: /var/log/yum.log | tail
yum update
diluncurkan dan dijalankan dengan sukses, bukan 5 paket terakhir yang diperbarui./var/log/yum.log-20180101
dllPertama, Anda perlu mendefinisikan apa yang dimaksud dengan "peningkatan". Misalnya. upgrade dengan hanya kernel yang lebih baru akan menjadi instalasi (dan kemungkinan menghapus yang lebih lama). Jika seseorang melakukan "upgrade foo" apakah itu masuk akal? Bagaimana dengan "distro-sync" yang akhirnya hanya melakukan upgrade (atau jika tidak)? Apakah itu dihitung jika transaksi gagal?
Kemudian berhenti menggerutu keluaran, itu hanya akan menyebabkan rasa sakit dan penderitaan.
Menggunakan API sangat sederhana, misalnya (waktu terakhir transaksi dimulai untuk memutakhirkan paket apa pun):
sumber
Perintah berikut mencantumkan paket RPM yang baru saja diinstal atau diperbarui:
Ini mungkin termasuk paket yang diinstal di luar YUM juga. Perintah ini juga dapat dijalankan tanpa root privilege.
sumber