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


18

क्या इस कमांड के बराबर है; yum list kernel-headers --showduplicatesउबंटू के साथ apt-get, apt-cacheआदि पर। उपरोक्त कमांड कर्नल-हेडर आरपीएम के विभिन्न संस्करणों को एफ 20 / आरएचईएल या इंस्टॉलेशन पर उपलब्ध कराता है।

क्लोसेट मैं उपयोग कर सकता हूं apt-cache showpkg, निश्चित नहीं कि क्या बेहतर तरीका है?

$ apt-cache showpkg linux-image  
Package: linux-image  
Versions:   

Reverse Depends:  
  firmware-crystalhd,linux-image  
  systemtap,linux-image  
  fiaif,linux-image  
Dependencies:  
Provides:  
Reverse Provides:  
linux-image-3.13.0-27-lowlatency 3.13.0-27.50  
linux-image-3.13.0-27-generic 3.13.0-27.50  
linux-image-3.13.0-24-lowlatency 3.13.0-24.47  
linux-image-3.13.0-24-generic 3.13.0-24.47  
linux-image-3.13.0-24-lowlatency 3.13.0-24.46  
linux-image-3.13.0-24-generic 3.13.0-24.46  

इसी तरह के उत्पादन की उम्मीद:

$ yum list kernel-headers --showduplicates
Loaded plugins: langpacks, refresh-packagekit
Installed Packages
kernel-headers.x86_64 3.11.10-301.fc20 @fedora
Available Packages
kernel-headers.x86_64 3.11.10-301.fc20 fedora 
kernel-headers.x86_64 3.14.4-200.fc20 updates

यह मुझे एक डाउनग्रेड या एक विशिष्ट संस्करण में अपग्रेड करने में मदद करेगा।


क्या आपका मतलब पैकेज नामों के साथ सभी स्थापित पैकेजों के संस्करण को सूचीबद्ध करना था?
अविनाश राज

दोनों को स्थापित और अनइंस्टॉल किया गया है, उपरोक्त कमांड के समान:
आस्कब

निकटतम मैं प्राप्त कर सकता थाdpkg --list | grep linux-image
आस्कब

dpkg --listसभी स्थापित पैकेजों का विवरण दिखाता है।
अविनाश राज

जवाबों:


13

आपके पास सही कमांड है, सिवाय लिनक्स-छवि के एक असली पैकेज नाम नहीं है।

$ apt-cache show linux-image
N: Can't select versions from package 'linux-image' as it is purely virtual
N: No package found

apt-cache showpkgहालांकि असली पैकेज के लिए काम करना चाहिए। जैसे

$ apt-cache showpkg lyx
Package: lyx
Versions: 
2.1.0-1~trusty~ppa4 (/var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 8c75d53cfd29c5b19c2172cb07b7fe9a

2.0.6-1build1 (/var/lib/apt/lists/ftp.iinet.net.au_pub_ubuntu_dists_trusty_universe_binary-amd64_Packages)

यदि आप सभी linux-imageतरह के पैकेज देखना चाहते हैं, तो आप केवल एक खोज कर सकते हैं, जैसे

$ apt-cache search linux-image | grep '^linux-image'

समस्या यह है कि कर्नेल के विभिन्न संस्करण ( linux-image) व्यक्तिगत पैकेज में हैं, और संस्करण के अनुसार स्वतंत्र रूप से नामित किए गए हैं। वे एक पैकेज के सभी संस्करण नहीं हैं।


संपादित करें

यह सभी उपलब्ध पैकेजों को सूचीबद्ध करता है। दिखाने के लिए जो स्थापित है, आप उपयोग कर सकते हैं dpkg -l। जैसे

$ dpkg -l lyx
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                           Version                      Architecture                 Description
+++-==============================================-============================-============================-==================================================================================================
ii  lyx                                            2.1.0-1~trusty~ppa4          amd64                        Document Processor

EDIT2

अलग-अलग लेकिन इसी तरह के नामित पैकेजों (जैसे linux-image*) के बारे में जानकारी प्राप्त करने का एक और तरीका है aptitude search

$ aptitude search linux-image

आप इस अटपटे बग / सुविधा को प्राप्त करने के लिए इस अजीब सिंटैक्स का उपयोग करके grep के साथ फ़िल्टर कर सकते हैं ।

$ aptitude -w $COLUMNS search linux-image | grep '32 bit'

iपहले कॉलम में एक आपको बताता है कि यह पहले से इंस्टॉल है। man aptitudeअन्य पात्रों के लिए देखें ।


आउटपुट जो मुझे yumस्पष्ट रूप से मिलता है, जो स्थापित, अनइंस्टॉल और उपलब्ध है।
आस्कब

ठीक है। आपको संभवतः इसे अपने प्रश्न में जोड़ना चाहिए, क्योंकि कई उबंटू उपयोगकर्ता (स्वयं सहित) यह नहीं जानते हैं कि आउटपुट क्या yumपैदा करता है। मैंने उत्तर में अधिक जानकारी जोड़ी है।
स्पार्कहॉक

@askb संपादन के लिए धन्यवाद। जैसा कि मेरे जवाब में कहा गया है, मुझे लगता है कि समस्या का एक हिस्सा यह है कि उबंटू संस्करण के आधार पर प्रत्येक कर्नेल का नाम बदलता है, जबकि फेडोरा संस्करण की परवाह किए बिना एक ही नाम का उपयोग करता है। पूर्व का एक लाभ यह है कि आप एक ही बार में कई संस्करण स्थापित कर सकते हैं, और समस्या होने पर ग्रब पर पुराने संस्करण में रोलबैक कर सकते हैं। किसी भी मामले में, apt-cache searchरणनीति को काम करना चाहिए।
स्पार्कवाक

प्रतिक्रिया के लिए धन्यवाद, rpmआधारित स्थापनाओं के साथ संभवतः कर्नेल के कई संस्करण स्थापित किए गए जब तक कि संस्करण भिन्न होते हैं, लेकिन यह आमतौर पर rpm आधारित स्थापना के सभी पैकेजों के लिए लागू नहीं होता है या सीधे AFAIK को आगे नहीं बढ़ाता है। हालांकि, मैं अभी भी एक साफ रास्ता खोजने की कोशिश कर रहा हूं, जहां मुझे उबंटू पर स्थापित और उपलब्ध (रेपो में) दोनों के विवरण मिले हैं, जहां तक apt-cache search विचार जाता है, केवल स्थानीय पैकेज पर लागू होता है और रिपोज में नहीं दिखता है । सबसे नज़दीकी मैं साथ थाshowpkg
आस्कब

@askb नहीं, apt-cache searchस्थानीय रूप से नहीं, रेपो में दिखता है। AFAIK यह आपको स्थानीय रूप से स्थापित पैकेजों के बारे में कुछ नहीं बताता है। dpkgमेरे पहले संपादन के अनुसार आपको इसके लिए आवश्यकता है । मैंने एक दूसरे एडिट में जोड़ा है जो कि एक एकल कमांड है जो कि गुठली पर लागू होता है।
स्पार्कहॉक

8

मुझे लगता है कि आप apt-cache में मैडिसन कमांड ढूंढ रहे हैं :

apt-cache madison chromium-browser

आउटपुट:

chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://archive.ubuntu.com/ubuntu/ trusty-updates/universe amd64 Packages
chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://security.ubuntu.com/ubuntu/ trusty-security/universe amd64 Packages
chromium-browser | 34.0.1847.116-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

सभी उपलब्ध संस्करणों और उनसे आने वाले रेपो का त्वरित संदर्भ दिखाता है। यह बहुत अच्छा है यदि आप किसी पैकेज के लिए पीपीए का उपयोग करते हैं और पीपीए और मुख्य प्रतिनिधि के बीच संस्करणों में अंतर की जांच करना चाहते हैं।

मैन पेज से मैडिसन पर अधिक जानकारी:

madison pkg...
           apt-cache's madison command attempts to mimic the output format and a subset of the functionality of the Debian archive management tool,
           madison. It displays available versions of a package in a tabular format. Unlike the original madison, it can only display information
           for the architecture for which APT has retrieved package lists (APT::Architecture).

0

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

$ dpkg --get-selections | grep -v deinstall | grep linux-image

लिनक्स कर्नेल मेटा-पैकेज को डेबियन पर कहा जाता है linux-image-generic

$ apt-cache madison linux-image-generic

एपीटी रिपॉजिटरी में उपलब्ध सभी संस्करण आपको देगा (जरूरी नहीं कि आपके सिस्टम पर इंस्टॉल हो)।


-1

क्या आपने एक पुराने कर्नेल को बूट करने की कोशिश की है, और टर्मिनल में दर्ज करें:

showpkg kernel-header.list

और मुझे लगता है कि यह बूट डायरेक्टरी में हो सकता है, और वहां पर सभी कर्नेल देता है, और यह ठीक काम कर सकता है।

और फिर आप टर्मिनल में इसे डाउनग्रेड करने के लिए बस टाइप कर सकते हैं:

 sudo apt-get -y --force-yes purge linux-shim-efi shim-amd64-generic linux-shim-amd64 

और यह इस तरह ठीक काम कर सकता है।


मुझे यकीन नहीं है कि इसका क्या मतलब है। कोई है /dirctory, /directoryया /grubअपने सिस्टम पर है, और कोई फ़ाइल कहा जाता है kernel-headers.list। इसके अलावा, एक स्थानीय फ़ाइल पढ़ने से आपको शायद यह नहीं पता होगा कि दूरस्थ संस्करण क्या उपलब्ध हैं। -1 (लेकिन अगर आप स्पष्ट कर सकते हैं तो मैं वापस लौटूंगा)।
स्पार्कहॉक

मैं शायद बूट निर्देशिका में / जहां ग्रब फ़ाइल देता है मतलब है।
माइकल

मैं में कोई फ़ाइल है /boot/kernel-headers.list। हालाँकि, आप स्थापित गुठली की सूची (जैसे) से प्राप्त कर सकते हैं /boot/grub/grub.cfg, लेकिन फिर, यह केवल स्थानीय रूप से स्थापित गुठली है, न कि रेपो में दूरस्थ संस्करण।
स्पार्कहॉक

मैं शायद नहीं है कि यह विस्तार है .cfg / बूट
माइकल

मैं से सभी फ़ाइलों के माध्यम से चला गया find /boot -name '*.cfg', लेकिन उनमें से कोई भी कर्नेल के दूरस्थ संस्करणों के बारे में जानकारी नहीं रखता है।
स्पार्कहॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.