सवाल एक पैकेज आता है उबंटू या डेबियन भंडार से क्या बताना है?


उबंटू समेत एक डेबियन-आधारित प्रणाली पर, कैसे कोई यह बता सकता है कि वास्तव में डाउनलोड शुरू किए बिना पैकेज को कौन सा भंडार डाउनलोड किया जाएगा? aptitude show तथा apt-cache info दिखाएगा अनुभाग (उदाहरण के लिए, मेटापेकेज, बेस, ग्राफिक्स), लेकिन नहीं कोष जिसके लिए एक पैकेज संबंधित है (उदाहरण के लिए, http://ppa.launchpad.net/mactel-support/ppa/ubuntu या http://us.archive.ubuntu.com/ubuntu/)।

पैकेज को स्थापित करते समय, वास्तविक भंडार डाउनलोड के दौरान प्रकट होता है (यह एपीटी और इसी तरह के कार्यक्रमों से आउटपुट "से डाउनलोड ..." में मुद्रित होता है), लेकिन पैकेज को रखने वाले भंडार (या एक विशिष्ट) पर जानकारी कैसे प्राप्त कर सकता है पैकेज का संस्करण) के बिना इसे पहले डाउनलोड करना और इंस्टॉल करना?

इसके अतिरिक्त, एक पैकेज के लिए स्रोत भंडार कैसे निर्धारित कर सकता है जो पहले से स्थापित है?


164
2018-02-09 19:14


मूल


मुझे यह Apt की कमियों में से एक लगता है; यह कहना आसान नहीं है कि कौन से भंडार पैकेज इंस्टॉलर टूल के भीतर एक निश्चित पैकेज प्रदान करता है। - quack quixote


जवाब:


मै भागा apt-cache policy <package name>:

$ apt-cache policy wajig
wajig:
  Installed: 2.1
  Candidate: 2.1
  Version table:
 *** 2.1 0
        100 /var/lib/dpkg/status
     2.0.47 0
        500 file:/home/wena/.repo_bin/ squeeze/main i386 Packages
        500 ftp://ftp.is.co.za/debian/ squeeze/main i386 Packages

इसका मतलब है कि तीन हैं wajig संकुल:

  • एक स्थापित है (/var/lib/dpkg/status)

  • एक स्थानीय भंडार से उपलब्ध है (file:/home/wena/.repo_bin/)

  • एक जो रिमोट रिपोजिटरी से उपलब्ध है (ftp://ftp.is.co.za/debian), जो भी एक ही संस्करण होता है (2.0.47) एक स्थानीय भंडार में से एक के रूप में


साथ ही, apt-cache madison <package name> एक सारणीबद्ध प्रारूप में समान जानकारी प्रदर्शित करेगा।

 wajig |        2.2 | mirror://mirrors.ubuntu.com/mirrors.txt/ precise/universe amd64 Packages
 wajig |        2.2 | mirror://mirrors.ubuntu.com/mirrors.txt/ precise/universe Sources

202
2018-01-22 22:00



लेकिन यह नहीं दिखाता कि स्थापित पैकेज कहां से आया था, है ना? - Adobe
@Adobe मेरे मामले में, 2.1 संस्करण किसी भी भंडार से उपलब्ध नहीं है। यह स्थानीय रूप से निर्मित है। - Tshepang
स्थापित पैकेज का संकेत क्या है? *** या /var/lib/dpkg/status ? - SuB
शायद दोनो? निश्चित नहीं। - Tshepang
जब पैकेज स्थापित नहीं होता है, apt-cache policy कहते हैं: Installed: (none)। - John McGehee


अहा! जाहिर है, उचित है apt आदेश नहीं है apt-cache info, लेकिन बदले, apt-cache showpkg

$ apt-cache showpkg linux-generic
Package: linux-generic
Versions: 
2.6.31.19.32 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic-updates_main_binary-amd64_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_karmic-security_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic-updates_main_binary-amd64_Packages
                  MD5: 5d722da329763b9342d322f5a140005c

2.6.31.14.27 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_main_binary-amd64_Packages
                  MD5: 5d722da329763b9342d322f5a140005c


Reverse Depends: 
Dependencies: 
2.6.31.19.32 - linux-image-generic (5 2.6.31.19.32) 
2.6.31.14.27 - linux-image-generic (5 2.6.31.14.27) 
Provides: 
2.6.31.19.32 - 
2.6.31.14.27 - 
Reverse Provides: 

File: लाइन के बाद भंडार जानकारी प्रदान करता है /var/lib/apt/lists/

वहाँ है एक बग रिपोर्ट है कि aptitude स्रोत भंडार प्रदर्शित नहीं कर सकता है, लेकिन वर्तमान में यह सुविधा अभी भी इच्छा सूची पर है।


27
2018-02-10 00:57



यह योग्यता विशेषता अभी भी 8 साल बाद व्हिस्लिस्ट पर है और मुझे नहीं पता कि यह जवाब क्यों है (apt-cache showpkg) सही के रूप में चिह्नित नहीं है। - Csaba Toth


यह मेरे लिए काम करता है (दिखाता है कि 2vcard पैकेज कहां है):

$ grep 2vcard /var/lib/apt/lists/* | grep "Filename:"

/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-i386_Packages:Filename: pool/universe/2/2vcard/2vcard_0.5-3_all.deb

यदि एकाधिक संस्करण उपलब्ध हैं, तो आप संस्करणों आदि की जांच करने के लिए अतिरिक्त फ़िल्टरिंग लागू कर सकते हैं।


8
2018-02-09 19:41



व्यावहारिक। मुझे आश्चर्य है कि यह जानकारी किसी भी फ्रंट सिरों के माध्यम से सुलभ नहीं है dpkg, हालांकि। - gotgenes
@got यह उपलब्ध है: superuser.com/questions/106794/... - Tshepang


मुझे आश्चर्य है कि क्यों कोई भी उल्लेख नहीं किया aptitude। मैं इसका हर समय उपयोग करता हूं।

योग्यता है:

  • कई डेबियन-आधारित वितरणों के साथ डिफ़ॉल्ट रूप से भेज दिया गया। अन्य (जैसे उबंटू) के माध्यम से स्थापित किया जा सकता है sudo apt install aptitude
  • प्रशासनिक विशेषाधिकारों की आवश्यकता नहीं है (कम से कम कमांड के लिए)
  • अच्छा है ncurses जीयूआई (लेकिन इसके बिना अधिकांश समय उपयोग किया जाता है)
  • वास्तव में एक सुंदर उत्पादन प्रदान करता है। पैकेज के संस्करण दिखाने के लिए, उपयोग करें aptitude versions आदेश:

    me@wheezy:~$ aptitude versions kde-standard
    Package kde-standard:                        
    i A 5:77+deb7u1     stable              500
    p A 5:84            testing,unstable    130
    
  • सुपर गाय शक्तियां नहीं है

प्रत्येक स्ट्रिंग के सामने वाला पत्र पैकेज की स्थिति को इंगित करता है, मैं स्थापित है और पी शुद्ध है (या कभी स्थापित नहीं) स्थिर, परिक्षण तथा अस्थिर भंडार परिभाषाएं हैं, अंत में संख्या एक है पिन प्राथमिकता

यहां उल्लेख करने योग्य योग्यता के हाल के संस्करणों के बारे में एक चेतावनी: डिफ़ॉल्ट रूप से यह सभी संकुल दिखाती है, जिसमें आपके द्वारा खोजे जाने वाले नाम शामिल हैं, इसलिए एक का उपयोग करें regex उदाहरण के लिए सख्त नाम से खोज करने के लिए थोड़ा जादू aptitude versions ^kde-workspace$


8
2018-01-12 11:32



अच्छा आदेश लेकिन यह अनुरोध के रूप में भंडार सूची नहीं है। - bjhend
वास्तव में ऐसा होता है। - TranslucentCloud
आप समझ में नहीं आता अतिरिक्त पीपीए स्थापित किया जा सकता है। यह जानना महत्वपूर्ण है कि पैकेज ऐसे पीपीए से है या नहीं। वास्तव में, यही वह है जिसे मैं अभी समझने की कोशिश कर रहा हूं - यदि ऐसा है, तो मैं पीपीए को हटा सकता हूं, जिससे समस्याओं का खतरा कम हो जाता है। - reinierpost
हाँ, आप सही हैं, साथ में versions आप बस दिए गए संकुल के उपयुक्त पिनिंग मानों को देख सकते हैं, संबंधित रिपोज़ नहीं। यह अभी भी उपयोगी है हालांकि यदि आप अपने सभी रिपोज़ जानते हैं और उन्हें पिन कैसे किया जाता है। - TranslucentCloud


अफसोस की बात है, यह जानकारी पैकेज स्थापना के दौरान दर्ज नहीं है। यदि रिपोजिटरी अभी भी स्रोत सूची में है और रिपोजिटरी में पैकेज है तो आप एक सभ्य अनुमान लगा सकते हैं:

grep -l PKG /var/lib/apt/lists/*

apt-cache showpkgभंडार डेटाबेस से डेटा दिखा रहा है (जो स्थापित नहीं है) तो यह grep से एक ही जानकारी का एक और रूप है।

यदि आप रिपोजिटरी और अपडेट अक्षम करते हैं तो भी synaptic (मूल स्क्रीन में) नहीं बता सकता है।


6
2017-10-20 21:42





या, सनी द्वारा प्रेरित आप कोशिश कर सकते हैं:

# list installed restricted packages
for i in `dpkg --get-selections | awk '{ print $1 }'`; do egrep -lRI "^Filename: .*/${i}_[^/]+.deb" /var/lib/apt/lists/ | grep -q 'restricted' && echo $i; done

# list installed multiverse packages
for i in `dpkg --get-selections | awk '{ print $1 }'`; do egrep -lRI "^Filename: .*/${i}_[^/]+.deb" /var/lib/apt/lists/ | grep -q 'multiverse' && echo $i; done

ps। 100% सटीक नहीं।


2
2018-01-22 15:55