बिना निर्माण के नए रिलीज़ से पैकेज स्थापित करें (उपयुक्त पिनिंग)


34

मुझे ubuntu / natty के लिए नवीनतम अपस्ट्रीम संस्करण के साथ इन पैकेजों की आवश्यकता है

  • libccid_1.4.5-0ubuntu1_amd64.deb
  • libpcsclite1_1.8.1-0ubuntu1_amd64.deb
  • -libpcsclite dev_1.8.1-0ubuntu1_amd64.deb
  • libusb-1.0-0_1.0.9-0ubuntu1_amd64.deb
  • libusb-1.0-0-dev_1.0.9-0ubuntu1_amd64.deb
  • opensc_0.12.2-1ubuntu1ppa1 ~ natty1_amd64.deb
  • PCcd_1.8.1-0ubuntu1_amd64.deb PCc-tools_1.4.18-0ubuntu1_amd64.deb

मैंने उन्हें अद्यतन के साथ स्रोत से बनाने की कोशिश की लेकिन यह विफल रहा। मैं पैकेजिंग का विशेषज्ञ नहीं हूं और वहां बहुत सारे ट्यूटोरियल और रेसिपी हैं।

क्या आप उबंटू पैकेज के बैकपोर्टिंग के लिए एक अच्छा और अप टू डेट ट्यूटोरियल जानते हैं?

मैं खुद को बनाने के लिए बिना अन्य रिलीज के पैकेज कैसे प्राप्त करूं?

जवाबों:


36

आप उपयुक्त पिनिंग की खोज के लिए बहुत बेहतर होंगे, देखें man apt_preferences

मान लेते हैं कि आप Oneiric पर हैं और आप उन पैकेजों को Precise से प्राप्त करना चाहते हैं।

यदि आप पढ़ते हैं तो manआप देखेंगे कि मैंने संबंधित अनुभागों को कॉपी / पेस्ट कर दिया है और केवल रिलीज़ नाम को संशोधित किया है

/etc/apt/preferences:

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10

फिर, मैं अपने प्रतिलिपि बनाई /etc/apt/sources.listकरने के लिए /etc/apt/sources.list.d/precise.listऔर सटीक साथ oneiric की सभी घटनाओं को बदल दिया। फिर भागे apt-get updateऔर आखिर में apt-get upgrade

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
 Fetched 86.0 kB in 0s (124 kB/s) 

किसी कारण के लिए, PCcd और Openc स्थापित नहीं हुए, शायद इसलिए कि इसे शुरू करने के लिए स्थापित नहीं किया गया था इसलिए उन्नयन के लिए कुछ भी नहीं था, कोई बड़ी बात नहीं, मैं सटीक रूप से इस तरह के संदर्भ के रूप में उपयोग करके उस संस्करण को स्थापित कर सकता हूं।

apt-get install opensc pcscd -t precise

के उपयोग पर ध्यान दें -t, packagename/preciseयह भी काम करेगा।

और नवीनतम रिलीज़ से आप जो पैकेज चाहते हैं, और केवल वे पैकेज हैं , वे भी अपने आप अपडेट हो जाएंगे। यदि आप उन्हें अब और नहीं चाहते हैं, तो केवल प्रविष्टियों को हटा दें /etc/apt/preferencesऔर अगली बार जब आप चलाएंगे तो apt-get upgradeउन्हें हटा दिया जाएगा। क्या आपको पूरी प्रीफ़्स फ़ाइल को हटा देना चाहिए, उस precise.listस्रोत फ़ाइल को हटाना सुनिश्चित करें, साथ ही हमारा सिस्टम संकुल के नवीनतम सेट में अपडेट करने का प्रयास करेगा। यदि आप बाद में डिस्ट-अपग्रेड करने का निर्णय लेते हैं, तो आपको पूरी प्रीफ़्स फ़ाइल को हटाने की आवश्यकता होगी और यह संभवतः अन्य स्रोतों को हटाने के लिए एक अच्छा विचार होगा। कम अपग्रेड मिल जाएगा, उच्च प्राथमिकता के लिए धन्यवाद, कि वहाँ हैं अद्यतन करने के लिए कोई पैकेज नहीं।

एप्ट पिनिंग इतना कठिन नहीं है, आपको बस थोड़ा सा खुदाई करने और प्रयोग करने की आवश्यकता है। n=आदि के लिए सभी क्रियाएं जांच द्वारा पाई जाती हैं apt-cache policy

यही कारण है कि अनुभवी रेंट और उपयुक्त बनाम यम के बारे में बात करते हैं। आप सेवाओं को संक्षिप्त रूप से अपडेट कर सकते हैं और उन्हें स्वच्छ, निर्धारक, और रखरखाव योग्य तरीके से अद्यतित रख सकते हैं।

कोई और अधिक संकलन पैकेज भी नहीं।

मैं दृढ़ता से सुझाव देता हूं कि आप पूरे आदमी पृष्ठ को पढ़ें और अवधारणा के साथ सहज हो जाएं और इस प्रस्ताव को जारी रखने से पहले उपयुक्त गाइड पर अन्य गाइड पढ़ें। गुड लक और मजा करें!

https://help.ubuntu.com/community/PinningHowto


यह एक महान जवाब है, लेकिन मेरे लिए नहीं। मुझे पहले से ही पता है, लेकिन कुछ पैकेज सटीक में नवीनतम संस्करण नहीं हैं और कुछ में बग (ओपनसी) हैं। इसलिए मैं वास्तव में नवीनतम स्रोत रखना चाहता हूं।
शाम

फिर आप वास्तव में विकास मोड में हैं, UDD गाइड देखें। डेवलपर देखें .ubuntu.com/ packaging/ html/getting- set- up.html । एक बार आपके पास पैकेज बन जाने के बाद आप पैच जमा कर सकते हैं और अंततः अपने स्थानीय रूप से निर्मित लोगों के साथ दूर कर सकते हैं। PPA थोड़े का उपयोग करने से मदद मिलती है, लेकिन आपको पैकेजिंग की मूल बातें पहले प्राप्त करने की आवश्यकता होती है या आप केवल 10 मिनट प्रतीक्षा कर रहे हैं यह जानने के लिए कि आपने बिल्ड गलती की है, PPA से बहस को हटा दें, फिर से कुल्ला करें। आप अभी भी एक नए पीपीए के साथ पिछले उत्तर सह-ऑप का उपयोग कर सकते हैं ताकि यह सुनिश्चित हो सके कि उन पैकेजों को आधार रेखा पर प्राथमिकता मिलती है, जब तक कि वे अपने रास्ते में नहीं आते।
20

उबंटू पैकेजिंग गाइड: developer.ubuntu.com/packaging/html/index.html
ppetraki

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