2 คะแนน โดย GN⁺ 19 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คุณค่าหลักของ Gentoo ไม่ได้อยู่ที่ประสิทธิภาพจากการคอมไพล์เพียงอย่างเดียว แต่คือความยืดหยุ่นที่การบิลด์จากซอร์สมอบให้ และปรัชญาของดิสโทรที่สร้างขึ้นเพื่อผู้ใช้
  • โครงการดำเนินงานโดยไม่มีบริษัทหรือโมเดลธุรกิจอยู่เบื้องหลัง และกำลังยุบ Gentoo Foundation พร้อมย้ายไปยัง SPI เพื่อลดคอขวดด้านธรรมาภิบาลทางการเงินและความเสี่ยงจากการพึ่งพา
  • มี ทีมความปลอดภัย โดยเฉพาะ อินฟราสตรักเจอร์ของตนเอง ช่องทางแจกจ่ายที่ปกป้องด้วย OpenPGP และนโยบาย QA ที่เข้มงวด เพื่อรับมือกับ dependency ที่เก่าเกินไป การลิงก์แบบ static และ dependency ที่ bundle มา
  • โครงสร้างที่ให้ความสำคัญกับซอร์สเป็นหลักและ USE flags ช่วยให้เลือกฟีเจอร์ ไลบรารี init system, libc และวิธีบิลด์ได้ แต่ตัวเลือกที่ไม่มีผู้ดูแลอาจถูกจำกัด
  • Rolling release การอยู่ร่วมกันของชุดเสถียรและชุดทดลอง การรองรับฮาร์ดแวร์เก่า ความเป็นมิตรต่อการพัฒนา และแนวทางลบ telemetry ล้วนสะท้อนการเคารพผู้ใช้

อัตลักษณ์หลักของ Gentoo

  • Gentoo เป็นที่รู้จักในฐานะ “ดิสโทรที่คอมไพล์ทุกอย่าง” แต่ยากจะอธิบายได้ด้วยการไล่ล่าประสิทธิภาพหรือการปรับแต่งขั้นสุดโต่งเพียงอย่างเดียว
  • เมื่อการปรับแต่ง CPU และคอมไพเลอร์ รวมถึงการปรับแต่งแพ็กเกจของดิสโทรทั่วไปพัฒนาไปมากแล้ว ความต่างด้านประสิทธิภาพระหว่างแพ็กเกจ Ubuntu ทั่วไปกับแพ็กเกจ Gentoo ที่จูนตาม CPU จึงอาจไม่ได้สร้างความแตกต่างมากนักในโลกจริง
  • คุณค่าที่สำคัญกว่าของ Gentoo คือ ความยืดหยุ่น ที่การบิลด์จากซอร์สมอบให้ และความจริงที่ว่ามันเป็นดิสโทรที่ผู้ชื่นชอบ Gentoo สร้างขึ้นเพื่อใช้กันเอง

ความเป็นอิสระ

  • Gentoo ไม่มีบริษัทหรือโมเดลธุรกิจอยู่เบื้องหลัง และถูกสร้างกับดูแลโดยผู้คนที่ทุ่มเทให้กับคุณค่าของ Gentoo
  • บางคนดูแล Gentoo เป็นส่วนหนึ่งของงาน แต่ส่วนใหญ่เป็นอาสาสมัครที่ขับเคลื่อนด้วยความหลงใหลมากกว่าผลกำไร
  • อินฟราสตรักเจอร์บางส่วนได้รับการบริจาค และบางส่วนดำเนินการด้วยเงินบริจาค โดยไม่พึ่งพาผู้บริจาครายใดรายหนึ่งจนสามารถชี้นำ Gentoo ได้
  • เพื่อลดความเสี่ยงที่ธรรมาภิบาลการเงินโดยตรงจะกลายเป็นคอขวด จึงกำลังดำเนินการยุบ Gentoo Foundation และย้ายไปยัง SPI

ความปลอดภัย

  • Gentoo ให้ความสำคัญกับความปลอดภัยของแพ็กเกจ และบางครั้งก็ backport แพตช์ก่อน upstream ด้วยซ้ำ
  • มี ทีมความปลอดภัย โดยเฉพาะที่รับผิดชอบการติดตามปัญหา การแก้ไข และการแจ้งผู้ใช้
  • มีการดูแลอินฟราสตรักเจอร์ของตนเองเพื่อลดความเสี่ยงจากการถูกยึดครอง และปกป้องช่องทางแจกจ่ายกับ mirrors ด้วย OpenPGP
  • Codeberg และ GitHub ถูกใช้เพียงเป็น mirror และช่องทางรับ contribution แบบทางเลือก เพื่อไม่ให้ Gentoo ต้องพึ่งพาแพลตฟอร์มใดแพลตฟอร์มหนึ่ง
  • มีนโยบาย QA ที่เข้มแข็งในการรับมืออย่างวิพากษ์กับแนวทางอย่าง dependency ที่ bundle มา การลิงก์แบบ static และ dependency ที่ตรึงตายตัว
  • พยายามป้องกันภัยคุกคามที่ชัดเจน เช่น dependency ที่เก่ามากจนเป็นปัญหาร้ายแรง

ดิสโทรที่มนุษย์สร้าง

  • Gentoo สั่งห้าม contribution จาก LLM มาตั้งแต่ 2 ปีก่อน และยังคงเห็นว่าการตัดสินใจนั้นถูกต้อง
  • แม้จะไม่อาจรับประกันได้ 100% ว่าไม่มีโค้ดที่ปนเปื้อนหลุดเข้ามาเลย แต่ความไว้วางใจและความระแวดระวังคือแกนสำคัญที่ค้ำจุนชุมชน
  • ต่อให้ upstream จะไม่ยึดจุดยืนเดียวกัน แต่ด้วยความรับผิดชอบในการส่งมอบซอฟต์แวร์ที่ใหม่และปลอดภัย ก็ไม่อาจห้ามไม่ให้ซอฟต์แวร์ที่พัฒนาด้วย LLM ถูกแพ็กเกจใน Gentoo ได้ทั้งหมด
  • แต่กรณีร้ายแรงอย่าง copywashed chardet หรือซอฟต์แวร์เข้ารหัสแบบ vibe-coded ก็พยายามกันออกให้มากที่สุด

ความเสถียร

  • Gentoo อาจไม่ใช่ดิสโทรที่เริ่มต้นได้ง่ายที่สุด แต่เมื่อคอนฟิกเสร็จแล้วก็สามารถเสถียรได้อย่างน่าประหลาดใจ
  • แม้จะเกิดปัญหา ก็มักซ่อมระบบได้โดยไม่ต้องติดตั้งใหม่
  • ต้นไม้แพ็กเกจไม่ได้ผูกติดกับแพ็กเกจเวอร์ชันเดียวของแพ็กเกจใดแพ็กเกจหนึ่ง ดังนั้นถ้าเวอร์ชันใหม่ไม่เข้ากัน ก็มักมีทาง downgrade
  • แม้เวอร์ชันนั้นจะหายไปจาก Gentoo แล้ว ก็มักกู้กลับมาได้ค่อนข้างง่าย
  • เป็นดิสโทรแบบ rolling release จึงไม่ต้องถูกแบ่งเป็นหลายรุ่นดิสโทร และไม่ต้องคอยย้ายไปรุ่นถัดไปเป็นระยะ
  • ผู้ใช้เลือกได้ระหว่างสภาพแวดล้อมล่าสุดที่รับแพ็กเกจใหม่ทันทีที่เพิ่มเข้ามา กับสภาพแวดล้อมเสถียรที่อัปเดตหลังตรวจสอบความพร้อมแล้ว
  • demize @ unstable.systems ระบุว่าแม้ใช้คอนฟิกแบบทดลองอย่าง ACCEPT_KEYWORDS="~amd64", โปรไฟล์ LLVM, mold system linker และ LTO ทั้งระบบ ก็ยังได้ประสบการณ์ที่เสถียรกว่าเดสก์ท็อป Linux อื่น ๆ

ความยืดหยุ่น

  • ดิสโทรที่ให้ซอร์สเป็นหลัก

    • รูปแบบการติดตั้งหลักของ Gentoo คือการบิลด์จากซอร์ส แต่ไม่ได้หมายความว่าผู้ใช้ต้องไปหา dependency เองและต่อคำสั่งบิลด์ด้วยมือ
    • ตัวจัดการแพ็กเกจ จะดูแลขั้นตอนที่จำเป็นและงานมากกว่านั้น เพื่อให้การติดตั้งแพ็กเกจเป็นเรื่องง่าย
    • การบิลด์จากซอร์สช่วยให้ควบคุมได้ละเอียดขึ้นว่าแพ็กเกจจะมีฟีเจอร์อะไรบ้างและถูกบิลด์อย่างไร
    • การตัดฟีเจอร์ที่ไม่จำเป็นออกช่วยเพิ่มประสิทธิภาพและลดพื้นผิวการโจมตีได้ และยังสามารถบิลด์ RSS reader หรือ mail client โดยไม่ต้องพ่วงคอมโพเนนต์เว็บเบราว์เซอร์ที่เปราะบางได้ด้วย
  • การควบคุมไลบรารีและกระบวนการบิลด์

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

    • บางครั้ง Gentoo ถูกเรียกว่า “ดิสโทรแห่งทางเลือก” แต่ไม่ได้หมายความว่าจะรักษาทุกตัวเลือกไว้ได้ตลอดไป
    • ในบางกรณีสามารถมีตัวเลือกที่สมเหตุสมผลได้ เช่น OpenRC กับ systemd, glibc กับ musl
    • การจะคงตัวเลือกใดไว้ได้ ต้องมีใครสักคนช่วยดูแลอย่างจริงจัง มิฉะนั้นก็มักกลายเป็นระบบที่พังครึ่ง ๆ กลาง ๆ
    • บางกรณีก็ต้องยอมเลิก เช่น LibreSSL กับ OpenSSL, libav กับ ffmpeg เพราะต้นทุนการบำรุงรักษาสูงเกินไป
    • เมื่อ Qt ไม่ยอมรองรับ LibreSSL จากฝั่ง upstream การดูแล LibreSSL ก็ยิ่งยากขึ้น
  • ค่าเริ่มต้นและการปรับแต่งแบบเลือกใช้

    • ตัวเลือกส่วนใหญ่ของ Gentoo มาในรูปแบบ opt-in
    • แนวคิดคือมอบความยืดหยุ่นให้คนที่ต้องการ ขณะที่คนอื่นยังคงได้ค่าเริ่มต้นที่ดี
    • ผู้ใช้สามารถปรับแต่งเฉพาะส่วนที่สนใจ แล้วปล่อยที่เหลือให้เป็นค่าเริ่มต้น ก็ยังได้ประสบการณ์ที่ดี
    • charon @ hachyderm.io ชื่นชมที่สามารถจัดการและคงความทันสมัยของสถาปัตยกรรม, libc, init system, แพตช์แพ็กเกจ, ชุดฟีเจอร์ และ display stack ที่แตกต่างกันได้ภายใต้ OS เดียวกัน
    • Josh @ babka.social มองว่าจุดเด่นคือสามารถทำระบบ headless ที่ไม่มีแพ็กเกจกราฟิกเลย หรือคอนฟิกกราฟิกสแตกตามต้องการได้ด้วยไฟล์คอนฟิกธรรมดา แทนที่จะเป็นขั้นตอนติดตั้งแยกต่างหาก

ความสนุกและการทดลอง

  • Gentoo ไม่ได้มุ่งแค่ให้ทำงานให้เสร็จ แต่ต้องการมอบประสบการณ์ที่ผู้ใช้ก้าวต่อไปเพื่อทดลองสิ่งต่าง ๆ ได้
  • หากอยากลองซอฟต์แวร์พัฒนารุ่นใหม่ ๆ ก็มักมีแพ็กเกจจากสาขา stable, testing และ development ของ upstream ให้ใช้
  • แพ็กเกจจำนวนมากมี live ebuild ที่บิลด์ตรงจากรีโพซิทอรีของ upstream ทำให้ทดสอบสาขาพัฒนาล่าสุดได้เพียงแค่ unmask
  • นอกเหนือจากระบบ GNU/Linux ทั่วไป ยังสามารถทดลอง musl, GNU Hurd, toolchain ที่อิง LLVM, FreePG, Sequoia, Samurai, libarchive tar/cpio และ implementation ทางเลือกของ awk ได้
  • การทดลองเหล่านี้ไม่ได้ขัดกับความเสถียร เพราะสามารถเริ่มจากแพ็กเกจ stable หรือ ~arch แล้วเลือกอัปเดตให้ใหม่เฉพาะบางส่วน หรือปักไว้ที่สาขา LTS ในจุดที่ต้องการก็ได้

ความยั่งยืน

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

เป็นมิตรกับนักพัฒนา

  • Gentoo บิลด์ทุกอย่างจากซอร์ส จึงทำให้ผู้ใช้ใกล้ชิดกับสภาพแวดล้อมการพัฒนาโดยตรง
  • การติดตั้งแพ็กเกจต้องมี toolchain ครบ และแนวคิดการแยกแพ็กเกจเป็นส่วน “runtime” กับ “development” แทบไม่มีความหมายมากนักใน Gentoo
  • บ่อยครั้ง Gentoo จึงมี สภาพแวดล้อมสำหรับการพัฒนา ที่พร้อมใช้โดยปริยาย
  • ในเชิงนโยบาย Gentoo ไม่ชอบการแพตช์แพ็กเกจและพยายามหลีกเลี่ยงเท่าที่ทำได้ โดยต้องการให้แพ็กเกจตาม upstream และให้ซอฟต์แวร์ที่พัฒนาบน Gentoo ถูกต้องและพกพาได้
  • Gentoo เป็นหนึ่งในไม่กี่ดิสโทรที่ไม่เพิ่มไฟล์ pkg-config แบบไม่เป็นมาตรฐานเข้าไปในแพ็กเกจ bzip2
  • การพัฒนาบน Gentoo ช่วยหลีกเลี่ยงความผิดพลาดที่พบบ่อยอย่างการปล่อยแพ็กเกจที่ไปต้องพึ่งไฟล์นอกมาตรฐานดังกล่าว
  • Gentoo ยังเป็นหนึ่งในไม่กี่ดิสโทรที่รองรับ Python หลายเวอร์ชันอย่างจริงจัง โดยไม่เพียงเลือกเวอร์ชัน Python ได้ แต่ยังติดตั้งแพ็กเกจสำหรับหลายเวอร์ชันพร้อมกันได้ด้วย
  • เพราะ Gentoo มีคอนฟิกหลากหลาย การทดสอบกับผู้ใช้ปลายทางจึงสำคัญ และยังตั้งค่าให้รัน test suite ระหว่างบิลด์แพ็กเกจได้ง่าย
  • rayslava @ mitra.do.rayslava.com ระบุว่า USE flags คือวิธีที่ดีที่สุดในการจัดองค์ประกอบแอปให้ได้หลายชุดค่าผสม และ Portage ก็ทำให้แม้แต่ corporate rpm packages ก็ถูกใช้งานผ่าน emerge ได้อย่างไม่มีปัญหา
  • ผู้ใช้คนเดิมยังใช้ pycargoebuild เพื่อดูแล Rust infrastructure โดยไม่ต้องพึ่งเครื่องมือหรือสภาพแวดล้อมแยก และบอกว่าใช้ Gentoo มาตั้งแต่ปี 2004 โดยยังไม่พบสิ่งที่ดีกว่า

ดิสโทรที่มีประโยชน์

  • Gentoo พยายามมอบระบบที่เหมาะกับการใช้งานหลากหลาย ไม่ว่าจะเป็นเครื่องพัฒนา เกมมิงพีซี เทอร์มินัลเรียบง่าย หรือเซิร์ฟเวอร์
  • จากมุมมองของ Free Software Foundation อาจมองว่า Gentoo ไม่ใช่ดิสโทรที่ดีนัก เพราะติดตั้ง proprietary software ได้ง่ายเกินไป
  • แต่ในขณะเดียวกัน การคงไว้เฉพาะซอฟต์แวร์เสรีก็ทำได้ง่ายพอ ๆ กัน และค่าเริ่มต้นก็เป็นซอฟต์แวร์เสรี
  • Linn @ mastodon.social มองว่าแนวทางด้านไลเซนส์ของ Gentoo เปิดให้เลือกได้เป็นรายแพ็กเกจว่าจะอนุญาตไลเซนส์ใด และตั้งค่าเริ่มต้นไว้ที่ซอฟต์แวร์เสรี ทำให้ผู้ใช้ต้องตรวจสอบไลเซนส์ก่อนติดตั้ง proprietary software
  • Gentoo ยังคงยึดนโยบายรายงานบั๊กที่พบกลับไปยัง upstream และช่วยกันแก้ไข
  • Gentoo มองว่าการใช้วิธีเลี่ยงชั่วคราวเพื่อให้ผ่าน builder อย่างเดียวไม่เพียงพอ แต่ต้องการวิธีแก้ที่ใช้ได้กับทุกคน
  • มีการรับมือกับปัญหาซับซ้อนอย่าง portability และการรองรับ fringe platforms โดยคำนึงถึงแพลตฟอร์มที่ดิสโทรส่วนใหญ่ไม่รองรับด้วย
  • danzin @ mastodon.social มองว่าแม้จะไม่ใช่ผู้ใช้ Gentoo งานของ Gentoo ที่ช่วยค้นหา รายงาน และแก้ปัญหาในโครงการ upstream ก็สำคัญต่อการรักษาความเข้ากันได้และเสถียรภาพในระบบนิเวศอย่าง Python
  • เอกสารของ Gentoo เคยถูกยกให้ดีที่สุดในบรรดาดิสโทร Linux ยุคก่อน และปัจจุบันก็ยังถือว่าอยู่ในระดับดีมาก
  • เมื่อใช้ Gentoo ไปเรื่อย ๆ ผู้ใช้มักได้เรียนรู้เชิงลึกเกี่ยวกับการประมวลผล ตั้งแต่การติดตั้งระบบ การเขียน ebuild การแก้เล็ก ๆ ใน /etc/portage/patches การช่วย overlay แบบกึ่งทางการ ไปจนถึงการส่งบั๊กให้ upstream
  • anton @ icosahedron.website มองว่า Gentoo มีเส้นโค้งการเรียนรู้ที่ค่อยเป็นค่อยไป ตั้งแต่ระดับทำตาม Handbook ได้ ไปจนถึงเรื่องลึกของคอมพิวติ้ง โดยทุกก้าวเล็กและเป็นโอกาสในการเรียนรู้

แนวทางที่เคารพผู้ใช้

  • ทิศทางหลายอย่างของ Gentoo สุดท้ายล้วนมุ่งไปสู่การ เคารพ ผู้ใช้
  • Gentoo ไม่สั่งการมากเกินไปว่าผู้ใช้ควรใช้ระบบอย่างไร
  • แม้จะมีขอบเขตการรองรับและมาตรการป้องกันเพื่อหลีกเลี่ยงความเสียหายร้ายแรง แต่การตัดสินใจสุดท้ายยังเป็นของผู้ใช้
  • แม้ผู้ใช้จะเลือกสิ่งที่อยู่นอกขอบเขตที่รองรับ Gentoo ก็ไม่ได้ตั้งใจทำให้กรณีใช้งานนั้นพัง แต่ก็ไม่ได้รับประกันว่าจะไม่พังจากเหตุสุดวิสัย
  • Markus Osterhoff @ troet.cafe บรรยายว่าการเปลี่ยน user ID ด้วย su แล้วระบบทำงานตามที่สั่ง รวมถึงคอนฟิกด้วย vim และอ่านล็อกด้วย less ให้ความรู้สึกเหมือนได้รับการปฏิบัติในฐานะผู้ใหญ่
  • Ilya Shchepetkov @ social.treehouse.systems มองว่าจุดเด่นของ Gentoo คือความรู้สึกควบคุมได้ เพราะระบบจะไม่ทำสิ่งที่ผู้ใช้ไม่ได้ตั้งค่าไว้
  • กระบวนการติดตั้งทำให้เห็นว่าไม่มีเวทมนตร์ซ่อนอยู่ และถึงบูตจะล้มเหลวขึ้นมากะทันหัน ก็ยังรู้สึกได้ว่าสามารถซ่อมทุกอย่างในระบบได้
  • Gentoo มุ่งมอบค่าเริ่มต้นที่ดีและประสบการณ์ที่เสถียร รักษาความปลอดภัย เคารพงานของมนุษย์ และไม่พึ่ง LLM
  • Gentoo พยายามเคารพความเป็นส่วนตัวของผู้ใช้ แทนที่จะมองเป็นสิ่งสำหรับ “ประเมินมูลค่า” และจนถึงตอนนี้ก็ยังไม่ได้รับ telemetry ระยะไกลเกี่ยวกับการใช้งาน Gentoo
  • หากพบ telemetry อยู่ในแพ็กเกจ ก็มีแนวโน้มจะลบออกโดยปริยาย และถ้าผู้ใช้ต้องการก็จะมี USE flag ให้คืนค่าเริ่มต้นของ upstream
  • Gentoo มุ่งสร้างชุมชนที่เป็นมิตรและเปิดรับรอบตัวโครงการ และต้องการเป็นระบบที่ใช้งานอย่างรื่นรมย์โดยไม่หักหลังผู้ใช้
  • เนื้อหานี้ได้รับแรงบันดาลใจอย่างมากจากคำตอบใน กระทู้ Fediverse “how Gentoo is perceived by people” และมีการยกมาเพียงบางส่วน

1 ความคิดเห็น

 
ความเห็นจาก Lobste.rs
  • ฉันเคยใช้ Gentoo ช่วงปี 2019~2022 และความรู้สึกที่เหลืออยู่ก็มีทั้งข้อดีและข้อเสียปนกันไป
    ด้านหนึ่ง ความสนุกที่ผู้เขียนพูดถึงนั้นมีอยู่จริงแน่นอน มันไม่ใช่แอปที่ติดตั้งด้วยการคลิกไม่กี่ครั้งแล้วจบ แต่เป็นกระบวนการเลือกตามคู่มือที่เขียนมาดีและปรับดิสโทรให้เข้ากับรสนิยมของตัวเอง เลยให้ความรู้สึกแรงมากว่าเป็นระบบที่เราสร้างขึ้นมาด้วยมือตัวเอง
    การลองดูว่าจะทำให้มันเบาได้แค่ไหนโดยตัดสิ่งที่ไม่จำเป็นออกโดยไม่ทำลายความใช้งานได้ก็ดีเหมือนกัน และการตั้งค่าเคอร์เนลด้วยตัวเองก็น่าสนใจ แต่ถ้าไม่มี USB สำหรับกู้ระบบหรือแบ็กอัปไว้ การตั้งค่าเคอร์เนล ก็อาจเป็นกับดักใหญ่ที่สุดของ Gentoo ได้
    นอกจาก march=native แล้ว ฉันแทบไม่ได้จูนอะไรหนัก ๆ แต่ถึงอย่างนั้นมันก็ยังรู้สึกว่าลื่นและเร็วกว่า distro อื่นที่เคยใช้ในตอนนั้นมาก แม้จะพูดหนักแน่นไม่ได้เพราะไม่ได้ทำ benchmark แต่ก็ทำให้ T440p เก่า ๆ สมัยมหาวิทยาลัยของฉันใช้งานได้สบายขึ้นมาก
    ในอีกด้านก็รู้สึกเหมือนต้องสู้กับระบบอยู่ตลอดเหมือนกัน เวลาคอมไพล์นั้นพอคาดไว้แล้ว แต่ตัว emerge เองก็ดูช้าเกินไปทุกครั้งที่ค้นหาแพ็กเกจหรือติดตั้ง dependency ซับซ้อน จนบางทีถึงกับกังวลว่า PC ค้างไปแล้วหรือฉันทำอะไรพลาดกันแน่
    USE flags มักสร้างงานดีบักที่น่ารำคาญ เพราะเอกสารไม่พอหรือมีผลข้างเคียงที่คาดไม่ถึง บางทีแค่เปิดแฟล็กเดียวแอปก็ใช้งานไม่ได้ไปเลย และยังต้องเปิดแฟล็กอื่นที่ดูเหมือนไม่เกี่ยวกันด้วย ทั้งที่ดูภายนอกแล้วน่าจะเป็นอิสระต่อกัน อีกทั้งที่ฟีเจอร์แบบนี้ไม่ได้รวมอยู่ใน package manager หลัก แต่ต้องไปค้นจากเว็บไซต์หรือ equery แล้วตั้งค่าด้วย flaggie ก็รู้สึกแปลก ๆ เหมือนกัน
    การตั้งค่าเคอร์เนลเป็นทักษะที่ต้องใช้เวลาเรียนรู้ แต่คู่มือที่ฉันหาได้ตอนนั้นแทบช่วยอะไรเกินพื้นฐานไม่ได้เลย ตอนนี้ Gentoo มี binary kernel แล้วจึงเลี่ยงการตั้งค่าแบบ manual ได้ แต่ในตอนนั้นมันให้ความรู้สึกเหมือนมีแค่สองทาง คือเดินผ่านทุ่งกับระเบิด หรือไม่ก็คอมไพล์เคอร์เนลอ้วน ๆ ที่ใช้เวลานาน
    qt-webkit คือหายนะของเครื่องช้า ๆ แพ็กเกจตัวเดียวนี่แหละที่ทำให้ทุกครั้งต้องเพิ่มเวลาคอมไพล์อีก 2~3 ชั่วโมงจากเวลาที่ตั้งใจจะใช้ติดตั้งหรืออัปเดตแต่เดิม แม้จะไม่ใช่ข้อบกพร่องของ Gentoo ในฐานะดิสโทรที่เน้นซอร์สโค้ดก่อน แต่ในมุมผู้ใช้ปลายทางมันก็ทรมานมากทีเดียว
    สุดท้าย Gentoo ไม่ใช่ระบบที่เหมาะกับการใช้งานแบบฉับพลันเลย ถ้าต้องการอะไรสักอย่างก็ต้องมีเวลารอคอมไพล์ และการลองสลับใช้แอปใหญ่ ๆ หลายตัวก็แทบเป็นไปไม่ได้เลย หลายครั้งฉันก็ไม่สามารถเปิด PC ทิ้งไว้ข้ามคืนได้ เลยต้องเลือกระหว่างทุ่มพลังประมวลผลทั้งหมดไปที่การคอมไพล์จนใช้งานเครื่องไม่ได้ หรือเหลือคอร์ไว้หนึ่งคอร์แล้วทนใช้ระบบที่ช้าลงพร้อมเวลาคอมไพล์ที่ยาวขึ้น
    สุดท้ายเพราะไม่มีเวลามานั่งปรับแต่ง PC ที่ใช้เรียนต่อ ฉันเลยกลับไปใช้ Arch แต่ก็ยังคงให้ความเคารพ Gentoo มากอยู่ มันทำให้เห็นมุมมองที่แตกต่างอย่างสิ้นเชิงว่าดิสโทรสามารถทำงานได้อย่างไร และฉันก็ได้เรียนรู้การทำงานภายในของมันมากมาย พอได้อ่านบทความนี้ก็ทำให้นึกถึงประสบการณ์เก่า ๆ และรู้สึกคิดถึง อีกทั้งได้ยินว่าทุกวันนี้ส่วนที่หยาบ ๆ ก็ถูกเกลาจนดีขึ้นมากแล้ว จึงอาจกลับไปใช้อีกครั้งสักวัน
    Gentoo is Rice

    • ฉันก็เป็นแนวคล้าย ๆ กัน แต่ตอนนั้นแรมโน้ตบุ๊กมีบิตเสียอยู่หนึ่งแถว และเพราะมีงานต้องส่งในอีกไม่กี่ชั่วโมงเลยต้องรัน LaTeX จึงตัดสินใจเลิกใช้ Gentoo หลังจากนั้นไป Arch แล้วต่อด้วย Void
      เมื่อก่อนฉันยังเคยรัน Funtoo บน Raspberry Pi B ด้วย ซึ่งเป็นรุ่นนั้นเลย ไม่ใช่ 2, 3, 4 หรือ 5 และก็ค่อนข้างสนุกดี
      เครื่อง Gentoo เครื่องแรกของฉันคือ Xserve G4 แบบ dual CPU พร้อม RAM 2GB และกว่าจะได้เคอร์เนลที่บูตได้จริง ฉันต้องคอมไพล์ซ้ำไปซ้ำมาจนใช้เวลาเกือบหนึ่งสัปดาห์กว่าจะบูตเข้าระบบจริงได้
      สิ่งที่ทำให้ฉันห่างจาก Gentoo มากที่สุดคือมันไม่เหมาะกับการใช้งานแบบฉับพลัน ฉันเคยจะติดตั้ง Audacity เพื่อทำงานเสียง แล้วเวลาผ่านไปหลายชั่วโมง คอมพิวเตอร์มีไว้เพื่อให้เราสั่งงาน แต่บางครั้งก็อยากแค่ใช้งานมัน ไม่ใช่คอยดูแลรักษาอย่างเดียว
    • ฉันก็ใช้ Gentoo ในช่วงเวลาใกล้ ๆ กัน และประสบการณ์ก็คล้ายกันมาก กว่าจะคอมไพล์เคอร์เนลที่ใช้งานได้จริงก็กินเวลาหลายวัน และบางครั้งพอฟีเจอร์บางอย่างใช้ไม่ได้อย่างน่าประหลาด สุดท้ายก็มักเป็นเพราะตัวเลือกเคอร์เนลที่ไม่ได้ตั้งค่าไว้
      ถ้ากำลังทำงานอยู่ จังหวะการทำงานก็จะสะดุด แล้วต้องกลับมานั่งรอคอมไพล์อีก
      สำหรับเครื่องช้า ๆ หายนะของฉันคือ webkit-gtk2 เพราะ Gnucash ดันพึ่งพามันแบบหนักแน่นทั้งที่ใช้แค่แสดงกราฟ บน ThinkPad เก่า ๆ นั้นแม้แต่ Firefox ก็เหมือนจะใช้เวลาไม่รู้จบ และ LibreOffice ก็เป็นอีกหนึ่งในสามแพ็กเกจน่ากลัวสำหรับการคอมไพล์
    • ประสบการณ์ของฉันตรงกันข้ามเลย ฉันใช้ Gentoo แบบจริงจังมาเกือบปีแล้ว แต่ต่างจากคนส่วนใหญ่ที่พยายาม build ทุกอย่างใหม่ตั้งแต่ต้น ฉันใช้แค่ liveusb ISO image ตามเดิม
      image นี้วางไว้ในฮาร์ดดิสก์เหมือนไฟล์ทั่วไปแล้วบูตตรง ๆ ผ่าน GRUB loopback ได้เลย และใน ISO เดียวนั้นก็มีสภาพแวดล้อมสำหรับพัฒนาเกือบครบ ทั้ง git, make, cc, rust, cmake, autotools
      ตอนที่ฉันลองบูต NixOS ISO แบบ live เพื่อให้ได้ชุดยูทิลิตีใกล้เคียงกัน มันต้องใช้ดิสก์เกือบ 40~50GB ส่วน Gentoo แค่อัปเดตให้ใหม่ก็เพียงดาวน์โหลด ISO ครั้งเดียว และยังบูตได้เร็วมากบนโน้ตบุ๊กเก่าที่มี RAM 2GB เลยใช้งานได้อย่างน่าพอใจ
  • ฉันชอบ Gentoo หนึ่งในข้อดีหลักคือมันเป็นดิสโทรแบบ rolling release
    ฉันเคยมีเซิร์ฟเวอร์ที่รันต่อเนื่องมา 15 ปีและใช้ Gentoo ถ้าไม่ได้เปลี่ยนผู้ให้บริการก็คงใช้ต่อไป การติดตั้งใหม่กลับง่ายกว่าย้าย image
    กับ Debian หรือ Fedora ฉันไม่เคยโชคดีแบบนั้นเลย ถ้าต้องใช้ไลบรารีหรือเวอร์ชันแอปที่ไม่ได้ถูกแพ็กเกจไว้ล่วงหน้าสำหรับเวอร์ชันนั้น ทั้งสองตัวจะยุ่งยากมาก และหลังอัปเกรดก็ยังมักมีอะไรพังจนเกิด downtime อย่างเห็นได้ชัด

    • น่าสนใจที่ Gentoo กลายเป็นดิสโทรที่ทำให้มี ระบบอายุยืนแบบนี้ ได้
      เซิร์ฟเวอร์ส่วนตัวของฉันอายุ 17 ปีแล้ว โชคดีที่ได้ผู้ให้บริการ VM ดี เลยรันด้วย uptime สูงมาเรื่อย ๆ และตลอด 17 ปี downtime รวมทั้งหมดน่าจะราว ๆ หนึ่งวัน เดิมทีฉันทำระบบนี้ขึ้นมาเพราะการโฮสต์อีเมลจาก IP บ้านเริ่มไม่ค่อยเป็นไปได้ในทางปฏิบัติ
      ระบบเดสก์ท็อปของฉันเริ่มมาตั้งแต่ปี 2008 ก็ราว 18 ปีแล้ว ตอนนั้นย้ายไปใช้ user space แบบ 64 บิต และหลังจากนั้นก็ไม่เคยมีเหตุผลหรือแรงจูงใจให้สร้าง image ใหม่เลย ฮาร์ดแวร์เดิมแทบไม่เหลือแล้วนอกจากคีย์บอร์ด Datahand แต่มันก็เหมือนเรือของเธเซอุสที่ถูกเปลี่ยนทีละชิ้นมาตลอด
      สำหรับฉัน Gentoo คือ ความโปร่งใส ทางเลือก และความยืดหยุ่น ฉันมักมีภาพชัดเจนเสมอว่าอยากให้คอมพิวเตอร์ทำงานอย่างไร และ Gentoo ก็เป็นเครื่องมือที่ดีในการทำให้สิ่งนั้นเป็นจริง
  • ฉันใช้ Gentoo บนเครื่องพัฒนาหลักมาราว 15 ปีแล้ว และย้ายมาจาก Debian unstable
    พูดตามตรงก็อธิบายได้ไม่ค่อยชัดว่าทำไมถึงใช้และทำไมถึงชอบ แต่สุดท้ายคงหมายความว่า มันก็แค่ทำงานได้ดีและไม่รู้สึกว่าจำเป็นต้องเปลี่ยน
    มันมีความไม่สะดวกเล็ก ๆ น้อย ๆ อยู่บ้าง ถ้าใช้ ~amd64 ก็จะได้ใช้ซอฟต์แวร์ใหม่ ๆ แต่จะใช้แพ็กเกจไบนารีอย่าง libreoffice ไม่ได้ และการคอมไพล์ก็อาจใช้เวลาพอสมควร
    บางครั้ง emerge ก็ติดขัดจนต้องลงมือแก้เองบ้าง แต่ประสบการณ์ก็ไม่ได้ต่างจาก apt บน Debian sid มากนัก
    สิ่งที่น่าประทับใจจริง ๆ คือ ความตอบสนอง ความสามารถทางเทคนิค และความตั้งใจแก้ปัญหา ของผู้ดูแลแพ็กเกจและชุมชนโดยรวม ขอแนะนำว่าในชีวิตนี้ลองส่งอะไรสักอย่างเข้าไปที่ bugs.gentoo.org ดูสักครั้ง

    • ฉันเองก็อยู่ในจุดที่แทบจะเหมือนกัน มันทำงานได้เหมือน Linux distribution ที่ฉันต้องการ และก็ไม่มีเหตุผลใหญ่พอที่จะย้ายไปที่อื่น
      เคยคิดว่าจะลอง Chimera อยู่เหมือนกัน แต่ก็ยังแค่คิด ยังไม่ได้ลองจริง
  • เมื่อก่อนเคยใช้ Gentoo กับบริการ production ที่รัน BOINC
    จำเป็นต้องคอมไพล์แพ็กเกจอย่าง PHP, Perl, Apache ด้วยแฟล็กเฉพาะที่ไม่มีในคลัง Fedora ปกติ และผู้ดูแลระบบคนก่อนคอมไพล์ทุกอย่างด้วยมือแล้วก็ไม่อัปเดตอีกเลย ในสถานการณ์แบบนั้น Portage เป็นทางออกที่ดีกว่ามาก

  • ฉันใช้ Gentoo เป็นเดสก์ท็อปหลักมา 14 ปีแล้ว และยังคงใช้ระบบเดิมที่สร้างไว้ตอนนั้นต่อเนื่องโดยแค่ย้ายไปตามเครื่องใหม่โดยไม่เคยติดตั้งใหม่เลย แนะนำได้อย่างมั่นใจ มันแข็งแกร่งมาก
    ตอนนั้นมีประสบการณ์กับ Linux แค่ไม่กี่เดือนและย้ายมาตรงจาก Ubuntu แต่แค่กระบวนการติดตั้งก็ทำให้ได้เรียนรู้อะไรมากมายแล้ว ทำได้เพราะเอกสารยอดเยี่ยม และแนวทางที่ต้องลงมือเองก็ช่วยให้ความรู้ Linux ของฉันเพิ่มขึ้นมากตลอดหลายปี
    การอัปเกรดระบบที่คอมไพล์เองสามารถรันเบื้องหลังด้วยโหลดต่ำได้ และเสถียรกว่าระบบแบบไบนารีมาก โดยเฉพาะเครื่องมืออย่าง crossdev ที่สามารถสร้าง toolchain สำหรับ cross-compile แบบปรับแต่งเองได้ด้วยคำสั่งเดียว
    ตลอดหลายปี Gentoo ไม่เคยทำให้ฉันผิดหวังเลย ถ้ายังไม่เคยใช้ก็ควรลองดูสักครั้งจริง ๆ

  • ฟังดูเป็นเป้าหมายที่ยอดเยี่ยมทั้งหมด และเป็นโปรเจกต์ที่เจ๋งมาก ฉันไม่ได้ใช้ Gentoo มาหลายสิบปีแล้ว แต่ยังมีความทรงจำดี ๆ อยู่กับการปล่อยให้พีซีคอมไพล์อะไรบางอย่างข้ามคืน แล้วตอนเช้ามาดูพบว่ามันหา dependency ไม่เจอและล้มเหลวตอนประมาณ 80% ตอนนั้นไม่สนุกเลยแม้แต่น้อย แต่ตอนนี้กลับรู้สึกคิดถึง
    อาจถึงเวลาลองใช้อีกสักรอบ ถ้า “Gentoo aims to be fun” ก็น่าจะสนุกจริง ๆ

    • ทำให้นึกถึงวันเก่า ๆ เลย ตอนนี้ฉันใช้ stable branch อยู่ และยังเห็น build ล้มเหลว เป็นครั้งคราว แต่ดูเหมือนจะน้อยกว่าสมัยก่อนมาก น่าจะราว ๆ ปี 2006
      ด้านหนึ่งก็คือคอมพิวเตอร์สมัยนี้แรงขึ้นมาก จนแพ็กเกจส่วนใหญ่คอมไพล์เสร็จเร็ว แต่อีกด้านหนึ่งก็ยังมีพวกยักษ์ที่ฆ่าเครื่องได้อยู่ โดยเฉพาะยักษ์สาย C++
  • เหตุผลที่ใช้ Gentoo บน CI server ไม่ใช่เรื่องประสิทธิภาพ แต่เป็นเพราะมันง่ายมากที่จะ apply patch ให้แพ็กเกจบางตัว หรือ rebuild ด้วยแฟล็กเฉพาะ แค่ใส่ไว้ใน /etc/portage/packages ก็จบ

  • ยังคิดถึงอยู่เลยว่า Portage เคยดีแค่ไหน ทั้งการติดตั้งแบบขนาน ข้อความผิดพลาดที่เข้าใจได้ โครงสร้างที่ให้ผู้ใช้แพตช์ได้เพียงแค่วางไฟล์ไว้ในไดเรกทอรีย่อยที่เหมาะสมใต้ /etc/portage/ build sandbox และความสามารถในการปรับแต่งต่าง ๆ
    แต่พอถึงจุดหนึ่งฉันก็ไม่อยากรอการคอมไพล์อีกต่อไปแล้ว ถึงแม้แพ็กเกจใหญ่ ๆ จะมีเป็นแพ็กเกจไบนารีให้ใช้ก็ตาม

    • เผื่อไว้เป็นข้อมูล ตอนนี้ดูเหมือนว่าแทบทุกอย่างใน ::gentoo สำหรับโปรไฟล์หลักจะมี แพ็กเกจไบนารี แล้ว ซึ่งถือว่าดีมาก
      แต่ถ้าเริ่มเปลี่ยน USE flags ก็ยังต้องกลับไป build เองอยู่ดี
  • ฉันเจอ Gentoo ครั้งแรกเมื่อประมาณ 20 ปีก่อน ตอนเป็นนักเรียนมัธยม พอบอกพี่คนหนึ่งว่าอยากเรียนรู้ Linux เขาก็บอกให้ติดตั้ง Gentoo ตั้งแต่ stage1
    คำแนะนำเดียวของเขาคือให้พิมพ์คู่มือออกมาก่อนเริ่ม เพราะถ้าการติดตั้งพังขึ้นมา คุณจะไม่มีเบราว์เซอร์อยู่ในกระเป๋าให้เปิดดู
    ตอนนั้นไม่รู้เลยว่ากำลังเริ่มอะไรอยู่ เกือบ 2 สัปดาห์ที่พีซีที่บ้านแทบใช้งานไม่ได้จริง ๆ ทุกคืนฉันสู้กับการติดตั้ง แล้ววันถัดมาก็ไปโรงเรียน อ่านเอกสารจากคอมพิวเตอร์ที่โรงเรียน ถามพี่คนนั้นว่าฉันทำอะไรพังไปบ้าง แล้วกลับบ้านมาลองใหม่
    พอถึงจุดหนึ่งทุกอย่างก็เริ่มเข้าใจ ตอนจบฉันได้เรียนรู้ไปโดยบังเอิญว่า chroot คืออะไร วิธี build kernel แบบงู ๆ ปลา ๆ ว่า /etc/fstab สำคัญแค่ไหน และการทำให้เครื่องบูตไม่ขึ้นนั้นง่ายเพียงใด ระหว่างทางนั้นก็ได้หัดใช้ Vim ไปด้วย และใช้มันต่อมาจนถึงทุกวันนี้
    ตอนนี้ฉันไม่ได้ใช้ Gentoo แล้ว แต่ก็ยังรู้สึกขอบคุณสำหรับช่วงเวลา 2 สัปดาห์นั้นอยู่เสมอ

  • มีเหตุผลดี ๆ มากมายจริง ๆ ตอนนี้ฉันกำลังสร้าง homelab ใหม่ และวางแผนจะลง Alpine Linux หรือ Gentoo บน VisionFive 2 (RISC-V/8GB RAM)
    ทั้งคู่รองรับอยู่แล้ว แต่ Gentoo ใช้ systemd ได้ ซึ่งฉันชอบมากกว่า OpenRC และเพราะฉันเคยใช้ Gentoo มาแค่ไม่กี่ครั้ง มันก็น่าจะสนุกดี