ติดตั้งแพ็กเกจจากรีลีสที่ใหม่กว่าโดยไม่ต้องสร้าง


34

ฉันต้องการแพ็คเกจเหล่านี้ด้วยเวอร์ชันอัปสตรีมล่าสุดที่ backported สำหรับ 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
  • pcscd_1.8.1-0ubuntu1_amd64.deb pcsc-tools_1.4.18-0ubuntu1_amd64.deb

ฉันพยายามสร้างจากแหล่งที่มาพร้อมอัปเดต แต่มันล้มเหลว ฉันไม่ใช่ผู้เชี่ยวชาญด้านบรรจุภัณฑ์และมีบทเรียนและสูตรอาหารมากมายที่นั่น

คุณรู้หรือไม่ว่าบทเรียนที่ดีและเป็นปัจจุบันเกี่ยวกับ backporting แพ็คเกจของ Ubuntu?

ฉันจะรับแพ็กเกจจากรีลีสอื่นโดยไม่ต้องสร้างเองได้อย่างไร

คำตอบ:


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 updateapt-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) 

ด้วยเหตุผลบางอย่าง pcscd และ opensc ไม่ได้รับการติดตั้งอาจเป็นเพราะมันไม่ได้ถูกติดตั้งเพื่อเริ่มต้นดังนั้นจึงไม่มีอะไรที่ต้องอัพเกรดไม่มีเรื่องใหญ่เลยฉันสามารถติดตั้งเวอร์ชั่นนั้นได้อย่างแม่นยำโดยใช้การอ้างอิงเช่นนี้

apt-get install opensc pcscd -t precise

รับทราบการใช้งานของ-t, packagename/preciseนอกจากนี้ยังจะทำงาน

และมีแพ็คเกจที่คุณต้องการตั้งแต่รีลีสล่าสุดและเฉพาะแพ็คเกจเหล่านั้นเท่านั้นแพ็คเกจเหล่านั้นจะได้รับการอัพเดตโดยอัตโนมัติ หากคุณไม่ต้องการอีกต่อไปเพียงแค่ลบรายการจาก/etc/apt/preferencesและในครั้งต่อไปที่คุณเรียกใช้apt-get upgradeพวกเขาจะถูกลบออก หากคุณลบไฟล์ prefs ทั้งหมดอย่าลืมลบprecise.listไฟล์ต้นฉบับนั้นด้วยระบบของเราจะพยายามอัปเดตแพคเกจชุดล่าสุด นอกจากนี้หากคุณตัดสินใจที่จะอัปเกรดในภายหลังคุณจะต้องลบไฟล์ prefs ทั้งหมดและอาจเป็นความคิดที่ดีที่จะลบแหล่งข้อมูลอื่นรายการที่น้อยกว่าการอัพเกรดจะพบได้เนื่องจากมีลำดับความสำคัญสูงกว่า ไม่มีแพ็คเกจที่จะอัปเดต

การปักหมุดที่ชาญฉลาดนั้นไม่ใช่เรื่องยากคุณเพียงแค่ขุดและทดลองสักหน่อย คำกริยาทั้งหมดสำหรับn=ฯลฯ apt-cache policyจะพบได้โดยการตรวจสอบ

นี่คือเหตุผลที่ผู้ดูแลระบบเก๋าโวยวายและคลั่งเกี่ยวกับ apt vs yum คุณสามารถอัพเดตบริการอย่างย่อและทำให้ทันสมัยอยู่เสมอในลักษณะที่สะอาดกำหนดและบำรุงรักษาได้

ไม่มีแพ็คเกจการรวบรวมอีกต่อไป

ฉันขอแนะนำให้คุณอ่าน man page ทั้งหมดและคุ้นเคยกับแนวคิดและอ่านคำแนะนำอื่น ๆ เกี่ยวกับการปักหมุดก่อนดำเนินการตามข้อเสนอนี้ ขอให้โชคดีและสนุก!

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


นี่เป็นคำตอบที่ดี แต่ไม่ใช่สำหรับฉัน ฉันรู้แล้วว่าปักหมุดอยู่ แต่แพ็คเกจบางตัวนั้นไม่ใช่รุ่นล่าสุดอย่างแม่นยำและบางตัวมีข้อผิดพลาด (opensc) ดังนั้นฉันต้องการมีแหล่งล่าสุด
Janning

ถ้างั้นคุณก็อยู่ในโหมดการพัฒนาจริงๆดูที่คู่มือ UDD ดูdeveloper.ubuntu.com/packaging/html/getting-set-up.html เมื่อคุณสร้างแพ็กเกจแล้วคุณสามารถส่งแพตช์และในที่สุดก็จัดการกับแพ็คเกจที่คุณสร้างขึ้นเอง การใช้ PPA kinda ช่วยได้ แต่คุณต้องทำให้ข้อมูลพื้นฐานด้านบรรจุภัณฑ์ลดลงก่อนหรือรอประมาณ 10 นาทีเพื่อหาข้อผิดพลาดในการสร้างลบ deb จาก PPA ล้างซ้ำ คุณยังคงสามารถใช้คำตอบก่อนหน้าร่วมมือกับ PPA ใหม่เพื่อให้แน่ใจว่าแพคเกจเหล่านั้นได้รับความสำคัญเหนือเส้นฐานจนกว่าพวกเขาจะหาทางเข้าสู่การอัพเดท
ppetraki

คู่มือบรรจุภัณฑ์ของ Ubuntu: developer.ubuntu.com/packaging/html/index.html
ppetraki

ด้วยวิธีนี้คุณชอบทั้งแพ็คเกจ amd64 และ i386 ในแพ็คเกจเดียวกันได้อย่างไร?
qed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.