ฉันจะเปิดใช้งานแพคเกจที่ไม่ใช่ฟรีใน Debian ได้อย่างไร


47

ฉันจะเปิดใช้งานแพคเกจที่ไม่ใช่ฟรีใน Debian ได้อย่างไร ฉันต้องการติดตั้ง Java JDK ของ Sun แต่ไม่สามารถใช้ได้

คำตอบ:


49

เปิดขึ้น/etc/apt/sources.listและคุณจะเห็นบรรทัดดังต่อไปนี้ (URL อาจแตกต่างกัน):

deb http://http.us.debian.org/debian stable main contrib

เพียงเพิ่มnon-freeไปยัง URL ที่คุณต้องการใช้เช่น:

 deb http://http.us.debian.org/debian stable main contrib non-free

การทำงานapt-get updateจะอัพเดท repo ในพื้นที่ของคุณด้วยรายชื่อแพ็คเกจ


19

นอกจากนี้คุณยังสามารถจำกัด ได้เพียงเล็กน้อยถ้าคุณต้องการแพคเกจบางอย่างที่ไม่ต้องการ(ตัวอย่างเช่นเฟิร์มแวร์สำหรับฮาร์ดแวร์ของคุณ)

หากต้องการทำเช่นนั้นให้รักษา/etc/apt/sources.listตามที่อธิบายไว้โดย @Andrew M. จากนั้นใช้ Apt Pinning เพื่อปิดใช้งานโดยค่าเริ่มต้นแพ็คเกจที่ไม่ฟรีทั้งหมดสำหรับการเปิดตัวปัจจุบันของคุณ:

สร้างไฟล์ชื่อ/etc/apt/preferences.d/non-free_policyที่มีคำสั่งดังต่อไปนี้:

Explanation: Disable packages from non-free tree by default
Package: *
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: -1

ตอนนี้สร้างไฟล์อื่นสำหรับแพ็คเกจเฉพาะที่คุณต้องการจากที่ไม่ใช่ฟรี
สมมติว่าคุณต้องการเพิ่มไดรเวอร์ Intel สำหรับการ์ดไร้สายเช่น (แพ็คเกจfirmware-iwlwifi )
สร้างชื่อไฟล์/etc/apt/preferences.d/firmware-iwlwifi_nonfreeด้วยบรรทัดเหล่านี้:

Explanation: Enable package firmware-iwlwifi from non-free tree
Package: firmware-iwlwifi
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: 600

การกำหนดค่านี้หลีกเลี่ยงการทำให้แพคเกจของคุณมีแพ็คเกจที่ไม่น่ารำคาญเหล่านี้ )


3
ข้อมูลเพิ่มเติมเกี่ยวกับการตรึง apt ที่นี่: wiki.debian.org/AptPreferences
jopasserat

1
อะไรo, a, lและcค่าเฉลี่ยในPin:คำสั่งและวิธีการที่หลายแพคเกจเพิ่ม?
MattBianco

แหล่งกำเนิดการเก็บถาวรฉลากและส่วนประกอบ ตรวจสอบ man page สำหรับรายละเอียดเพิ่มเติมmanpages.debian.org/jessie/apt/apt_preferences.5.en.html
jopasserat

7

วิธีบรรทัดคำสั่งสำหรับคำตอบของ @Andrew M. หากคุณต้องการแพ็กเกจที่ไม่มีค่าใช้จ่ายสำหรับแหล่งที่มาทั้งหมด:

sudo apt-add-repository non-free
sudo apt-get update

คำตอบที่ได้แรงบันดาลใจจาก: https://askubuntu.com/a/553847/67211


สิ่งนี้ทำให้ฉันมีข้อผิดพลาดapt-add-repository: not found
Chris Stryczynski

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