सभी स्थापित पैकेजों को कैसे सूचीबद्ध करें

मैं सभी स्थापित पैकेजों की एक सूची को एक टेक्स्ट फ़ाइल में आउटपुट करना चाहता हूं ताकि मैं इसकी समीक्षा कर सकूं और किसी अन्य सिस्टम पर बल्क-इंस्टॉल कर सकूं । मैं यह कैसे करूंगा?

उबंटू 14.04 और ऊपर

apt उबंटू 14.04 और इसके बाद के संस्करण पर उपकरण यह बहुत आसान बनाता है ।

apt list --installed

पुराने संस्करण

स्थानीय रूप से स्थापित पैकेजों की सूची प्राप्त करने के लिए इसे अपने टर्मिनल में करें:

dpkg --get-selections | grep -v deinstall

(द -v टैग और उद्धरण; इनवर्ट्स और उद्धरण; गैर-मिलान लाइनों को वापस करने के लिए ग्रेप)

किसी विशिष्ट पैकेज की सूची स्थापित करने के लिए:

dpkg --get-selections | grep postgres

उस सूची को एक पाठ फ़ाइल में सहेजने के लिए कहा जाता है packages अपने डेस्कटॉप पर अपने टर्मिनल में ऐसा करें:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

वैकल्पिक रूप से, बस उपयोग करें

dpkg -l

(आपको इनमें से किसी भी कमांड को सुपरयुसर के रूप में चलाने की आवश्यकता नहीं है, इसलिए नहीं sudo या यहां आवश्यक कोई अन्य प्रकार)

केवल उन पैकेजों को प्राप्त करने के लिए जो स्पष्ट रूप से स्थापित किए गए थे (न केवल निर्भरता के रूप में स्थापित), आप चला सकते हैं

aptitude search '~i!~M'

इसमें एक संक्षिप्त विवरण भी शामिल होगा, जो आप चाहते हैं । यदि नहीं, तो विकल्प भी जोड़ें -F '%p', जैसा कि कार्तिक87 ने उल्लेख किया है ।


फिर भी एक और विकल्प फ़ाइल की प्रतिलिपि बनाने के लिए लगता है /var/lib/apt/extended_states, जो इस प्रारूप में एक पाठ फ़ाइल डेटाबेस है:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 इंगित करता है कि पैकेज स्पष्ट रूप से स्थापित किया गया था और यह केवल एक निर्भरता नहीं है ।

सभी पैकेजों को सूचीबद्ध करने के लिए जानबूझकर स्थापित (निर्भरता के रूप में नहीं) उपयुक्त आदेशों द्वारा, निम्नलिखित चलाएँ :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep '^Commandline:'

यह पहले सूचीबद्ध पुराने आदेशों के साथ एक रिवर्स समय आधारित दृश्य प्रदान करता है:

Commandline: apt-get install k3bCommandline: apt-get install jhead...

स्थापना डेटा भी सिनैप्टिक उपयोग दिखा रहा है, लेकिन विवरण के बिना (स्थापना तिथि के साथ समान) :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep -B1 '^Commandline:'

निम्नलिखित प्रदान करना:

Start-Date: 2012-09-23  14:02:14Commandline: apt-get install gpartedStart-Date: 2012-09-23  15:02:51Commandline: apt-get install sysstat...

वर्तमान में कौन से पैकेज स्थापित हैं, इसका बैकअप बनाएं:

dpkg --get-selections > list.txt

फिर (किसी अन्य सिस्टम पर) उस सूची से इंस्टॉलेशन को पुनर्स्थापित करें:

dpkg --clear-selectionssudo dpkg --set-selections < list.txt

बासी पैकेजों से छुटकारा:

sudo apt-get autoremove

बैकअप समय पर स्थापित होने के लिए (यानी द्वारा निर्धारित पैकेज स्थापित करने के लिए dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

मैन पेज स्टेट:

मैन्युअल रूप से स्थापित पैकेजों की एक सूची प्रिंट करेगा

इसलिए, इसे केवल स्पष्ट रूप से स्थापित पैकेजों की एक सूची देनी चाहिए (हालांकि इसमें ऐसे पैकेज शामिल हैं जो डिफ़ॉल्ट प्रारंभिक इंस्टॉल का हिस्सा थे) इन पैकेजों के स्थापित होने के कारण शामिल सभी निर्भरताओं के बिना ।

परिणाम को टेक्स्ट फ़ाइल में आउटपुट करने के लिए:

apt-mark showmanual > list-manually-installed.txt

dpkg-query (के बजाय dpkg --get-selections, जो कुछ पैकेजों को सूचीबद्ध करता है जो स्थापित नहीं हैं) निम्नानुसार हैं:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

या:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs

सभी स्थापित पैकेजों को सूचीबद्ध करने के लिए,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

या

aptitude search -F '%p' '~i' > 1.txt

या

dpkg --get-selections > 1.txt

नोट:
आपको परिणाम 1 मिलेगा।अपने घर फ़ोल्डर में पाठ फ़ाइल या आप अपने खुद के पथ निर्दिष्ट कर सकते हैं ।

आप अपने स्थापित पैक की वर्तमान स्थिति को बचाने के लिए सिनैप्टिक का उपयोग कर सकते हैं । सिनैप्टिक में, "फ़ाइल/सहेजें चिह्नों" का चयन करें, राज्य को सहेजने के लिए फ़ाइल का नाम दर्ज करें, और "पूर्ण राज्य सहेजें, न केवल परिवर्तन" बॉक्स की जांच करना सुनिश्चित करें ।

इससे सहेजी गई फ़ाइल को सिनैप्टिक में "फ़ाइल/रीड मार्किंग" का उपयोग करके एक नई मशीन में लोड किया जा सकता है ।

आप 12.04 पर अब संकुल को फिर से स्थापित करना चाहते हैं, है ना?

अगर ऐसा है तो यह बहुत आसान है । आपको खाते पर "उबंटू सिंगल साइन" की आवश्यकता होगी । "(पुनः स्थापित करने से पहले इसे बनाएं ताकि आपका सिस्टम सिंक हो जाए । )

  1. सॉफ्टवेयर सेंटर पर जाएं और "कंप्यूटर के बीच सिंक" देखें । .."फ़ाइल मेनू के तहत विकल्प ।

  2. जब आप उस पर क्लिक करेंगे तो आपको अपना कंप्यूटर पंजीकृत और आपके कंप्यूटर पर सभी ऐप्स की एक सूची दिखाई देगी ।

  3. जब आप नए सिरे से स्थापित करेंगे, तो उस कंप्यूटर को एक नया कंप्यूटर माना जाएगा ।

  4. आपको बस अपने उबंटू खाते में साइन इन करना होगा और आपका पिछला कंप्यूटर दिखाया जाएगा ।

  5. उस पर क्लिक करें; आपको सभी ऐप्स की एक सूची मिलेगी । उस ऐप पर "इंस्टॉल करें" चुनें जिसे आप इंस्टॉल करना चाहते हैं ।

Related.

Similar question at unix.stackexchange.com “List packages by installation date”