आप कैसे ट्रैक करते हैं कि फेडोरा (लिनक्स) पर कौन से पैकेज स्थापित किए गए थे?


11

(यह सवाल 6338 से बहुत मिलता-जुलता है । यह सुझाव दिया गया था कि इसे इससे अलग कर दिया जाए क्योंकि फेडोरा और उबंटू / डेबियन अलग-अलग उत्तरों को अलग करने के लिए पर्याप्त हैं।)

जैसा कि मैं किसी भी फेडोरा सेटअप का उपयोग करता हूं, मैं धीरे-धीरे बेसलाइन इंस्टॉलेशन के ऊपर और ऊपर कई पैकेज स्थापित करता हूं। यदि मैं पुन: स्थापित करता हूं, या यदि मुझे एक नई मशीन स्थापित करने की आवश्यकता है, तो मैं आमतौर पर उन विशिष्ट पैकेजों को पुनर्स्थापित करना चाहता हूं, और मैं कम से कम परेशानी के साथ काम करने के लिए इसे जल्दी करना चाहता हूं। जहां तक ​​मैंने सभी पैकेज प्रबंधकों को देखा है ( yumऔर pirut) मुझे बता सकते हैं कि कौन से पैकेज स्थापित हैं, और वे सभी लॉग हैं (प्रत्येक उपकरण के लिए अलग-अलग हैं, जो एक परेशानी है)। लेकिन उनमें से कोई भी मुझे नहीं बता सकता कि मैंने कौन से पैकेज लिए हैंउनकी निर्भरता या सिस्टम अपडेट के विपरीत स्थापित किया गया। यहां तक ​​कि लॉग भी मुश्किल है कि मैं पूरी तरह से निश्चित नहीं हूं कि मुझे उनसे क्या निकाला जाना चाहिए, या उन्हें कैसे एकीकृत किया जाए (विभिन्न उपयुक्त परिवार के उपकरण के मामले में)। इसका मतलब यह है कि हर बार जब मैं फिर से स्थापित करता हूं, या यहां तक ​​कि बस बैकअप देता हूं, तो मुझे यकीन नहीं है कि उस सूची को फिर से कैसे बनाया जाए।

मैं जरूरी नहीं कि किसी भी उपकरण को मेरे लिए ऐसा करने की उम्मीद कर रहा हूं, लेकिन अगर वे नहीं करते हैं तो मैं वर्कअराउंड की तलाश कर रहा हूं। यहां तक ​​कि पैटर्न के लिए grep, अंगूठे के अच्छे नियम, या वास्तव में लॉग किया जा रहा है का एक स्पष्ट विचार, उपयोगी होगा। यहां "सर्वश्रेष्ठ उत्तर" नहीं हो सकता है, लेकिन अच्छे लोग बहुत सहायक होंगे।

जवाबों:


3

yum list installedऔर yum.logदिखाएगा कि क्या स्थापित किया गया है, लेकिन मैं सिस्टम पर कुछ भी नहीं सोचता कि आपके द्वारा चुने गए पैकेजों के बीच अंतर होता है और जो निर्भरता के रूप में स्थापित किए गए थे


2

मान लें कि आपके पास अभी भी /root/install.logमूल स्थापना से फ़ाइल है, तो आप इस तरह से rpm.orig और rpm.curr फ़ाइलें बना सकते हैं :

cd /root
rpm -qa --qf '%{NAME}\n' | sort -u > rpm.curr
awk '($1=="Installing"){print $2}' install.log | sort -u > rpm.orig

फिर, जोड़े गए पैकेजों को देखने के लिए:

comm -13 rpm.orig rpm.curr

और लोगों को हटा दिया गया:

comm -23 rpm.orig rpm.curr

ध्यान दें कि यदि आपके पास x86_64 इंस्टॉलेशन है, तो यह 32- और 64-बिट पैकेज के बीच का अंतर नहीं बताएगा।


2

प्रयोग करके देखें sudo yum history packages-list \*

यह दिखाएगा कि क्या स्पष्ट रूप से स्थापित किया गया था और एक निर्भरता के रूप में क्या स्थापित किया गया था:

ID | Action(s)      | Package                                              
-------------------------------------------------------------------------------
47 | Dep-Install    | cairomm-1.8.0-2.1.el6.x86_64                         
47 | Dep-Install    | glibmm24-2.22.1-1.el6.x86_64                         
47 | Install        | gnome-system-monitor-2.28.0-11.el6.x86_64

0

यह थोड़ा आसान है।

बस नीचे दिए गए कमांड को अपने पसंदीदा शेल में चलाएं। आरपीएम के लिए मेनपेज दर्दनाक रूप से निराशाजनक होगा यदि आपको इस पर गहन गोता लगाने की आवश्यकता है।

rpm -qa


3
यह सभी पैकेजों को सूचीबद्ध करता है हाँ, लेकिन यह उन लोगों के बीच अंतर नहीं करता है जिन्हें मैंने जोड़ा है और जो पहले से ही सिस्टम पर थे। मैं विशेष रूप से पैकेजों को ट्रैक करना चाहता हूं जिन्हें मैंने स्पष्ट रूप से स्थापित किया है।
क्वार्क

आपके द्वारा सभी पैकेज स्पष्ट रूप से स्थापित किए गए थे। सार्थक मदद पाने के लिए आपको जो करना है, उस पर आपको बहुत अधिक विशिष्ट होने की आवश्यकता होगी।
वॉनब्रांड

0

फ़ाइल /root/install.log आपको बताएगी कि शुरुआती इंस्टॉल में कौन से पैकेज शामिल किए गए थे। यहां एक त्वरित स्क्रिप्ट दी गई है, जो इस फ़ाइल की सामग्री की आउटपुट के साथ तुलना करेगी rpm -qa:

rpm -qa | sort > /root/postinstall.list
for P in `sed -n 's/Installing \(.*\)/\1/p' </root/install.log`
do
  sed -ie "/$P/d" /root/postinstall.list
done

फ़ाइल /root/postinstall.list में वही होता है जो आप चाहते हैं। ध्यान दें कि पैकेज जो मूल रूप से इंस्टॉल किए गए पैकेज का उन्नत संस्करण है, फ़ाइल में दिखाई देगा। यदि यह वह नहीं है जो आप चाहते हैं, तो आपको सेड स्टेटमेंट में अधिक परिष्कृत पैटर्न की आवश्यकता होगी।


0

rpm -qa --last

आदमी पृष्ठों से:

--last Orders the package listing by install time such that the latest packages are at the top.

नमूना उत्पादन:

mdadm-3.2.2-9.el6                             Mon 12 Dec 2011 10:06:17 AM EST
libdrm-2.4.25-2.el6                           Mon 12 Dec 2011 09:54:51 AM EST
tcp_wrappers-libs-7.6-57.el6                  Mon 12 Dec 2011 09:54:50 AM EST

0

यह मानते हुए कि आपने जो कुछ भी कर सकते हैं उसे स्थापित करने के लिए हमेशा "यम" का उपयोग किया:

sudo yum history info \* | grep "^Command Line   : install"

यह आपको स्थापना के बाद सिस्टम पर किए गए सभी "यम इंस्टॉल" कमांड दिखाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.