उपयोगी उपयुक्त (dpkg) कमांड [बंद]


9

कृपया अपने कम-ज्ञात, लेकिन उपयोगी उपयुक्त कमांड पोस्ट करें जिसमें apt- *, dpkg, या aptitude शामिल हैं।


7
यह वास्तव में एक सवाल नहीं है।
मार्टिन ओवेन्स -डोक्टोर्मो- 2:15

जवाबों:


7

कुछ कमांड जो मैं अक्सर उपयोग करता हूं:

निर्भरता और रिवर्स निर्भरता देखने के लिए:

apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package

एक पैकेज, सभी ऑटोरेमोव पैकेज और सभी संबंधित कॉन्फिग फाइल को हटाने के लिए:

sudo apt-get --purge --auto-remove purge $package

वास्तविक aptकॉन्फ़िगरेशन विकल्प देखने के लिए :

apt-config dump | less

कमांड लाइन पर एक विकल्प को संशोधित करने के लिए

$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package

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

sudo apt-get --no-install-recommends $package

सभी स्थानीय / अप्रचलित पैकेज देखने के लिए:

aptitude search ~o

अवशिष्ट विन्यास के साथ हटाए गए पैकेज देखने के लिए:

aptitude search ~c

और उन्हें हटाने के लिए

sudo aptitude purge ~c

सभी स्थापित पैकेजों की सूची प्राप्त करने के लिए ( dpkg -lकभी-कभी काटे गए कॉलम आउटपुट दे सकते हैं)

dpkg --get-selections | awk '{ print $1 }'

या

dpkg-query -Wf '${Package}\n'  # other fields available, see man page

असंतुष्ट करने के लिए, फिर एक पैकेज को पुन: इकट्ठा करें

dpkg-deb -x file.deb ./dir
cd dir 
dpkg-deb -e ../file.deb
# apply your modification, then... 
cd ..
dpkg-deb -b dir file-new.deb

4

दो है कि मैं एक बहुत का उपयोग कर रहे हैं:

apt-get autoremove <packagename>

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

dpkg -S /path/to/file

जो मुझे बताता है कि किस पैकेज के साथ एक फ़ाइल स्थापित की गई थी।

अंत में, एक और ..

dpkg -l <packagename> | grep ^ii

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

यदि आप एक फ़ाइल के लिए पैकेज नाम प्राप्त करना चाहते हैं जो स्थापित नहीं किया गया था ( dpkg -Sलेकिन, गैर-स्थापित पैकेजों के लिए), स्थापित करें apt-fileऔर चलाएँ:

apt-file search /path/to/file

मुझे whichdpkg -S के साथ मिलकर उपयोग करना उपयोगी लगता है । उदाहरण के लिए: विभिन्न नामों के साथ संकुल में रहने वाले निष्पादन के लिए, जैसे:dpkg -S `which uname`
बेंजामिन रुबिन

ऊह, हाँ, यह एक अच्छा भी है।
Popey

3

किसी पैकेज का ChangeLog देखें

$ aptitude changelog <pkgname>

उदाहरण:

$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low

  * SECURITY UPDATE: properly handle multiple PATH variables when using
    secure_path in env.c
    - Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
    - CVE-2010-1646
...

2
उबंटू 11.04 नैटी के रूप में apt-get changelog sudoभी काम करता है।
लेकेनस्टाइन

3

उपयुक्त फ़ाइल स्थापित करें, फिर चलाएँ sudo apt-file update। अब आप उन पैकेजों में फ़ाइलों की खोज कर सकते हैं जिन्हें आपने इंस्टॉल नहीं किया है।

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

उदाहरण:

[bnrubin@server:~/]$ rmadison cowsay
    cowsay |     3.03-8 | dapper/universe | source, all
    cowsay |     3.03-9 | hardy/universe | source, all
    cowsay |   3.03-9.2 | jaunty/universe | source, all
    cowsay |   3.03-9.2 | karmic/universe | source, all
    cowsay |   3.03-9.2 | lucid/universe | source, all
    cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
    cowsay | 3.03+dfsg1-2 | natty/universe | source, all

apt-fileअब उपयोगकर्ता के डेटाबेस को प्रबंधित करने में सक्षम है, ताकि आपको रूट करने की आवश्यकता न हो update
enzotib

apt-file काफी अच्छा है। साझा करने के लिए धन्यवाद।
गोदेल

1

सूची कमांड प्राप्त करने के लिए 'apt-' से शुरू होता है जो आप निम्न कार्य करते हैं। एक टर्मिनल खोलें और 'apt-' टाइप करें और TAB कुंजी को दो बार दबाएं, इससे सभी कमांड 'apt-' से शुरू होती हैं।

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

apt-add-repository    apt-extracttemplates  apt-key
apt-cache             apt-file              apt-mark
apt-cdrom             apt-ftparchive        apt-sortpkgs
apt-config            apt-get 

एक विस्तृत जानकारी प्राप्त करने के लिए आप उस विशिष्ट आदेश के पेज को देख सकते हैं

उदाहरण के लिए: man apt-get


1

मुझे तीन तरह के पैकेजों के बारे में सोचना पसंद है:

  • सिस्टम पैकेज (आवश्यक पैकेज या प्राथमिकता मानक या उच्चतर के पैकेज)
  • उपयोगकर्ता पैकेज (मैन्युअल रूप से प्राथमिकता वाले वैकल्पिक या अतिरिक्त रूप से स्थापित पैकेज)
  • निर्भरता और सिफारिश (स्वचालित रूप से स्थापित पैकेज / सब कुछ जो एक सिस्टम या एक उपयोगकर्ता पैकेज नहीं है)

सभी "सिस्टम पैकेज" दिखाने के लिए आप उपयोग कर सकते हैं

aptitude search '(~pstandard|~pimportant|~prequired|~E)'

मुझे उन सभी को स्थापित करना पसंद है और मैन्युअल रूप से स्थापित के रूप में चिह्नित किया गया है।

aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'

सभी "उपयोगकर्ता पैकेज" का उपयोग दिखाने के लिए

aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'

इस सूची में केवल वही पैकेज होना चाहिए जो आप जानते हैं कि आप चाहते हैं। अन्य सभी पैकेज शायद केवल निर्भरता हैं या अन्य पैकेजों की सिफारिश करते हैं, आप उन्हें स्वचालित रूप से स्थापित के रूप में चिह्नित कर सकते हैं

aptitude markauto libsomething

एप्टिट्यूड के खोज शब्द संदर्भ पर एक नज़र डालें और
एक आवश्यक, आवश्यक, महत्वपूर्ण, मानक, वैकल्पिक या अतिरिक्त पैकेज क्या है? पृष्ठभूमि की जानकारी के लिए।


0
  • पैकेजों को अपग्रेड करें जो कि वापस रखे जाएंगे क्योंकि वे अन्य पैकेजों को हटा देंगे या क्योंकि यह कर्नेल अपग्रेड है:

    sudo apt-get dist-upgrade
    
  • एक पैकेज और उसके विन्यास को शुद्ध करें।

    sudo apt-get purge package
    
  • पैकेज डेटाबेस में अनुभाग, संस्करण, निर्भरता, अनुरक्षक और विवरण सहित पैकेज का विवरण दिखाएं।

    apt-cache show package
    
  • एक स्थापित पैकेज में फ़ाइलों की सूची बनाएं

    dpkg -L pkg
    
  • सभी पैकेजों को अपग्रेड करें

    sudo apt-get upgrade
    

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