Debian Repository
คัดมาจาก comment ของ neutron นะครับ แนะนำว่า ถ้ามีคำตอบละเอียดอย่างนี้ สามารถ submit เป็นบทความขึ้นหน้าแรกได้นะครับ
บทความนี้น่าสนใจมากครับ สำหรับคนที่พอจะคุ้นเคยกับ Debian มาบ้างแล้ว ก็คงเข้าใจกันดี แต่สำหรับมือใหม่ที่เพิ่งจะเริ่มหัดใช้ Debian Package Management ในลักษณะนี้ คงจะงง ๆ กันบ้าง ว่า เราจะใช้ aptitude กันตอนไหน และเจ้า aptitude ไปดึง package ต่าง ๆ มาจากที่ใด เพราะสิ่งที่เกิดขึ้นก็คือ ทำไมสั่ง aptitude เพื่อลงโปรแกรมไปแล้ว ต้องนั่งรนาน ๆ โหลดได้ทีละไม่กี่ KB/s อะไรประมาณนี้
ก่อนอื่นมาตามหา แหล่งเก็บ package ต่าง ๆ ของ Debian กันนะครับ ... อย่างที่พี่เทพบอกเสมอ ๆ ว่า Debian เป็น Distro ที่ครอบจักรวาล
- มีหลาย Architech ให้เลือกที่จะติดตั้ง ไม่ว่าจะเป็น i386,amd64, powerpc, arm ฯลฯ
- มี package จำนวนมากให้เลือกที่จะติดตั้ง
- เป็น package ที่เรียกได้ว่ามีคุณภาพสูง มีการแก้ไขปรับปรุงแทบจะเรียกได้ว่าตลอดเวลา
ทำให้เครื่องที่จะใช้เก็บ package ต่าง ๆ นี้ ต้องมีเนื้อที่ของฮาร์ดดิสก์ขนาดใหญ่มาก ถ้าจะต้องเก็บทั้งหมด ลองตามหาต่อไป ก็จะพบกับคำที่คุ้นเคยกันดี ในแวดวงลินุกซ์ครับ ก็คือ คำว่า Mirror sites แต่เป็นสมัยก่อนที่อินเตอร์เน็ตในบ้านเรายังไม่ค่อยพัฒนา การใช้งาน Mirror sites ของเราก็จะเป็นในแง่ของการ Download ISO ไฟล์ หรือก็คือไฟล์ที่เป็นสำเนาของแผ่น CD ที่ใช้ในการติดตั้ง ถึงทุกวันนี้ก็ยังใช้กันอยู่ อาจจะมีรูปแบบอื่น ๆ เพิ่มขึ้นมาเช่นเป็นแผ่น DVD ซึ่งทำให้จำนวนแผ่นในการติดตั้ง Linux ลดลงไปมาก อาจเหลือแค่แผ่นเดียว
แต่อย่างที่กล่าวมาแล้วครับว่า package ของ Debian มีจำนวนมาก ถ้าต้องโหลดมาทั้งหมดแล้วค่อยติดตั้งก็ทำได้ แต่ไม่นิยมทำกัน ดังนั้น Mirror ของ Debian จึงเป็นที่เก็บ package ย่อย ๆ ทั้งหลาย พร้อมทั้งตัว Installer ที่ใช้ในการติดตั้ง ซึ่งมีหลายตัวให้เลือก แต่ที่ผมชอบก็เห็นจะเป็น Debian Net Installer ครับ เพราะเล็กดี โหลดไม่นานก็ใช้ได้แล้ว ไม่พูดพร่ำทำเพลงมากไปดู Mirror ของ Debian กันเลยครับ
ถ้าเข้าไปดูที่ http://www.debian.org/mirror/list
ก็จะพบกับนิยามของ Debian Mirror คือ
- Primary Mirror: เป็น Mirror หลักที่เปิดให้ใช้ตลอด 24 ชั่วโมง เก็บ package ที่ update ล่าสุด เก็บทุก Architech มีชื่อที่จดจำง่าย ftp..debian.org เช่น ftp.us.debian.org, ftp.jp.debian.org เป็นต้น
- Secondary Mirror: เป็น Mirror ที่เก็บบางส่วน หรืออาจจะทั้งหมดของ Debian Mirror อันเนื่องมาจากข้อจำกัดเรื่องเนื้อที่เก็บข้อมูล และอาจมีข้อมูลไม่ update เท่า Primary Mirror
แต่เท่าที่ดูแล้วของประเทศไทยที่อยู่ ใน Mirror list ของ Debain มีสองที่
TH Thailand
-----------
ftp.nectec.or.th /pub/linux-distributions/Debian/
==> Mirror [alpha amd64 arm hppa hurd-i386 i386 ia64 m68k mips mipsel powerpc s390 sparc]
ftp.coe.psu.ac.th /debian/
==> Mirror [i386]
ซึ่งเท่าที่ทดสอบดู Mirror ที่ PSU ผมลองแล้วแต่ความเร็วไม่เป็นที่น่าพอใจ อาจเป็นเพราะผมอยู่คนละเครือข่ายกับ Server และก็ที่นั่นอาจมีภาระงานมากอยู่แล้ว ส่วนที่ NECTEC ก็ค่อนข้างเร็ว แต่ผมไม่ค่อยได้ใช้ที่นี่เพราะมีที่หลัก ๆ ใช้แล้ว แต่ว่าไม่ได้อยู่ใน list คือ
linux.thai.net /debian
mirror.in.th /debian
ซึ่งความเร็วก็ค่อนข้างดี
หลังจากที่รู้จัก Debian Mirror กันไปแล้ว มาลองตั้งค่าเพื่อจะใช้ Mirror ที่ต้องการกันครับ
ไฟล์ที่เก็บข้อมูลเกี่ยวกับ Debian Mirror ที่เราเลือกไว้แล้วคือ
/etc/apt/sources.list
โดยใช้ โปรแกรมแก้ไขข้อความที่คุณถนัด (ผมถนัดใช้ Vim) และเพิ่มข้อความข้างล่างเข้าไป
deb ftp://linux.thai.net/debian/ [sid/etch/sarge] main contrib non-free deb-src ftp://linux.thai.net/debian/ [sid/etch/sarge] main contrib non-free
โดยที่
- deb และ deb-src คือ package และ source code package ตามลำดับ หากไม่ต้องการจะใช้ source code ก็ไม่จำเป็นต้องใส่ deb-src ลงใน sources.list อาจจะใช้วิธี comment ไว้ โดยเพิ่มเครื่องหมาย "#" ไว้ข้างหน้า deb-src
- [sid/etch/sarge] เป็นชื่อเรียก distribution ของ Debian โดยเลือกอย่างใดอย่างหนึ่ง ซึ่งความหมายของแต่ละชื่อเป็นอย่างนี้คือ
sarge :stable - รุ่นที่มีความเสถียร
etch :testing - คือ รุ่นที่อยู่ในการทดสอบ หากไม่มี Bugs ก็พร้อมที่จะเปลี่ยนเป็น stable รุ่นถัดไป
sid :unstable - รุ่นที่อยู่ในระหว่างพัฒนา มีการเปลี่ยนแปลง และยังมี Bugs ให้ตามแก้ เหมาะสำหรับนักพัฒนา และผู้ที่สนใจใน package ใหม่ ๆ ของ Debian
ส่วน main, contrib, non-free เป็น Package Section Debian ไม่ต้องเลือกทั้งหมดก็ได้ หากไม่ได้ใช้ แต่ต้องมีหลัก ๆ คือ main
*** รายละเอียดเพิ่มเติมที่ Debian Technology โดย เทพพิทักษ์ การุญบุญญานันท์
หลังจากที่เลือก distribution และ section ที่ต้องการเป็นที่เรียบร้อยแล้ว เราก็มาทำการ update list ในเครื่องเรา โดยการสั่งคำสั่งนี้ต้องมีสิทธิเป็น root หรือเทียบเท่าก่อนนะครับ
# aptitude update netgate:~# aptitude update Get:1 ftp://linux.thai.net etch Release.gpg [189B] Get:2 ftp://linux.thai.net etch Release [74.4kB] Get:3 ftp://linux.thai.net etch/main Packages [4218kB] Get:4 ftp://linux.thai.net etch/contrib Packages [51.1kB] Get:5 ftp://linux.thai.net etch/non-free Packages [76.0kB] Fetched 4419kB in 2m50s (25.9kB/s) Reading package lists... Done #
แค่นี้ก็เป็นอันเรียบร้อยแล้ว หลังจากนั้นก็ใช้คำสั่ง aptitude
เพื่อทำการลงโปรแกรมต่าง ๆ ต่อไป แต่ตอนนี้เราเลือก Mirror
ที่ใกล้เราที่สุด ก็จะทำให้ความเร็วในการดึงข้อมูลน่าจะดีขึ้น :)










Recent comments
18 hours 38 min ago
2 days 2 min ago
2 days 22 hours ago
3 days 37 min ago
3 days 13 hours ago
5 days 20 hours ago
5 days 22 hours ago
5 days 22 hours ago
1 week 13 hours ago
1 week 2 days ago