วิธีการติดตั้งแพคเกจจาก Debian“ ไม่เสถียร” บนคอมพิวเตอร์ที่ใช้ Debian“ เสถียร”


16

บนคอมพิวเตอร์ที่ใช้ Debian "เสถียร" เมื่อพยายามติดตั้งแพคเกจซึ่งอยู่ในรายชื่อที่ไม่เสถียรบนเว็บไซต์ Debian โดยใช้aptitude install <package>/unstableคำสั่งฉันจะได้ผลลัพธ์คล้ายกับนี้:

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

ฉันจะทำอย่างไรเพื่อให้สามารถติดตั้งแพ็คเกจ "ไม่เสถียร" ได้ (ฉันคิดว่าจะเพิ่มที่เก็บข้อมูลลงไปsources.listแต่ฉันไม่ต้องการให้ทุกอย่างเริ่มติดตั้งจาก "ไม่เสถียร")

ดังนั้น: ฉันจะติดตั้งแพคเกจที่ไม่เสถียรได้อย่างไร (เมื่อใช้/stableที่ท้ายชื่อแพ็คเกจ)


ดูunix.stackexchange.com/q/112157/4671สำหรับคำตอบเชิงลึกสำหรับคำถามนี้
Faheem Mitha

1
รุ่นสั้น: ไม่ อีกรุ่น: ไม่ทำเช่นนี้ ใช้ backport ถ้าคุณต้องการ แต่อย่าผสมเสถียร / ไม่เสถียร
Shadur

ฉันเชื่อว่าสิ่งนี้เรียกว่า "FrankenDebian": "Debian Stable ไม่ควรใช้ร่วมกับรีลีสอื่น ๆ หากคุณพยายามติดตั้งซอฟต์แวร์ที่ไม่มีใน Debian Stable ปัจจุบันคุณไม่ควรเพิ่มที่เก็บสำหรับ รุ่น Debian อื่น ๆ ปัญหาอาจไม่เกิดขึ้นทันที แต่ในครั้งต่อไปที่คุณติดตั้งโปรแกรมปรับปรุง " จากการไม่ทำลาย Debian
malan

คำตอบ:


29

คุณไม่จำเป็นต้องมีการระบุไว้ในของคุณunstable sources.listมิฉะนั้น apt จะไม่พบแพ็คเกจ

เพื่อหลีกเลี่ยงunstableแพคเกจที่ถูกดึงเข้ามาคุณมีสองวิธี

  • วิธีที่ง่ายคือการเพิ่มส่วนDefault-Releaseคำสั่งไปยัง/etc/apt/apt.conf(หรือไปยังไฟล์ภายใต้/etc/apt/apt.conf.d/เช่น/etc/apt/apt.conf.d/my-default-release)

    APT::Default-Release "stable";
    
  • วิธีที่ยากคือการใช้การตั้งค่า APT ใน/etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

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

หากคุณกำลังทำงานอย่างมั่นคง แต่คุณต้องการแอปพลิเคชั่นรุ่นที่ใหม่กว่าอันดับแรกให้ดูว่ามีbackportสำหรับแอปพลิเคชันหรือไม่ มิฉะนั้นถ้าคุณต้องการติดตั้งแพคเกจจากความไม่แน่นอน แต่ไม่จำเป็นต้องดึงมันขึ้นมาให้ลองเอาแหล่งที่มาจากความไม่เสถียรและการคอมไพล์ซ้ำ

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb

2
+1 สำหรับการกล่าวขวัญ backports แต่คุณควรชี้ให้เห็นอย่างเด่นชัดมากขึ้นว่าการผสมมีเสถียรภาพ / ไม่แน่นอนมันเลือดอันตรายและถ้าคุณไม่ได้รู้ว่าสิ่งที่คุณทำคุณไม่ควรทำเช่นนี้ในระบบการผลิต
Shadur
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.