শেষ বার ইয়ম আপডেটটি চালানো হয়েছিল তা সন্ধান করুন


13

সার্ভারের তালিকাটি সর্বশেষে কখন সম্পূর্ণরূপে আপডেট হয়েছিল তা সন্ধানের জন্য একটি স্ক্রিপ্ট তৈরি করছি yum update

তবে আমি এটি খুঁজে পেতে পারি history |grep "yum update"|head -n 1, সমস্যাটি হ'ল কোনও ব্যবহারকারী এটি চালু করতে পারত তবে প্রম্পটে "y" টাইপ করেনি।

আরেকটি উপায় আমি চেষ্টা করেছিলাম 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

তবে যে তারিখটি yum updateচালু হয়েছিল এবং সফল হয়েছিল তা নির্ধারণের কোনও উপায় আমি খুঁজে পাচ্ছি না । যেহেতু আমি যদি চেক করি, উদাহরণস্বরূপ, লেনদেনের ID 108 যা 18 তারিখে চালু হয়েছে "আপডেট" হিসাবে চিহ্নিত হয়েছে, আমি yum updateসেই নির্দিষ্ট তারিখের জন্য আদেশটি পাই না :

history |grep 2015 |grep "yum update"

 5182  20150313-054444 > yum update

আমি চেষ্টা করেছি এমন অন্য একটি পথটি ছিল /var/log/yum.logতবে yum.logএটি ইনস্টলস এবং আপডেটগুলিও প্রদর্শন করবে। প্যাকেজ ইনস্টল করার সময় যদি কোনও প্যাকেজ আপডেট হয় e: g: yum install varnishএবং এটির জন্য নির্দিষ্ট প্যাকেজগুলির আপডেট প্রয়োজন যেমন: (বার্নিশ- libs-2.1.5-5.el6.i686, 3.0.7-1.el6.i686 ইত্যাদি) এটি yum.log এ আপডেট হিসাবে প্রদর্শিত হবে

যে তারিখটি yum updateচালু হয়েছিল এবং এটি সফল হয়েছিল তার সন্ধানের জন্য কি কোনও উপায় আছে ?


1
সার্ভারফলট.কোশনস / 389650 / … এর সদৃশ "ইয়াম আপডেট শেষ বার কখন চালানো হয়েছিল"
স্টিভ

উত্তর:


15

আপনি প্রায় আপনার প্রশ্নের উত্তর দিয়েছেন। এখানে সর্বশেষ 5 টি আপডেট হওয়া প্যাকেজ সন্ধান করার একটি উপায় রয়েছে:

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

আউটপুট উদাহরণ:

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
বিড়াল অপব্যবহার করা হয় (কটাক্ষপাত করা বিড়াল পুরস্কার বেহুদা ব্যবহারের ), এবং -10লেজ শো হিসাবে প্রয়োজন নেই ডিফল্ট অনুসারে দশ লাইন: তাই এটা ভাল আছে: grep Updated: /var/log/yum.log | tail
sebelk

1
তুমি একদম কাতর! তবে এটি সমস্ত কিছু বিড়াল করার পুরানো অভ্যাস) 10 (5 এ পরিবর্তিত) প্রয়োজন কারণ আপনি গ্রেপ-তে কয়েকটি সংখ্যক রেকর্ড বেছে নিতে পারেন। এজন্যই আমি গ্রেপ দিয়ে নম্বর ফেলেছি।
obohovyk

এটি কেবল সর্বশেষ 5 টি আপডেট হওয়া প্যাকেজ দেখায়। নীচের সেনেরিও বিবেচনা করুন: প্যাকেজ ইনস্টল করার সময় যদি কোনও প্যাকেজ আপডেট করা হয় e: g: yum ইনস্টল বার্নিশ এবং এর জন্য নির্দিষ্ট প্যাকেজগুলির আপডেট প্রয়োজন যেমন: (বার্নিশ- libs-2.1.5-5.el6.i686,3.0.7-1 .el6.i686 ইত্যাদি) এটি yum.log এ আপডেট হিসাবে প্রদর্শিত হবে। যদিও আমি ঠিক চাই কখন yum updateচালু হয়েছিল এবং সফলভাবে চালিত হয়েছিল, শেষ 5 টি আপডেট হওয়া প্যাকেজ নয়।
খেশব শেওয়ানন্দুন

আপনি নিরীক্ষণ ব্যবহার করতে পারেন এবং yum মৃত্যুর জন্য নিয়ম তৈরি করতে পারেন।
সেবেলক

1
এটি সম্ভব যে লগগুলি ঘোরানোর পরে যদি yum ব্যবহার না করা হয় তবে yum.log সাফ হয়ে গেছে। যদি তা হয় তবে আপনি উদাহরণস্বরূপ /var/log/yum.log-20180101
গ্রেপ

6

প্রথমে আপনাকে "আপগ্রেড" এর অর্থ কী তা নির্ধারণ করতে হবে। যেমন। কেবলমাত্র নতুন কার্নেলের সাথে আপগ্রেড করা হবে একটি ইনস্টল (এবং সম্ভবত এটি কোনও পুরানো মুছা)। যদি কেউ "আপগ্রেড ফু" করেন তবে তা গণনা করে? "ডিস্ট্রো-সিঙ্ক" সম্পর্কে কী হবে যা কেবলমাত্র আপগ্রেডগুলি শেষ করে (বা যদি তা না করে)? লেনদেন ব্যর্থ হলে এটি গণনা করে?

তারপরে গ্রেপিং আউটপুট বন্ধ করুন, এটি কেবল ব্যথা এবং যন্ত্রণার দিকে নিয়ে যাবে।

এপিআই ব্যবহার করা খুব সহজ, যেমন (সর্বশেষ সময় কোনও প্যাকেজ আপগ্রেড করার জন্য কোনও লেনদেন শুরু হয়েছিল):

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

নিম্নলিখিত কমান্ডটি সম্প্রতি ইনস্টল করা বা আপডেট হওয়া RPM প্যাকেজগুলি তালিকাভুক্ত করে:

rpm -qa --last  | head

এটিতে YUM এর বাইরেও ইনস্টল হওয়া প্যাকেজ অন্তর্ভুক্ত থাকতে পারে। এই আদেশটি মূল অধিকার ছাড়াই চলতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.