Yum güncellemesinin son çalıştırılışını bul


13

Bir sunucu listesinin en son ne zaman güncellendiğini öğrenmek için bir komut dosyası oluşturuyorum yum update.

Ben ancak bulabilirim history |grep "yum update"|head -n 1, sorun bir kullanıcı launced ama istemine "y" yazmadım olmasıdır.

Denediğim başka bir yol da 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

Ancak yum updatebaşlatıldığı ve başarılı olduğu tarihi belirlemenin bir yolunu bulamıyorum . Örneğin, 18'de başlatılan "Güncelle" olarak işaretlenen işlem kimliğini (108) kontrol edersem, yum updatesöz konusu tarih için komutu bulamıyorum :

history |grep 2015 |grep "yum update"

 5182  20150313-054444 > yum update

Denediğim başka bir yol vardı, /var/log/yum.logancak yum.logyüklemeleri ve güncellemeleri de gösterecek. Bir paket e: g: paketini yüklerken yum install varnishgüncellenirse ve belirli paketlerin güncellenmesini gerektiriyorsa, örneğin: (varnish-libs-2.1.5-5.el6.i686, 3.0.7-1.el6.i686 vb.) yum.log dosyasında güncellenmiş olarak gösterilir

A'nın yum updatebaşlatıldığı ve başarılı olduğu tarihi bulmanın bir yolu var mı ?


1
Kopyası serverfault.com/questions/389650/... "yum update son çalıştırıldığı zaman kontrol etme"
steve

Yanıtlar:


15

Sorunuzu neredeyse cevapladınız. En son 5 güncellenmiş paketi bulmanın bir yolu:

grep Updated: /var/log/yum.log | tail -5

Çıktı örneği:

Aug 05 13:28:34 Updated: virt-manager-common-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:34 Updated: glusterfs-libs-3.5.5-2.fc21.i686
Aug 05 13:28:35 Updated: virt-manager-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:36 Updated: virt-install-1.1.0-9.git310f6527.fc21.noarch
Aug 05 13:28:38 Updated: glusterfs-3.5.5-2.fc21.i686

1
kedi yanlış kullanılır ( Kedi Yararsız Kullanım Ödülüne bir göz atın ) ve -10kuyruk varsayılan olarak on satır gösterdiği için gerekli değildir: bu yüzden daha iyi: grep Updated: /var/log/yum.log | tail
sebelk

1
Kesinlikle haklısın! Ancak bu, her şeyi birleştirmek için eski bir alışkanlıktır) 10 (5 olarak değiştirildi) gereklidir, çünkü grep için istediğiniz sayıda kayıt seçebilirsiniz. Bu yüzden grep ile sayı bıraktım.
obohovyk

Bu yalnızca son 5 güncellenmiş paketi gösterir. Aşağıdaki Senario'yu düşünün: Bir paket kurulurken güncellenir e: g: yum install vernish ve belirli paketlerin güncellenmesini gerektiriyorsa, örneğin: (varnish-libs-2.1.5-5.el6.i686,3.0.7-1 .el6.i686 vb.) bu yum.log dosyasında güncellenmiş olarak gösterilir. Oysa tam olarak ne zaman yum updatebaşlatıldığını ve başarılı bir şekilde çalıştırıldığını istiyorum , son 5 paket değil.
Kheshav Sewnundun

Denetd kullanmak ve yum yürütmesi için kurallar oluşturmak isteyebilirsiniz.
sebelk

1
Günlükler döndürüldüğünden beri yum kullanılmamışsa yum.log dosyasının silinmiş olması mümkündür. Bu durumda, örneğin /var/log/yum.log-20180101vb.
Aracılığıyla

6

Öncelikle "yükseltme" nin ne anlama geldiğini tanımlamanız gerekir. Örneğin. sadece daha yeni bir çekirdek ile yükseltme bir kurulum (ve muhtemelen eski bir silme) olacaktır. Birisi "yükseltme foo" varsa, bu sayılır mı? Sadece yükseltmeler yapan (ya da yapmıyorsa) "dağıtım-senkronizasyonu" ne olacak? İşlem başarısız olursa sayılır mı?

Sonra açgözlü çıkışı durdurmak, sadece ağrı ve acıya yol açacaktır.

API'yı kullanmak oldukça basittir, örneğin (herhangi bir paketi yükseltmek için en son bir işlem başlatıldığında):

import yum
import time

yb = yum.YumBase()
for old in yb.history.old():
    if "Update" in (hpkg.state for hpkg in old.trans_data):
        print "Latest Update:", time.ctime(old.beg_timestamp)
        break

1

Aşağıdaki komut en son yüklenen veya güncellenen RPM paketlerini listeler:

rpm -qa --last  | head

YUM dışında kurulu paketleri de içerebilir. Bu komut kök ayrıcalığı olmadan da çalışabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.