- ประสบการณ์การฟื้นความสนุกของการโฮสต์เองและปรับความสัมพันธ์กับเทคโนโลยีใหม่อีกครั้งผ่าน FreeBSD และระบบปฏิบัติการตระกูล BSD
- สร้างสภาพแวดล้อมด้วย BastilleBSD สำหรับ jail และ vm-bhyve สำหรับ VM ผ่านการทดลองและลองผิดลองถูกด้วยตัวเอง
- ด้วย โครงสร้างที่เรียบง่าย เอกสารที่ยอดเยี่ยม และ ความเข้ากันได้ระยะยาว ทำให้แม้ข้อมูลเก่าก็ยังใช้ได้กับระบบนี้
- ได้รับ การสนับสนุนอันเป็นมิตรจากชุมชน BSD ช่วยคลี่คลายความสับสนระหว่างการเรียนรู้ และได้สัมผัสความตื่นเต้นแบบมือใหม่อีกครั้ง
- เน้นย้ำ ความสนุกและคุณค่าของการเรียนรู้อย่างต่อเนื่อง ที่เกิดขึ้นจากกระบวนการเรียนรู้เทคโนโลยีใหม่
การย้ายมาใช้ FreeBSD และการเริ่มต้นครั้งใหม่
- เนื่องจากวิธีใช้งานเทคโนโลยีแบบเดิมไม่ตอบโจทย์อีกต่อไป จึงมองหาการเริ่มต้นใหม่บน ระบบปฏิบัติการตระกูล BSD
- ก่อนหน้านี้เคยลองทั้ง FreeBSD และ OpenBSD โดยใช้ OpenBSD อย่างเสถียรในฐานะ VM แบบวัตถุประสงค์เดียวและเราเตอร์
- แต่สำหรับระบบที่ใช้งานหลายวัตถุประสงค์นั้นไม่ค่อยเหมาะ จึงเลือก FreeBSD
- ได้เซิร์ฟเวอร์ที่เหมาะสมผ่าน การประมูลเซิร์ฟเวอร์ของ Hetzner และเริ่มสร้างสภาพแวดล้อม FreeBSD
- ระหว่างเรียนรู้ระบบใหม่ ก็ได้พบทั้ง ความสับสนในช่วงแรกและความสนุกของการเรียนรู้ ไปพร้อมกัน
การจัดวางระบบและการเลือกเครื่องมือ
- ใช้ BastilleBSD เพื่อจัดการสภาพแวดล้อม jail และใช้ vm-bhyve เพื่อจัดการเครื่องเสมือน
- แม้หลายอย่างจะเป็นการตั้งค่าที่เพิ่งเจอครั้งแรก แต่หลังจากลองผิดลองถูกก็ได้โครงสร้างที่เหมาะกับตัวเอง
- แม้อาจต่างจากการตั้งค่าทั่วไปอยู่บ้าง แต่ก็พอใจกับสภาพแวดล้อมที่ปรับให้เข้ากับการใช้งานส่วนตัว
- กล่าวถึงแผนที่จะแชร์รายละเอียดการตั้งค่าเพิ่มเติมในอนาคตเมื่อสภาพแวดล้อมนิ่งแล้ว
ข้อดีและแนวคิดของ FreeBSD
- ยกให้ ความเรียบง่าย และ เอกสารประกอบที่ยอดเยี่ยม เป็นข้อดีสำคัญที่สุด
- งานส่วนใหญ่สามารถจัดการได้ผ่าน SSH ด้วยคำสั่งเพียงไม่กี่คำสั่ง
- ข้อมูลที่ต้องการสามารถดูได้ทันทีจาก man page ออนไลน์หรือผ่าน CLI
- มี ความเข้ากันได้ระยะยาว ที่โดดเด่น จนแม้แต่คำตอบจากฟอรัมในปี 2008 ก็ยังใช้ได้
- ขณะเดียวกันก็ยังมีการเพิ่มความสามารถใหม่อย่างต่อเนื่อง ทำให้ระบบไม่ได้ให้ความรู้สึกล้าสมัย
ความยากระหว่างการเรียนรู้และการสนับสนุนจากชุมชน
- ระหว่างเรียนรู้เคยเกิด ความสับสน เช่น เรื่องรอบการออกรุ่นและความสัมพันธ์ระหว่าง pkg/ports
- อีกทั้งยังค้นหาข้อมูลได้ยากเพราะไม่รู้จะใช้คำค้นอย่างไรให้เหมาะสม
- แก้ปัญหาได้ด้วย ความช่วยเหลือจากชุมชน BSD และผู้ใช้ Fediverse
- มีหลายคนให้คำตอบที่เจาะจงและเป็นประโยชน์
- ทำให้รู้สึกถึงความสนุกเหมือนได้กลับไปเป็นมือใหม่อีกครั้ง พร้อมสัมผัสถึงความอบอุ่นของชุมชน
ความพึงพอใจในปัจจุบันและทิศทางต่อจากนี้
- ยังไม่แน่ชัดว่าจะคงการตั้งค่านี้ไว้ในระยะยาวหรือไม่
- แต่ในตอนนี้ แก่นสำคัญคือ ความสนุกจากการเรียนรู้เทคโนโลยีใหม่
- ผ่านการเรียนรู้และการทดลอง จึงได้ค้นพบ ความสนุกและความสร้างสรรค์ของการโฮสต์เอง กลับมาอีกครั้ง
- ปิดท้ายด้วยทัศนคติว่า “สิ่งสำคัญคือกระบวนการเรียนรู้ที่กำลังเกิดขึ้นในตอนนี้”
1 ความคิดเห็น
ความคิดเห็นใน Hacker News
พื้นฐานของ โฮมแล็บ ของฉันคือ OpenBSD
รันทั้ง DNS, DHCP, เราเตอร์ไฟร์วอลล์ และเว็บเซิร์ฟเวอร์ขนาดเล็ก
การตั้งค่าง่ายกว่า Linux มาก และรู้สึกว่าง่ายกว่า FreeBSD ด้วย
แค่คัดลอกตัวอย่างจาก FAQ มาปรับแก้นิดหน่อยก็เสร็จแล้ว จึงไม่ต้องจัดการดีมอนหลายตัวและไฟล์คอนฟิกซับซ้อนแบบ Linux
แต่โฮสต์ KVM ยังแยกไปรันบน Linux อยู่
ข้อดีมากคือใช้งานได้อย่างเงียบๆ โดยไม่ต้องเจอดราม่าการเข้าซื้อกิจการหรือเสียงรบกวนจากชุมชนแบบ Linux
คิดว่าแนวทางกันการแทรกแซงจากภายนอกแบบ ‘toxic slug’ เป็นสิ่งที่โอเพนซอร์สอื่นๆ ก็ควรมี
ควบคุมทุกอย่างได้ง่ายด้วย
rc.confและองค์ประกอบที่ไม่จำเป็นก็ไม่ถูกรวมมาในระบบติดตั้งพื้นฐานในทางกลับกัน Linux มักตั้งใจเป็นระบบอเนกประสงค์ จึงมีแนวโน้มที่การตั้งค่าจะซับซ้อนขึ้น
ทำให้สามารถใช้เทคโนโลยีเซิร์ฟเวอร์สมัยใหม่บน OBSD ได้ด้วย
ถ้าไม่มีอะไหล่สำรองมากพอ การหาสาเหตุค่อนข้างยาก และเราก็มักมีเวลาและสมาธิไม่พออยู่เสมอ
ฉันเองก็รันโฮมแล็บด้วย FreeBSD
รองรับ ZFS ได้ยอดเยี่ยม และความสนุกจากการลองทำในอีกแนวทางหนึ่งก็มากด้วย
การตั้งค่าพื้นฐานจัดการด้วย README.md ส่วนที่เหลือทำอัตโนมัติด้วย Ansible
แต่ละบริการรันอยู่ใน jail และข้อมูลจะเมานต์เป็น ZFS subvolume ที่
/bucketทำให้สามารถทิ้ง jail แล้วสร้างใหม่ได้ทุกเมื่อ และเข้าถึงแยกแต่ละตัวผ่าน SSH ได้ง่าย
มันแชร์โฮสต์ไฟล์ซิสเต็มได้ตรงๆ แต่จำกัดการเข้าถึงเครือข่ายไว้
ดูเอกสารได้ที่ FreeBSD Handbook และ หน้า man
ไม่มี systemd และแนวคิดคอนเทนเนอร์ก็มีมาในระบบตั้งนานแล้ว
ฉันอยากจะชอบ FreeBSD มากๆ แต่ในโลกความจริง ความทรมานจากการตั้งค่า มันหนักเกินไป
การตั้งค่าไฟร์วอลล์ก็มีข้อมูลอ้างอิงน้อย และ pm2 ก็มีบั๊กเรื่อง process ID
สุดท้ายต้องประดิษฐ์ล้อขึ้นใหม่ทุกครั้งเพื่อทำงานเซิร์ฟเวอร์ทั่วไป เลยยอมแพ้
สำหรับคนที่ไม่ใช่นักพัฒนา OS อย่างฉัน มันหนักเกินรับไหว
อยากรู้ว่าเคยลองเอาปัญหาเดิมกลับมาลองใหม่กับ LLM ยุคปัจจุบันหรือยัง
FreeBSD ยังมีเทมเพลตพื้นฐานที่ใช้ IPFW มาให้ด้วย
ดูที่ตัวเลือก
firewall_typeในrc.confก็สามารถตั้งค่าได้ง่ายตั้งแต่ NAT gateway แบบพื้นฐานไปจนถึงไฟร์วอลล์ฝั่งไคลเอนต์รายละเอียดดูได้ที่
/etc/rc.firewallเมื่อก่อนฉันเคยสร้าง VPN server เองด้วย FreeBSD และ openvpn เพื่อรองรับลูกค้าหลายร้อยราย
จนถึงตอนนี้ก็ยังชอบ pf มากกว่าไฟร์วอลล์บน Linux
เพียงแต่ยังคิดถึงความสามารถด้าน multi-host orchestration แบบ docker swarm อยู่
ความรู้ FreeBSD ให้ความรู้สึกว่า ใช้งานได้นานกว่า ความรู้ฝั่ง Linux
มองดูสภาพแวดล้อมที่สับสนของ Linux แล้ว BSD กลับให้ความรู้สึกสบายใจกว่า
บางครั้งเหตุผลที่เปลี่ยนเทคโนโลยีก็เป็นแค่ ความสุขของการเรียนรู้
ฉันเองก็เคยสร้างแพลตฟอร์ม self-hosting โดยไล่ตาม ‘ความสะดวก’ แต่เวทมนตร์ที่แท้จริงอยู่ที่ กระบวนการลงมือแก้ปัญหาด้วยตัวเอง
ตอนนี้เทคโนโลยีอย่าง docker/podman และ flatpak ทำให้การเข้าถึงง่ายขึ้นมากแล้ว
แต่ก็น่าเสียดายที่แอป CLI ไม่ค่อยถูกแจกจ่ายผ่าน flatpak
ฉันรัก BSD โดยเฉพาะ FreeBSD มาตั้งแต่ 25 ปีก่อน
เคยลองใช้ DragonflyBSD เป็นเดสก์ท็อปด้วย และเสียดายที่ทุกวันนี้ BSD ได้รับความสนใจน้อยเกินไป
อย่าลืมว่า BSD มีบทบาทสำคัญอย่างมากในรากฐานของ iOS และ macOS ด้วย
มันเสถียร และไม่ถูกกระแสจากบริษัทใหญ่พัดพาไปเหมือน Linux
แอปสมัยใหม่อย่าง KDE ก็อัปเดตแบบ rolling อยู่เสมอ และเอกสารก็ดีเยี่ยม
ฉันชอบที่รองรับ ZFS on root เป็นมาตรฐานด้วย
ผู้ดูแลจำนวนน้อยยังคงประคับประคองมันไว้ได้อย่างสม่ำเสมอ
เมื่อก่อนฉันเคยฟังพอดแคสต์ที่คุณชม FreeBSD แล้วเริ่มเข้ามาใช้งานตามนั้น
ที่บ้านฉันเคยใช้ FreeBSD เพราะอยากได้สภาพแวดล้อมที่ต่างจากงานประจำ
แต่พอเริ่มใช้ CPU โครงสร้าง big.LITTLE อย่าง ARM RockChip และ Intel Alder Lake ตัว scheduler ของ FreeBSD กลับใช้ประโยชน์จากมันได้ไม่ดี
เลยย้ายกลับมา Linux และไปติดระบบนิเวศของ Nix แทน
ถ้า ULE scheduler ดีขึ้นเมื่อไร ฉันก็คิดจะกลับไปอีก
เมื่อไม่นานมานี้ฉันเพิ่งสร้างเราเตอร์บน OpenBSD และมันเป็นประสบการณ์ที่ สดชื่นมาก
รายละเอียดเขียนไว้ใน บทความบล็อกของฉัน
โดยปกติ OpenBSD จะ แนะนำให้ติดตั้ง file set ทั้งหมด
เพราะบางพอร์ตอาจต้องใช้ไลบรารีที่คาดไม่ถึง
อีกอย่าง OpenBSD Handbook ไม่ใช่เอกสารทางการ ดังนั้นควรอ้างอิงหน้า man, openbsd.org หรือเมลลิงลิสต์ misc@ จะดีกว่า
ประทับใจที่ตั้งค่า IPv6 เสร็จสมบูรณ์ด้วย
ฉันโฮสต์ Jellyfin กับ n8n เองอยู่ แต่ตอนนี้กำลัง ทยอยย้ายขึ้นคลาวด์
เวลาที่ต้องใช้เพื่อรักษาความพร้อมใช้งานของบริการมันมากเกินไป และบล็อกก็ย้ายไป Cloudflare Pages แล้ว
ข้อมูลมีเดีย 45TB ถ้าจะย้ายขึ้นคลาวด์จะมีค่าใช้จ่ายเดือนละ $250~$1500 เลยไม่ไหวในทางปฏิบัติ แต่สักวันก็อยากย้าย
ฉันก็ self-host เหมือนกัน แต่ดูแลปีละไม่กี่ชั่วโมงเอง
ดู ลิงก์ issue
ฉันเคยใช้แค่ Linux, Windows, macOS เลยอยากรู้ว่าถ้าจะเริ่ม BSD ต้องรู้อะไรบ้าง
คำสั่งตระกูล coreutils ยังใช้ได้เหมือนเดิมไหม? แล้วความเข้ากันได้ของแพ็กเกจ Emacs เป็นอย่างไรบ้าง
แต่ถ้าอยู่ในขอบเขต POSIX ก็ไม่มีปัญหา
เครื่องมือ GNU ก็ติดตั้งเพิ่มได้ เช่น
makeจะใช้เป็นgmakeตอนที่ฉันใช้ช่วงปี 1999~2015 ก็ไม่ได้มีปัญหาใหญ่
ต่อให้ไม่รู้จัก gnu/coreutils มาก่อนก็คงไม่เห็นความต่างมากนัก
อยากรู้ว่า การรองรับแอปพลิเคชัน บน BSD เป็นอย่างไร
ส่วนใหญ่เห็นแต่แพ็กเกจ deb หรือ rpm เลยอยากรู้ว่า FreeBSD ports ครอบคลุมได้มากแค่ไหน
และสงสัยเรื่องไดรเวอร์ฮาร์ดแวร์ โดยเฉพาะการรองรับชิป Wi‑Fi รุ่นใหม่ๆ ด้วย
ฝั่งเดสก์ท็อปอาจจุกจิกหน่อย แต่ BSD ถูกปรับมาเหมาะกับงานเว็บเซิร์ฟเวอร์
ใช้เครื่องมืออย่าง Bastille ก็ทำ การดีพลอยแบบ jail-based ได้ง่าย
แนะนำให้ลองติดตั้งบน FreeBSD VM หรือ USB ด้วยตัวเอง
เอกสารและฟอรัมเป็นมิตรและช่วยเหลือดีมาก