ส่วนใหญ่ถ้าใช้ Debian เป็น Desktop แล้วใช้ repo ไหนกันครับ

ตอนนี้กำลังเบื่อ Kubuntu แล้ว (ขี้เกียจตามน่ะ :P) กำลังอยากจะเปลี่ยนไปลง Debian แทนครับ จริงๆ ก็สนใจ Gentoo เหมือนกันแต่คิดว่ามันค่อนข้างจะเสียเวลาทำมาหากินไปหน่อย

เลยอยากถามว่า ถ้าใช้ Debian เป็น Desktop แล้วใช้ repositories ไหนกันครับ stable, testing, unstable, non-free หรือ unofficial repo

ว่าแล้วก็เลยอยากจะถามต่ออีกว่า ถ้าเลือกใช้อะไรแล้วก็ต้องติดอยู่กับอันนั้นไปเลยใช่ไหมครับ (จนกว่าจะอยากเปลี่ยนทั้งระบบ) รู้สึกเหมือนมีคนใช้ปนๆ กันแล้วเกิด dependency hell

ผมใช้ unstable ครับ ปัญหาเรื่อง dependency มีบ้างตอนที่แพกเกจยังมาไม่ครบ เพราะ debian มีหลาย arch บางที maintainer เขาใช้คนละ arch กับเรา เช่น ผมใช้ amd64 แต่ maintainer อาจ upload i386 + all มา เราก็จะเห็นแต่แพกเกจที่เป็น all แล้วรอรอบต่อไป amd64 deb ที่ build daemon สร้างให้อัตโนมัติถึงจะตามมา ส่วนมากเป็นปัญหาแบบนี้ครับ ซึ่งก็ไม่ยุ่งยากอะไร เพราะ apt/aptitude จะช่วย hold back ไว้ นอกนั้นก็ราบรื่นดี ไม่มีปัญหา

testing จะรอแพกเกจใน unstable ระยะหนึ่ง ถ้าอยู่ครบกำหนด (10 วัน) ได้โดยไม่มีรายงานบั๊กร้ายแรง ถึงจะเข้า testing เพราะฉะนั้น ตอนเข้าก็จะเข้าครบทุก arch ไม่ต้องรอ dependency อย่างที่ว่าข้างต้น แถมมั่นใจได้ระดับหนึ่งว่าปลอดปัญหาร้ายแรง หลายคนอาจจะชอบ แต่ซอฟต์แวร์อาจจะเก่าหน่อยในบางช่วง ถ้าแพกเกจเขามาเป็นล็อตใหญ่ แล้วมีบางแพกเกจมีปัญหา ก็จะยื้อไว้ทั้งยวงเลย แต่ก็ถือว่าทำให้มั่นใจได้ยิ่งขึ้น ว่าปลอดปัญหา dependency

stable นี่ หาคนใช้เป็น desktop ยากมั้งครับ ส่วนมากใช้เป็นเซิร์ฟเวอร์มากกว่า

เรื่องการใช้ข้ามรุ่น หลักโดยทั่วไปก็คือ upgrade จะง่ายกว่า downgrade ครับ เช่น ใช้ stable อยู่ จะ upgrade เป็น testing หรือ unstable ได้ง่ายกว่าการเปลี่ยนจาก unstable ลงมาเป็น testing หรือ testing ลงมาเป็น stable

แล้วก็ ห้ามใช้ debian ผสมกับ ubuntu เด็ดขาด ถ้าไม่อยากเจอ dependency hell :) เพราะ ubuntu เอา debian ไปผ่าตัดเยอะจนอยู่ร่วมกันไม่ได้ แต่ถ้าใช้ debian ล้วน ๆ นอกจากปัญหาเล็ก ๆ น้อย ๆ ข้างต้น ก็ไม่ค่อยเจอปัญหาร้ายแรงอะไรครับ เท่าที่ผ่านมา

"แล้วก็ ห้ามใช้ debian ผสมกับ ubuntu เด็ดขาด ถ้าไม่อยากเจอ dependency hell :) เพราะ ubuntu เอา debian ไปผ่าตัดเยอะจนอยู่ร่วมกันไม่ได้ แต่ถ้าใช้ debian ล้วน ๆ นอกจากปัญหาเล็ก ๆ น้อย ๆ ข้างต้น ก็ไม่ค่อยเจอปัญหาร้ายแรงอะไรครับ เท่าที่ผ่านมา"

ผมติดตั้ง Ubuntu คนละ partition กับ Debian แบบนี้ถือว่าใช้แบบผสมกันหรือเปล่าครับ
น่าจะไม่ใช่นะครับ เพราะเปิดใช้งานทีละตัว

อิ ๆ ผมใช้ sid มาสักสามเดือนได้ (เพราะหลงกลเชื่อคุณเทพ ;D) ยังไม่พบปัญหาเลย
มีช่วงหลัง iceweasel ค้างบ่อยหน่อย เป็นด้วยเรื่องการตัดคำ (ด้วย extension Thai-Wordbreak) กับเรื่องลองทดสอบ Accessibility บางตัวที่ปกติไม่ได้ใช้กันอยู่แล้วครับ
แต่ epiphany เร็วและลื่นมาก

เสถียรกว่าสมัยตอนลองใช้ Ubuntu-Beta เยอะเลยครับ (แต่อาจเกี่ยวกับตอนเปลี่ยนจาก XFree86 มาเป็น Xorg ด้วยก็ได้นะ มันเปลี่ยนเยอะ)

ส่วนเซิร์ฟเวอร์ใช้ stable กับ testing ผสมกันครับ

ระดับคุณ wd ก็สมควรใช้ sid อยู่แล้วแหละครับ :)

ผมพูดถึงปัญหาของ sid ก็เพื่อจะบอกว่า ปัญหามันไม่ร้ายแรง ถ้าเจอ สาเหตุมันก็แค่เนียะแหละ รู้แล้วก็จัดการได้ ที่พูดเพราะเคยได้ยินหลายคนไปแนะ debian ให้ผู้ใช้แล้วเขาบ่นอุบกับปัญหานี้ แล้วก็เลิกใช้ไปเลย หรือไม่ก็ย้ายมา testing แทน จากนั้นก็มาเขียนป่าวประกาศความน่ากลัวของ sid ให้ชาวบ้านฟัง..

เยี่ยมๆ เดี๋ยวเย็นนี้ลง Debian เลยดีกว่า (ใช้ testing ดีกว่า :))

อยากถามอีกข้อคือ เรื่อง codecs/multimedia ทั้งหลายนี่มีปัญหาไหมครับ

ปล. ถ้า login แล้วไม่ต้องมี reCAPTCHA ได้มั้ยครับ (หรือป้องกัน spam bot แบบสมัครสมาชิกหว่า?)

เรื่อง multimedia ผมลง repo เพิ่มครับ

...
deb    http://debianmultimedia.org/debian sid main
...

ตรง sid เปลี่ยนเอาตามรุ่นที่ใช้จริงครับ

ปล. ถ้า login แล้วไม่ต้องมี reCAPTCHA ได้มั้ยครับ (หรือป้องกัน spam bot แบบสมัครสมาชิกหว่า?)

เคยเจอแล้วที่ LTN น่ะครับ ก็ไม่รู้ว่าใส่ reCAPTCHA จะกันได้หรือเปล่า ถ้าเขาใช้คนนั่งโพสต์เลย แต่ก็กันไว้ก่อนครับ เพราะตอน login นั้น ไม่มี CAPTCHA ป้องกันเลยเหมือนกัน เนื่องจาก reCAPTCHA มันกินเนื้อที่ sidebar มากไปถ้าจะใส่ อีกอย่างคืออำนวยความสะดวกขณะ login ด้วย ถ้าเข้ามาโหวตโพลล์อย่างเดียวก็ไม่ต้อง solve CAPTCHA

แต่ก็เซ็ตให้ถาม CAPTHA แค่โพสต์แรกเท่านั้นครับ หลังจาก solve ครั้งแรกแล้ว ก็ไม่ต้อง solve อีกใน session นั้น เสมือนว่า delay CAPTCHA จากตอน login มาที่โพสต์แรกเท่านั้นแหละ

ผมเพิ่งมาใช้ Debian ครับ ใช้ download มาจาก web
ตั้งใจใช้งานเป็น Desktop เต็มตัวเลยครับ ถ้าเป็นแบบนี้

1. ถือว่าผมใช้ repositories แบบไหนครับ ระหว่าง
stable, testing, unstable, non-free หรือ unofficial

2. แล้วข้อเท็จจริง ลำดับเป็นอย่างไรกันแน่ครับ มีกี่ลำดับ และ เรียงกันอย่างไร

3. หากผมต้องการติดตั้งแบบอื่นๆ เพื่อการเรียนรู้ ต้องทำอย่างไรบ้างครับ

ขอบคุณครับ

1. ถือว่าผมใช้ repositories แบบไหนครับ ระหว่าง
stable, testing, unstable, non-free หรือ unofficial

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

วิธีดูง่าย ๆ

$ cat /etc/debian_version
lenny/sid

ถ้าขึ้นแบบนี้ คือเป็น testing (lenny) หรือไม่ก็ unstable (sid) แต่ถ้าเป็นตัวเลข เช่น 4.0 ก็เป็น stable

ดูให้ชัด ๆ ก็ดูที่ /etc/apt/sources.list ครับ เช่น

deb ftp://linux.thai.net/debian unstable main contrib non-free

ตรงที่เอนนั่นแหละครับ ที่บอก ถ้าเป็น stable หรือ etch ก็คือ stable; ถ้าเป็น testing หรือ lenny ก็คือ testing; ถ้าเป็น unstable หรือ sid ก็คือ unstable

2. แล้วข้อเท็จจริง ลำดับเป็นอย่างไรกันแน่ครับ มีกี่ลำดับ และ เรียงกันอย่างไร

เรียงจากใหม่ไปเก่านะครับ:

  • unstable จะเป็นแหล่งแพกเกจใหม่ล่าสุดที่อยู่ระหว่างการพัฒนา
  • testing คือแหล่งที่รอเป็น stable release รุ่นต่อไป จะรวมแพกเกจที่ผ่านการทดลองใช้งานของผู้ใช้ unstable มาระยะหนึ่งแล้วโดยไม่พบปัญหาร้ายแรง สามารถ upgrade ได้โดยไม่มีปัญหา dependency
  • stable คือรุ่นที่ release แล้ว ซึ่งกว่าจะ release ได้ ก็ผ่านการทดสอบอย่างหนักหน่วงมาแล้ว ขณะเป็น testing

3. หากผมต้องการติดตั้งแบบอื่นๆ เพื่อการเรียนรู้ ต้องทำอย่างไรบ้างครับ

ถ้าติดตั้งแบบ stable อยู่ อยากลองใช้ testing ก็เปลี่ยนรุ่นใน /etc/apt/sources.list ตรงที่บอกข้างต้นนะครับ แล้วก็สั่ง:

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

รอมันดาวน์โหลดและติดตั้งแพกเกจให้

Debian ของผมเป็น stable แน่ๆครับ

$ cat /etc/debian_version
4.0

ดูที่ /etc/apt/sources.list ได้ความดังนี้

#
# deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib main

# deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib main

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

ได้เป็น etch ก็คือ stable หมดเลยครับ

ใหม่ๆ อย่างผมนี้เปลี่ยนเป็น lenny แบบนี้ก่อนจะดีกว่ามั้ยครับ

...

deb http://security.debian.org/ lenny/updates main contrib
deb http://linux.thai.net/debian lenny main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib

...

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

ขอบคุณมากครับ ได้ความรู้เต็มๆ เลยครับ ชักติดใจ Debian เข้าให้แล้วสิครับ

ผมใช้ testing นะครับ. ที่ผ่านๆมาใช้ unstable มีปัญหาบ่อยเหมือนกัน.

รายงานว่า ช่วงนี้ gnome ใน sid มีการทยอยปรับรุ่นเป็น 2.2
บวกกับ xorg รุ่น 7.3 ยังค่อนข้างมีปัญหา (ปัญหาไฟ NumLock ไม่ติด)
ดังนั้นการใช้ sid ในช่วงนี้ ยังไม่น่า dist-upgrade

ผมแก้ด้วยการลดรุ่นไปใช้ lenny

$ sudo sed -i "s/sid/lenny/g" /etc/apt/sources.list

ติดตั้ง gnome/xorg ใหม่จนเสร็จ

$ sudo aptitude update
$ sudo aptitude purge gnome xorg xserver-xorg
$ sudo aptitude install gnome xorg

และแก้กลับมาใช้ sid

$ sudo sed -i "s/lenny/sid/g" /etc/apt/sources.list

แล้วจึงใช้คำสั่ง aptitude upgrade เฉย ๆ ก็พอใช้งานได้ครับ

$ sudo aptitude update && sudo aptitude upgrade

แต่วิธีนี้ควรมีแหล่ง repository ในเครือข่ายของเราเอง เช่น apt-proxy เป็นต้น
ไม่งั้นจะเสียเวลาในการ upgrade/downgrade มากครับ

วิธี upgrade/downgrade ทั้งยวงนี้ปลอดภัยดีครับ แต่เครื่องผมเจอปัญหา xserver ของ intel มันไม่เวิร์กกับชิปเซ็ต i830 ในเครื่องเก่ามาตั้งแต่ xorg 7.2 แล้วครับ ต้อง downgrade ลงไปเป็น etch โน่นเลย (ตามคำแนะนำใน Bug #424952) ผมไม่อยาก downgrade ทั้งยวง แพกเกจอื่นเขาไม่รู้อิโหน่อิเหน่ด้วยนิ

ใครไม่อยาก downgrade ทั้งยวง เล่นแบบผมก็อาจจะได้ครับ:

"เพิ่ม" แหล่ง lenny หรือ etch (ตามแต่เป้าหมายของการดาวน์เกรด) ลงใน /etc/apt/sources.list เช่น สมมุติกรณีของผมต้องเลือก etch:

deb http://linux.thai.net/debian sid main
deb http://linux.thai.net/debian etch main

แล้วแพกเกจที่มีปัญหา ก็มีเพียง xserver เท่านั้น ก็สามารถเลือกดาวน์เกรดเฉพาะตัวนี้ลงไปเป็นรุ่นใน etch ได้ โดยในกรณีของผม ต้องการกลับไปใช้ xserver-xorg-video-i810 ใน etch แทน xserver-xorg-video-intel ใน lenny/sid สั่ง:

# apt-get install xserver-xorg-video-i810/etch

มันก็จะดาวน์เกรดให้ หลังจากนั้น เพื่อป้องกันการ upgrade แพกเกจนี้ในครั้งต่อไป ก็มีสองวิธี คือไปสั่ง hold package ของเราใน aptitude หรือใช้ apt pinning ก็ได้ (ผมชอบแบบแรกเพราะง่ายดี แต่ทำบ่อย ๆ ก็ชักรำคาญ มาปักหมุดซะ) โดยสร้าง/แก้ไขแฟ้ม /etc/apt/preferences:

Package: xserver-xorg-video-i810
Pin: release a=etch
Pin-Priority: 1001

จากนั้น apt-get upgrade ก็จะไม่พยายามอัปเกรดแพกเกจนี้อีก (แต่ dist-upgrade จะไม่สนใจหมุดนี้)

ผลคือ ผมใช้ GNOME 2.20 บน xserver จาก etch ได้ครับ ไม่จำเป็นต้องสังเวย GNOME ไปพร้อมกับ X ตอนไหนที่จำเป็นต้อง dist-upgrade ก็ไป hold ใน aptitude เอา ใครจะดัดแปลงใช้ก็ตามสะดวกเลยครับ

ผมก็ใช้ stable ทำไมไม่มี contrib non-free มาให้ครับ (ต้องใส่เอง)

แล้วมันหมายความว่าอะไรครับ mail กับ update ยังพอเดาได้

main ครับ ไม่ใช่ mail

main คือองค์ประกอบหลักของเดเบียน ประกอบด้วยแพกเกจที่เป็นซอฟต์แวร์เสรีล้วน ๆ

contrib และ non-free เป็นส่วนที่ถือว่าอยู่นอกเดเบียน แต่มีให้เพื่ออำนวยความสะดวกสำหรับผู้ใช้ที่ต้องการใช้ซอฟต์แวร์ที่ไม่เสรี (non-free) หรือกึ่งเสรี (contrib)

contrib คือซอฟต์แวร์ที่ตัวมันเองเสรี (โอเพนซอร์ส) แต่ต้องอาศัยแพกเกจอื่นใน non-free จึงจะทำงานได้

non-free คือซอฟต์แวร์ที่ไม่เสรี (ไม่โอเพนซอร์ส) แต่อนุญาตให้แจกจ่ายได้ในลักษณะ freeware (ไม่คิดค่าใช้จ่าย) หรือมีข้อจำกัดบางประการที่ทำให้ไม่สามารถแก้ไขซอฟต์แวร์ได้

contrib และ non-free เป็นส่วนที่นักพัฒนาเดเบียนไม่สามารถช่วยแก้ปัญหาให้ได้ (เพราะไม่ได้รับอนุญาต หรือได้รับอนุญาตไม่เต็มที่) จึงไม่มีการสนับสนุนการแก้ปัญหาต่าง ๆ อย่างเป็นทางการ แม้ว่าผู้ดูแลแพกเกจเหล่านั้นจะพยายามแก้ปัญหาเท่าที่จะทำได้ก็ตาม

สองวันก่อนเซิร์ฟเวอร์เจ๊งเพราะอัปเกรดไม่ดูตาม้าตาเรือ แก้แล้วเลยเอาบันทึกมาฝากครับ ได้ความรู้จากบล๊อกนี้แหละครับ :)

  1. ถ้าเป็นเครื่อง production ควรใช้ stable เท่านั้น
  2. หากต้องการซอฟต์แวร์ที่ทันสมัย แต่ยังเสถียรที่สุดเท่าที่เป็นไปได้ ให้พ่วง testing เข้ามาโดยยังไม่ต้องทิ้ง stable ตัวอย่างไฟล์ /etc/apt/sources.list คือ
    deb     http://ftp.debian.org/debian stable main contrib non-free
    deb-src http://ftp.debian.org/debian stable main contrib non-free
    deb     http://security.debian.org/ stable/updates main contrib non-free
    deb-src http://security.debian.org/ stable/updates main contrib non-free
    deb     http://ftp.debian.org/debian testing main contrib non-free
    deb-src http://ftp.debian.org/debian testing main contrib non-free
    deb     http://security.debian.org/ testing/updates main contrib non-free
    deb-src http://security.debian.org/ testing/updates main contrib non-free

    โดยมีข้อปฏิบัติคือ

    • ห้ามใช้ apt-get dist-upgrade เด็ดขาด
    • เวลาต้องการติดตั้งแพกเกจใหม่ ให้ติดตั้งเป็น stable เช่นจะติดตั้ง samba ใช้คำสั่งว่า
      $ sudo apt-get install samba/stable

      เสร็จแล้วจึง apt-get upgrade อีกทีนึง

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