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


1884

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


7
यह पहले से ही यहाँ उत्तर दिया गया था ।
साइमन क्विजले

2
वाह, जवाबों से गुजरते हुए ऐसा लगता है कि इसे पूरा करने के कई तरीके हैं: /
मैडीवाड

2
मैं ऐसी टेक्स्ट फ़ाइल से किसी नए सिस्टम पर बल्क इंस्टॉलेशन कैसे करूं?
इलेशियम

2
@ माडिवड ये पैकेज मैनेजर कभी ज़िंदगी को आसान बनाने वाले थे ...
रेने न्यफेनेगर

जवाबों:


2135

Ubuntu 14.04 और ऊपर

aptUbuntu 14.04 और इसके बाद के संस्करण पर उपकरण के लिए यह बहुत आसान बना देता है।

apt list --installed

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

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

dpkg --get-selections | grep -v deinstall

( -vगैर-मिलान लाइनों को वापस करने के लिए "इनवर्ट्स" grep टैग)

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

dpkg --get-selections | grep postgres

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

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

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

dpkg -l

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


37
फिर, नए कंप्यूटर पर इंस्टॉल करते समय, cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade स्रोत
koanhead

13
2006 के बाद से dpkg के लिए वाक्यविन्यास थोड़ा बदल गया हो सकता है क्योंकि वह आदेश मेरे लिए काम नहीं कर रहा था, @koanhead। sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgradeउसने चाल चली।
जेम्स

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

73
यह दुखद और आश्चर्यजनक है कि @intuited टिप्पणी समुदाय द्वारा बेहतर समझ में नहीं आती है। क्या अधिक "अत्यधिक रेटेड" योगदानकर्ताओं को सलाह देने से पहले अधिक सोचना बंद कर देना चाहिए कि पुराने पैकेजों को नए ubuntu संस्करण पर पुनः लोड करना एक अच्छा विचार (?) नहीं है। सभी dpkg विकल्पों के साथ मुझे अभी भी एक ऐसा नहीं दिखता है जो किसी उपयोगकर्ता द्वारा 'स्पष्ट रूप से स्थापित' संकुल को बाहर निकालता है ताकि THAT सूची को फिर से लोड किया जा सके और इसकी निर्भरता स्थापित करने की अनुमति दी जा सके; मुझे यह जानकर अच्छा लगेगा - कृपया वह जानकारी साझा करें। इस बीच, उन पैकेजों की एक सूची बनाएं जिन्हें आपको वास्तव में फिर से स्थापित करने और चलाने की आवश्यकता है
Ricalsin

62
हम सभी जानते हैं कि लिनेक्स फोटोग्राफिक मेमोरी के बिना लोगों के साथ भेदभाव करता है, लेकिन गंभीरता से, क्या गलत होगा apt list installed। किसी दिन हमें "सरल चीजों को आसान रखना" सिद्धांत को व्यवस्थित रूप से विफल करना बंद करना चाहिए।

413

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

aptitude search '~i!~M'

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


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

Package: grub-common
Architecture: amd64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1

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


52
यह सही उत्तर होना चाहिए। सूची निर्भरता क्यों?
स्टावरोस कोरोकिथेकिस

13
इसका उत्तर होना चाहिए , लेकिन वर्तमान में मल्टीचार् के कारण योग्यता का उपयोग करना थोड़ा अविश्वसनीय है (दुर्भाग्य से रास्ते पर), दुर्भाग्य से। अभी भी +1 केवल स्पष्ट रूप से स्थापित संकुल को सूचीबद्ध करने और ऐसा करने का एक तरीका बताने के लिए (भले ही यह 11.10+ वर्तमान में काम नहीं करेगा)।
gertvdijk

4
@intuite (कुछ समय पहले) के लिए "फिक्स जारी"। :)
gertvdijk

11
यह सभी पैकेजों को सूचीबद्ध करता है, न कि केवल उबंटू 13.10 पर मैन्युअल रूप से स्थापित पैकेज।
ईमॉन नेरबोन

5
वहाँ के साथ एक ही परिणाम प्राप्त करने के लिए एक रास्ता है apt-get?
जेवियर एरियस

203

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

(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 k3b
Commandline: apt-get install jhead
...

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

(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:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...

3
या (zgrep और अपडेट संदेशों को हटाने के साथ):zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
belacqua

3
इस दृष्टिकोण के साथ स्थापित संकुल याद आती है dpkg??
ड्रेविको

5
जबकि उपर्युक्त सरल उत्तर सामान्य उपयोगकर्ता के लिए अच्छे हैं। मशीन द्वारा किए गए सभी कस्टमाइज़ेशन को वापस करने के लिए अब तक की यह विधि सबसे अच्छी है, क्योंकि यह यह भी दिखाता है कि बेस इमेज से क्या हटाया गया, या जोड़ा गया, क्योंकि यह उन्हें उस क्रम में सूचीबद्ध करता है, जो इसे निष्पादित किया गया था, और आपको यह याद रखने में मदद करता है कि कौन सा है उन्हें किसी अन्य सिस्टम में वापस जोड़ने का सही क्रम।
AllGamer

3
@drevicko आप सही हैं, यह उन पैकेजों को सूचीबद्ध नहीं करता है जो dpkg के साथ स्थापित किए गए हैं
स्टीव बूज़ोनस

3
यह व्यवस्थित रखने के लिए बहुत आसान
है-

191

वर्तमान में स्थापित किए गए पैकेजों का बैकअप बनाएँ:

dpkg --get-selections > list.txt

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

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

बासी पैकेज से छुटकारा पाने के लिए:

sudo apt-get autoremove

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

sudo apt-get dselect-upgrade

5
एक और मशीन पर बहाल करने के बारे में महान टिप। +1।
ड्रू नोक

15
2 अलग ubuntu 12.04 मशीनों के बीच माइग्रेट करने से इस दृष्टिकोण ने मेरी प्रणाली को तोड़ दिया। जब तक मुझे एहसास हुआ कि किसी तरह ubuntu-desktopअनइंस्टॉल हो गया - शायद एक dpkg कमांड के कारण। सावधान रहें, क्षति की मरम्मत में मुझे घंटों लग गए!
कार्ल फ्रिस्क

1
और कभी-कभी सिस्टम एक ऐसे ऐप को अपडेट करता है जिसे आप विशेष रूप से चाहते हैं कि सिस्टम इसे कभी न छुए, कमांड्स के अंत में इसे फायर करें sudo apt-mark hold name-your-package । इससे apt-get को वर्तमान संस्करण में अपग्रेड करने से रोका जा सकता है जो अद्यतन प्रक्रिया के लिए डिफ़ॉल्ट है।
फ़रॉन

77
apt-mark showmanual

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

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

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

एक पाठ फ़ाइल में परिणाम का उत्पादन करने के लिए:

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

डेबियन "एप्ट-मार्क शोमैनुअल" पर "निचोड़" पर काम नहीं किया, लेकिन "मट्ठा" पर काम किया
वाडीह एम।

11
अधिकांश अन्य उत्तरों की तरह, apt-mark showmanualवास्तव में नहीं है। यह स्वचालित रूप से स्थापित पैकेजों के टन को भी सूचीबद्ध करता है, शायद आधार स्थापित का हिस्सा है।
22

8
अच्छी तरह से प्रश्न स्थापित पैकेजों के लिए था और यह सभी स्थापित पैकेजों को स्वचालित रूप से स्थापित निर्भरता को घटा देता है। इसमें प्रारंभिक इंस्टॉल के हिस्से के रूप में प्रारंभिक पैकेज शामिल हैं। मुझे लगता है कि आप डिफ़ॉल्ट इंस्टॉल की एक सूची प्राप्त करने के लिए इसे एक ताज़ा इंस्टॉल पर चला सकते हैं और फिर अंतर देखने के लिए इसे घटा सकते हैं।
टिम टिस्डल

5
कोई भी मैन्युअल रूप से स्थापित पैकेजों की सूची के लिए इस विकल्प का उल्लेख नहीं करता है apt list --manual-installed:।
पाब्लो ए

41

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

# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; doneदूसरी प्रणाली में टाइप करके मैंने इसे बनाया है ताकि यह संकुल को स्थापित करे।
user9869932

1
@ जुलियन्रोमेरा: apt-get install -y $(< installed-pkgs)इसे ऐसा बनाएंगे कि उपयुक्त एक बार ही रन बनाए और एक बार में सभी निर्भरता का ध्यान रखे ।
जमदग्नि

@julianromera ... मुझे गलत है अगर मैं गलत हूँ, लेकिन आमतौर पर स्थापित करने से पहले निर्भरता के साथ एक app बनाने के लिए होगा sudo apt-get build-dep name-package; sudo apt-get install name-package; ?
फारन

39

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

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

या

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

या

dpkg --get-selections > 1.txt

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


35

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

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


34

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


मैं एक पूर्ण दर्पण की कोशिश नहीं कर रहा हूं, लेकिन केवल कॉन्फ़िगर फ़ाइलों को खाते में लेने का तथ्य बहुत बढ़िया है। मैं थोड़ी देर के लिए इस तरह के एक उपकरण की तलाश में था, बहुत-बहुत धन्यवाद!
tbolender

33

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

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

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

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

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

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

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


मैंने अपने कंप्यूटर के लिए एक ही नाम को हर बार उबंटू वन सर्वर से भारी डाउनलोड से रोकने के लिए एक नए इंस्टॉलेशन पर सेट किया। क्या आपको लगता है कि यह मेरे लिए काम करता है?
एलन

32

Aptik (कमांड लाइन और GUI) नामक एक टूल भी है जो आपको सभी इंस्टॉल किए गए पैकेजों की सूची देखने में मदद कर सकता है, उनमें से कुछ का चयन / अचयनित करने, बैकअप सूची बनाने और फिर पैकेज के एक ही सेट को पुनर्स्थापित करने के विकल्प के साथ। एक और प्रणाली।

स्थापित करने के लिए:

sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik

अधिक जानकारी: https://teejeetech.in/aptik/

यहां छवि विवरण दर्ज करें

जैसा कि स्क्रीनशॉट में देखा जा सकता है, Aptik आपको PPA को बैकअप और पुनर्स्थापित करने की सुविधा देता है , जो निश्चित रूप से इंस्टॉल किए गए कुछ पैकेजों को स्थापित करने के लिए आवश्यक होगा।


आप जीयूआई चाहते हैं, आप को स्थापित करने के लिए है apt-get install aptik-gtkके रूप में अच्छी तरह से
Maduka Jayalath

30

एपीटी-क्लोन । इस पैकेज का उपयोग उपयुक्त आधारित सिस्टम पर संकुल को क्लोन / पुनर्स्थापना करने के लिए किया जा सकता है।

  • यह पैकेजों, स्रोतों.लिस्ट, कीरिंग और स्वचालित-स्थापित राज्यों को बचाएगा / पुनर्स्थापित करेगा।
  • यह dpkg-repack का उपयोग करके अब डाउनलोड करने योग्य पैकेज को सेव / रिस्टोर भी कर सकता है।

स्रोत: man apt-clone

APT-Clone ubiquityउन्नयन प्रक्रिया के लिए (Ubuntu इंस्टॉलर) द्वारा उपयोग किया जाता है । यह dpkg --get-selectionsसमाधान से बहुत बेहतर है क्योंकि:

  1. यह सभी रिपॉजिटरी जानकारी को संरक्षित करता है।
  2. यह ट्रैक रखता है कि कौन से पैकेज स्वचालित रूप से इंस्टॉल किए गए थे।
  3. यह स्थानीय रूप से स्थापित DEB फ़ाइलों को वापस करने की अनुमति देता है।

कैसे इस्तेमाल करे

  1. इंस्टॉल करें I

    sudo apt-get install apt-clone
    
  2. पूर्तिकर बनाओ

    sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. बैकअप बहाल

    sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    नए रिलीज़ पर पुनर्स्थापित करें:

    sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

यह सरल gzipped टार फ़ाइल बनाता है जिसे अन्य मशीनों पर पुनर्स्थापित करने से पहले आसानी से संपादित और समीक्षा की जा सकती है। यहाँ इसकी संरचना का एक उदाहरण है:

/
├── etc
│   └── apt
│       ├── preferences.d
│       ├── sources.list
│       ├── sources.list.d
│       │   ├── anton_-ubuntu-dnscrypt-vivid.list
│       │   ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│       │   └── megasync.list
│       ├── trusted.gpg
│       └── trusted.gpg.d
│           ├── anton__ubuntu_dnscrypt.gpg
│           ├── anton__ubuntu_dnscrypt.gpg~
│           ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│           └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
    └── lib
        └── apt-clone
            ├── extended_states
            ├── installed.pkgs
            └── uname

26

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

12.04 और नए के डेस्कटॉप संस्करणों के लिए मैनिफ़ेस्ट फ़ाइल प्राप्त करने के लिए, इस साइट पर जाएँ , अपनी रिलीज़ चुनें, और सीडी इमेज के नीचे स्क्रॉल करके फाइल सेक्शन में जाएँ। आपको "ubuntu-12.04.4-Desktop-amd64 + mac.manifest" जैसा कुछ मिलेगा जो आपकी वास्तुकला से मेल खाता है।

सर्वर संस्करणों के लिए आपको आईएसओ से प्रकट फ़ाइल प्राप्त करने की आवश्यकता होगी जो मूल प्रणाली को स्थापित करने के लिए उपयोग की गई थी। VPS या क्लाउड सर्वर के लिए, आपका प्रदाता चित्र उपलब्ध करा सकता है या आपको उनसे संपर्क करने की आवश्यकता हो सकती है।

नए सर्वर पर इंस्टॉल करने के लिए संशोधनों के साथ, संदर्भित पद से कोड का उपयोग करने का एक उदाहरण यहां दिया गया है।

पुराना सर्वर (कोड से अन्य पोस्ट, फ़ाइल में सहेजे गए आउटपुट):

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-amd64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list

नए सर्वर पर, scp का उपयोग करके फ़ाइल को कॉपी करें, फिर हर पंक्ति में 'इंस्टॉल' करने के लिए sed का उपयोग करें (-i एक इनलाइन-रिप्लेसमेंट करता है)। फिर आप सूची का उपयोग 'dpkg --set-selections' इनपुट के रूप में कर सकते हैं और apt-get के साथ संकुल को स्थापित कर सकते हैं:

scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
sudo dpkg --set-selections < user-installed.list
sudo apt-get dselect-upgrade

इस कार्य को शुरू करने से पहले, मैं शुरुआत में उल्लिखित पोस्ट के सभी हिस्सों को पढ़ने और समझने की सलाह देता हूं, और फिर खोज पैटर्न पर विवरण के लिए उपयुक्त संदर्भ गाइड से परामर्श करें।


25

आप देख सकते हैं aptके तहत लॉग /var/log/apt/और dpkgतहत लॉग/var/log/

और आप सिर्फ एक आदेश के साथ स्थापित संकुल की सूची प्राप्त कर सकते हैं:

dpkg -l | grep '^ii '

23

मुझे आश्चर्य है कि इस उद्देश्य के लिए बिल्कुलapt-cache तैयार की गई कमांड का उल्लेख ऊपर नहीं किया गया है ...

apt-cache pkgnames

अधिक जानकारी के लिए, दौड़ें apt-cache --help:

** apt-cache एक निम्न-स्तरीय उपकरण है जिसका उपयोग सूचनाओं को क्वेरी करने के लिए किया जाता है
APT की बाइनरी कैश फ़ाइलों से

आदेश:
   gencaches - पैकेज और स्रोत कैश दोनों बनाएँ
   showpkg - एकल पैकेज के लिए कुछ सामान्य जानकारी दिखाएं
   showrc - स्रोत रिकॉर्ड दिखाएं
   आँकड़े - कुछ बुनियादी आँकड़े दिखाएँ
   डंप - पूरी फ़ाइल को एक संक्षिप्त रूप में दिखाएं
   डंपावेल - स्टडआउट के लिए एक उपलब्ध फ़ाइल प्रिंट करें
   unmet - unmet निर्भरता दिखाना
   खोज - regex पैटर्न के लिए पैकेज सूची खोजें
   शो - पैकेज के लिए एक पठनीय रिकॉर्ड दिखाएं
   निर्भर करता है - एक पैकेज के लिए कच्ची निर्भरता जानकारी दिखाएं
   rdepends - एक पैकेज के लिए रिवर्स निर्भरता जानकारी दिखाएं
   pkgnames - सिस्टम के सभी पैकेजों के नाम सूचीबद्ध करें
   dotty - GraphViz के लिए पैकेज ग्राफ बनाएं
   xvcg - xvcg के लिए पैकेज ग्राफ बनाएं
   नीति - नीति सेटिंग दिखाएं

विकल्प:
  -यह मदद पाठ।
  -p =? पैकेज कैश।
  -s =? स्रोत कैश।
  -q प्रगति संकेतक अक्षम करें।
  -i केवल unmet कमांड के लिए महत्वपूर्ण डिप्स दिखाएं।
  -c =? इस कॉन्फ़िगरेशन फ़ाइल को पढ़ें
  -ओ =? एक मनमाना कॉन्फ़िगरेशन विकल्प सेट करें, जैसे -o dir :: cache = / tmp
अधिक जानकारी के लिए apt-cache (8) और apt.conf (5) मैनुअल पेज देखें।
**

5
TLDR; मैंने अंततः पाया कि apt --installed listसबसे अच्छा परिणाम देता है (जैसा कि ऊपर दिए गए शीर्ष उत्तर में सुझाया गया है। हालांकि apt-cache pkgnamesपहली नज़र में चाल करने के लिए लगता है, यह "सिस्टम के सभी पैकेजों को सूचीबद्ध करता है" (ऊपर दिए गए मदद पाठ के अनुसार), जिसमें उन पैकेजों को भी शामिल किया गया है जिनके बारे में पता है। लेकिन वास्तव में स्थापित नहीं हैं। एक --installedविकल्प है, लेकिन इसके साथ काम करने के लिए प्रतीत नहीं होता है pkgnames
sxc731

2
apt-cache pkgnames | wc -l55909पैकेज देता है (सिस्टम के बारे में जानता है), जबकि aptitude search '~i!~M' | wc -lदेता है 2160(पैकेज स्पष्ट रूप से स्थापित, बिना निर्भरता के)।
knb


18

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

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u

.1 का अर्थ है कि लॉग घुमाया गया था, अगर ऐसा है तो शायद /var/log/dpkg.log*सभी घुमाए गए लॉग प्राप्त करने के लिए बेहतर है ।
11:39 पर स्टीव बूज़ोनस

17

इस समुदाय की मदद करें विकी - अप-टू-डेट समाधान जोड़ें।


dpkg, xargs, और apt-get

इस कमांड को एक पाठ फ़ाइल के निर्माण को पूरा करना चाहिए जिसमें संस्थापित संकुल है:

dpkg -l | awk  '{print $2}' > package_list.txt

सूचीबद्ध पैकेजों की थोक स्थापना को पूरा करने के लिए आपको 'package_list.txt' को संपादित करना होगा। पाठ संपादक का उपयोग करके फ़ाइल के शीर्ष पर अजीब लाइनें निकालें। आप इस आदेश का उपयोग करके बनाई गई फ़ाइल से संकुल को स्थापित करने के लिए उपयोग कर सकते हैं:

xargs < package_list.txt apt-get install -y

apt-cache, xargs, और apt-get

केवल इस पद्धति का उपयोग करें यदि आप चाहते हैं कि सूची का उपयोग करके सभी मौजूदा पैकेज स्थापित किए जाएं ( जिसमें स्वचालित रूप से स्थापित आदि शामिल हैं)।

'Apt-cache pkgnames' की प्रतिक्रिया को उस फ़ाइल में आउटपुट करें जिसे हम केवल "package_list.txt" नाम देंगे। आप इसे पूरा कर सकते हैं:

apt-cache pkgnames > package_list.txt

फिर जब आप "package_list.txt" से पैकेज स्थापित करना चाहते हैं तो आप इस कमांड का उपयोग करेंगे:

xargs < package_list.txt apt-get install -y

apt-mark, xargs, और apt-get

हम उन apt-mark showmanualपैकेजों की सूची देने के लिए कमांड का उपयोग कर सकते हैं जो मैन्युअल रूप से या शुरुआत में उबंटू के साथ स्थापित किए गए थे। हम उस फ़ाइल पर आउटपुट करना चाहते हैं जिसे हम "पैकेज-लिस्ट.टैक्स" कहेंगे। इसे पूरा करने के लिए इस कमांड का उपयोग करें:

apt-mark showmanual > package-list.txt

"पैकेज_लिस्ट.टेक्स्ट" फ़ाइल से पैकेज को स्थापित करने के लिए हम जिस कमांड का उपयोग करेंगे, वह नीचे है।

xargs < package_list.txt apt-get install -y

Aptik प्रवासन उपयोगिता

उबंटू-आधारित वितरणों को अपग्रेड / री-इंस्टॉल करने के बाद सॉफ्टवेयर पैकेजों की पुनः स्थापना को आसान बनाने के लिए उपयोगिता।
[ लॉन्चपैड | आप्तिक ]

Aptik के बारे में जानकारी के लिए, इसके आधिकारिक पृष्ठ पर जाने का प्रयास करें , और स्क्रीनशॉट के लिए यहां क्लिक करें या इस अनुभाग का अंत देखें।

Aptik स्थापित करना सरल है। इन कदमों का अनुसरण करें:

  1. PPA को इसके साथ जोड़ें :
    sudo add-apt-repository -y ppa:teejee2008/ppa

  2. नीचे दिए गए आदेश के साथ अद्यतन करें।
    sudo apt-get update

  3. Aptik का उपयोग करके स्थापित करें :
    sudo apt-get install aptik

आप्तिक प्रवासन उपयोगिता v16.5.2



1
आउटपुट apt-mark showmanualमें बैश, यूनिटी और Xorg शामिल हैं। क्या वे वहाँ रहने वाले हैं?
wjandrea

@wjandrea 'apt-mark showmanual' के आउटपुट में मेरी जेनरेट की गई सूची में बैश एंड यूनिटी भी शामिल है। यह सामान्य होना चाहिए क्योंकि कमांड सूचियों को मैन्युअल रूप से स्थापित किया गया है और शुरू में w / Ubuntu स्थापित किया गया है।
डेविड अपने दोस्त

16

स्थापित पैकेजों की सूची को नाम की फ़ाइल में सहेजने के लिए installed_packages.txt, बस चलाएं:

dpkg-query --list >> installed_packages.txt

3

मुझे लगता है कि यह नोट करना दिलचस्प है apt list --installedया dpkg-query --listवास्तव में उस फ़ाइल का उपयोग करना है, /var/lib/dpkg/statusजिसमें पैकेज के बारे में सभी जानकारी दाढ़ी है।

तो अगर आप सिर्फ पैकेज की सुपर विस्तारित सूची से निपटना चाहते हैं cat /var/lib/dpkg/status

नोट: /var/lib/dpkg/statusफ़ाइल को परिवर्तित न करें ।


3

एपीटी पैकेजों के अलावा , कई जीयूआई पैकेज आजकल स्नैप के रूप में वितरित किए जाते हैं ।

यदि आपका पैकेज नहीं मिल रहा है apt list --installed, तो कोशिश करें snap list:

$ snap list

Name                  Version                     Rev   Tracking  Publisher       Notes
gimp                  2.10.10                     165   stable    snapcrafters    -
gnome-calculator      3.32.1                      406   stable/…  canonical✓      -
keepassxc             2.4.1                       267   stable    keepassxreboot  -
...

/snap/binPATH में जोड़ना भी एक अच्छा विचार है ताकि आप टर्मिनल से शुरू कर सकें (गैर-रूट उपयोगकर्ताओं के लिए स्वचालित रूप से किया जाता है)।


1

पैकेज आपके सिस्टम पर इंस्टॉल किए गए पैकेजों की सूची प्राप्त करने के लिए उपकरण dctrl-toolsप्रदान grep-statusकरता है:

sudo apt install dctrl-tools

उपयोग:

grep-status -FStatus -sPackage -n   "install ok installed"

देख : man dctrl-tools


1

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :

1. उबंटू पर स्थापित सॉफ्टवेयर संकुल को सूचीबद्ध करें

अपनी मशीन पर स्थापित सॉफ्टवेयर पैकेजों को सूचीबद्ध करने के लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं:

sudo apt list --installed

कमांड का आउटपुट निम्न के समान होगा, जिसके आधार पर वर्तमान में पैकेज स्थापित किए गए हैं:

Listing...
acl/xenial,now 2.2.52-3 amd64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed,automatic]
apt/xenial-updates,now 1.2.19 amd64 [installed]
apt-utils/xenial-updates,now 1.2.19 amd64 [installed]
...

2. कम कार्यक्रम का उपयोग करें

पूरे आउटपुट को आसानी से पढ़ने के लिए आप lessप्रोग्राम का उपयोग कर सकते हैं ।

sudo apt list --installed | less

3. GREP कमांड का उपयोग करें

आप grepप्रोग्राम का उपयोग करके आउटपुट के माध्यम से एक विशिष्ट पैकेज की तलाश कर सकते हैं ।

sudo apt list --installed | grep -i apache

4. अपाचे को शामिल करने वाले सभी पैकेजों को सूचीबद्ध करें

उपरोक्त कमांड से आउटपुट उन सभी पैकेजों को सूचीबद्ध करेगा apacheजो उनके नाम में शामिल हैं ।

apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 amd64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 amd64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]

Apt पैकेज के नामों और विकल्पों को स्थापित (--installed)पैकेजों, अपग्रेड करने योग्य (--upgradeable) पैकेजों या सभी उपलब्ध (--all-versions)पैकेज संस्करणों को सूचीबद्ध करने के लिए पैटर्न का समर्थन करता है ।

5. DPKG प्रोग्राम का उपयोग करें

एक अन्य विकल्प जो आप अपने Ubuntu VPS पर स्थापित सॉफ़्टवेयर पैकेजों को सूचीबद्ध करने के लिए उपयोग कर सकते हैं वह है dpkgकमांड।

sudo dpkg -l

कमांड का आउटपुट आपको पैकेज के नाम, संस्करण, वास्तुकला और पैकेज के बारे में संक्षिप्त विवरण जैसी जानकारी प्रदान करेगा। बेशक, आप grepएक विशिष्ट पैकेज की खोज के लिए प्रोग्राम का फिर से उपयोग कर सकते हैं ।

sudo dpkg -l | grep -i apache

आउटपुट नीचे की तरह दिखना चाहिए:

ii  apache2                       2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server
ii  apache2-bin                   2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  apache2-utils                 2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (utility programs for web servers)
rc  apache2.2-common              2.2.22-6ubuntu5.1                     amd64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               amd64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:amd64                 1.5.2-3                               amd64        Apache Portable Runtime Library
ii  libaprutil1:amd64             1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:amd64 1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:amd64        1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - LDAP Driver
.

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


0

ऐसा करने के कई तरीके हैं। यदि आप मेरी तरह CentOS का उपयोग कर रहे हैं तो आप इनका उपयोग कर सकते हैं: 1. yum list installed 2।rpm -qa

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