Apt-cache: संस्करण संख्या के साथ सभी स्थापित पैकेजों को कैसे सूचीबद्ध करें?


51

apt-cache dump --installed काम नहीं करता है, यह संकुल की स्थापना रद्द करता है।

मैं इंस्टॉल किए गए संस्करण संख्या के साथ, प्रत्येक पंक्ति को एक पंक्ति द्वारा स्थापित पैकेजों को सूचीबद्ध करना चाहता हूं।


3
बग # 775,771 इंस्टॉल किए गए पैकेज के लिए उपयुक्त-कैश खोज परिणामों को प्रतिबंधित
बार्टोलो-otrit

जवाबों:


53

प्रयत्न, कोशिश dpkg -l

यह आपको संकुल, संस्करण और एक संक्षिप्त विवरण सूचीबद्ध करता है।


1
मुझे apt-show-versionsयह भी पसंद है क्योंकि यह भी पता चलता है कि कौन सा है uptotdate
मलत

37

सबसे सरल तरीका उपयोग कर रहा है dpkg, लेकिन यह कुछ बाहरी सामान दिखा सकता है और यह लंबे पैकेज के नाम और संस्करण संख्या को काट देता है:

dpkg -l

केवल सही ढंग से स्थापित पैकेजों को सूचीबद्ध करने के लिए और नामों को अलग नहीं करने के लिए:

dpkg -l | grep '^ii'

आउटपुट स्वरूप पर अधिक नियंत्रण पाने के लिए, आप इसका उपयोग कर सकते हैं dpkg-query:

dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'

13

अन्य आदेश हो सकते हैं:

apt-show-versions

यह आपको पैकेज स्टेट (अप टू डेट, अपग्रेडेबल, ...) और ओरिजिनल डिस्ट्रीब्यूशन (मट्ठा, जेसी, ...) के बारे में भी जानकारी देता है। कोई आसानी से उन पैकेजों को फ़िल्टर कर सकता है जो बैकपोर्ट या अन्य विदेशी रिपॉजिटरी से आए थे।

इस कार्यक्रम को अलग से पैक किया गया है। इसे पहले स्थापित करें:

apt-get install apt-show-versions

यह वास्तव में अच्छा है क्योंकि यह उस संस्करण को दिखाता है जिसे पैकेज में अपग्रेड किया जा सकता है। +1।
रान्डेल कुक

इसके साथ संयुक्त apt-mark showmanualआप सभी मैन्युअल रूप से स्थापित संकुल के संस्करणों को पुनः प्राप्त करने के लिए एक अच्छा और आसान तरीका देता है, यह भी पूछें इस Askubuntu उत्तर apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
ग्रेगोर

4

निम्न कमांड अपने संस्करणों के साथ संकुल को सूचीबद्ध करता है, और इसके अतिरिक्त यह आपको बाद में उसी pkg-selections.txtफ़ाइल के साथ संकुल और संस्करणों के साथ एक सिस्टम सेट करने देता है:

aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt

प्रत्येक पंक्ति में पैकेज का नाम, संस्करण और एक वैकल्पिक "ए" होगा यदि पैकेज स्वचालित रूप से स्थापित किया गया था।

स्रोत: " क्लोनिंग ए डेबियन सिस्टम - समान पैकेज और संस्करण "। इसमें वह स्क्रिप्ट भी शामिल है जो एक सिस्टम सेट करती है pkg-selections.txt


4

प्रत्येक इंस्टॉल किए गए पैकेज के नामों को सूचीबद्ध करने के लिए, किसी भी उपयोगकर्ता के रूप में टाइप करें:

dpkg --get-selections

आपको इस तरह एक आउटपुट मिलेगा:

accountsservice              install
aclinstall                   install
acpi-supportinstall          install
acpidinstall                 install
...

"स्ट्रिंग" आवश्यक स्ट्रिंग को हटाने के लिए, आप sed का उपयोग कर सकते हैं :

dpkg --get-selections | sed 's:install$::'

और यदि आप इसे InstalledPackages नामक फ़ाइल में सहेजना चाहते हैं , तो आप इसे टाइप करें:

dpkg --get-selections | sed 's:install$::' > InstalledPackages

1

यदि आपके पास लाइव सिस्टम तक पहुंच नहीं है, और रूट /विभाजन का बैकअप है , तो आप यह कर सकते हैं:

root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app

अब /root/installed_appइसमें सभी स्थापित पैकेज हैं!

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