เรื่องของ repository

พอดีผมใช้ไปใช้มาแล้วค่อนข้างสับสนครับ ขออนุญาติถามเป็นข้อๆ แล้วกันครับ
-ตอนนี้ผมใช้ debian etch อยู่ ซึ่งเป็น stable ใช้หรือไม่ครับ ถ้าผมต้องการจะใช้ package ที่ไม่อยู่ใน stable ผมต้องปรับ repository ว่าอย่างไรครับ คือต้องการใช้แค่บาง package เท่านั้นครับ ไม่ได้ต้องการทั้งหมด
-แล้วถ้าตอนนี้ผมลง etch อยู่ครับผมต้องการใช้ package ที่ใหม่ล่าสุดทุกอย่างผมควรปรับ Repository ว่าไงครับ
- main, contrib, non-free ต่างกันอย่างไรครับ non-free พอเข้าใจ แต่ main กับ contraib นี่แยกไม่ออกครับ

ขอบคุณทุกคำตอบนะครับ ผมเคยอ่านที่พี่ๆทั้งหลายเขียนไว้แล้วแต่ไม่รู้ปรับแต่อย่างไร พอดีลองแล้ว error ครับ เลยงง

ถ้าจะใช้ของใหม่แค่บางส่วน วิธีที่ไม่เสี่ยงคือใช้ backports ครับ (วิธีการ) นอกเหนือจาก debian-security และ debian-volatile ที่ควรจะเพิ่มไว้อยู่แล้ว

/etc/apt/sources.list:

# debian-backports
deb http://www.backports.org/debian etch-backports main contrib non-free

# debian-security
deb http://security.debian.org/ etch/updates main contrib non-free

#debian-volatile
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

การ update security กับ volatile ก็ใช้วิธีปกติ ส่วน backport ต้องใช้ตัวเลือก -t etch-backports ประกอบเวลาเรียก apt เช่น

# apt-get -t etch-backports install package

ถ้าจะใช้ etch ปนกับ lenny/sid ก็เพิ่มบรรทัดของ lenny หรือ sid โดยแทนที่ etch ด้วย lenny หรือ sid เช่น ถ้าจะใช้ lenny:

deb http://linux.thai.net/debian lenny main contrib non-free

แล้วเวลาติดตั้งแพกเกจจาก lenny ก็ใช้ -t lenny ในทำนองเดียวกัน แต่วิธีนี้จะเสี่ยงต่อการดึงแพกเกจเพิ่มมามากมายกว่าการใช้ backports

อ้อ.. ลืมไปอีกเรื่อง คือ Etch and a Half ครับ ตรงนี้เป็นกึ่ง ๆ ระหว่าง etch กับ backports คือเป็นแหล่งของ update ที่จะออกเป็น release ถัดไปของ etch (4.0r4):

deb http://linux.thai.net/debian etch-proposed-updates main contrib non-free

แน่นอนว่าแพกเกจจะไม่ใหม่เท่า backports ครับ

กรณีที่ต้องการใช้ของใหม่ทั้งหมด เช่น จะปรับจาก etch เป็น lenny ก็แก้บรรทัดใน apt source โดยแก้ etch เป็น lenny ทั้งหมด แล้วใช้คำสั่ง

# apt-get update
# apt-get dist-upgrade

main, contrib, non-free:

  • main คือส่วนหลักของ debian ประกอบด้วยแพกเกจที่โอเพนซอร์สล้วน ๆ และไม่ต้องอิงอาศัยซอฟต์แวร์ non-free ใด ๆ
  • non-free คือส่วนเสริม เป็นที่รวมของแพกเกจที่ไม่โอเพนซอร์สล้วน ๆ แต่สามารถแจกจ่ายได้
  • contrib เป็นที่รวมของแพกเกจที่ตัวของมันเองโอเพนซอร์ส แต่ต้องอาศัยแพกเกจในภาค non-free

ขอบคุณคุณเทพครับ ความรู้แน่นเลย น่าจะทำเป็นบทความได้เลยนะครับเนี่ย สรุปว่าถ้าต้องการใช้ package ใหม่ๆ ที่ไม่ต้องการให้กระทบกับ etch ก็คือใช้ backports แล้วเจ้า lenny นี่เป็นตัวทดสอบที่จะออกมาแทน etch ใช้หรือเปล่าครับ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้