BSD ที่แตกต่างกันมีอะไรที่เหมือนกัน?


62

... และความแตกต่างระหว่างพวกเขาคืออะไร? ฉันตั้งคำถามแบบนี้เพื่อทำให้ชัดเจนฉันไม่สนใจความคิดเห็นที่ไม่ดีนัก แต่เป็นการเปรียบเทียบวัตถุประสงค์ระหว่างรสชาติที่แตกต่างกันของ BSD Unix เป็นการดีที่ฉันจะได้รับข้อเสนอแนะจากผู้ใช้ที่มีประสบการณ์ในพวกเขาทั้งหมด

พื้นหลัง

ฉันเพิ่งค้นพบว่ามี Unix มากกว่า Linux ฉันใช้โซลาริสในที่ทำงานมันทำให้ฉันลืมตา ตอนนี้ฉันสนใจในสิ่งใหม่ ๆ ฉันต้องการลองสิ่งใหม่ ๆ และฉันอยากรู้เกี่ยวกับ BSD

ปัญหา

ฉันไม่ได้ขอคำแนะนำหรือความคิดเห็นในสิ่งที่ BSD การติดตั้ง ; ฉันต้องการทราบความแตกต่าง (และจุดร่วม) ระหว่างพวกเขาเพื่อให้ฉันสามารถตัดสินใจเองได้ ปัญหาคือว่ามันยากที่จะได้รับการเปรียบเทียบที่เหมาะสมระหว่างพวกเขา

หากคุณโชคดีคุณจะได้คำนิยามที่รวดเร็วเช่นนี้:

FreeBSD = Popular all-rounder.
NetBSD = Portable (runs on a lot of platforms, including a toaster)
OpenBSD = Security above anything else.

(มันอาจเป็นจริง แต่มันไม่มีประโยชน์จริง ๆ ฉันแน่ใจว่า FreeBSD นั้นพกพาง่ายและปลอดภัยเช่นกัน ... )

หากคุณโชคร้ายคุณติดอยู่ในหนึ่งใน Unix ที่หลีกเลี่ยงไม่ได้ในตำนานเกี่ยวกับโครงการการแยกการตีตราหน้าผู้อื่นในพื้นที่ทางปัญญา / ศีลธรรม Theo de Raadt เป็นพวกหัวรุนแรงและวิธีการที่ MacOS X และ FreeBSD มีบรรพบุรุษร่วมกันมานานกว่า 20 ปี

ที่น่าสนใจ แต่ไม่ได้ให้ข้อมูลจริงๆใช่ไหม?

BSDs

BSD ที่ฉันสนใจมีดังนี้:

  • FreeBSD
  • OpenBSD
  • NetBSD

และเป็นทางเลือก

  • แมลงปอ
  • ดาร์วิน
  • ...

คำถามของฉัน

เพื่อให้เข้าใจความแตกต่างได้ดีขึ้นนี่คือรายการคำถามที่เกี่ยวข้องบ้างเกี่ยวกับการแจกแจงที่แตกต่างกัน (เราสามารถใช้คำนี้ได้หรือไม่) หากคุณนำเสนอคำตอบภายใต้รูปแบบข้อมูลแบบตารางคุณเป็นฮีโร่ตลอดกาลของฉัน!

  • พวกเขาใช้เคอร์เนลเดียวกันหรือไม่
  • พวกเขาใช้เครื่องมือ userland เดียวกันหรือไม่ (อะไรคือความแตกต่างถ้ามี?)
  • พวกเขาใช้แพ็คเกจ / ระบบการจัดการแหล่งเดียวกันหรือไม่
  • พวกเขาใช้เปลือกเริ่มต้นเดียวกันหรือไม่
  • ไบนารีเป็นแบบพกพาระหว่างพวกเขา?
  • แหล่งที่มาเป็นแบบพกพาระหว่างพวกเขา?
  • พวกเขาใช้ไดเรกทอรีต้นไม้ที่แตกต่างกันหรือไม่
  • ชุมชนของพวกเขามีขนาดใหญ่แค่ไหน พวกเขามีลำดับความสำคัญเท่ากันหรือไม่
  • เท่าไหร่ของปัจจุบันพัฒนาเป็นเรื่องธรรมดา?
  • ความไม่ลงรอยกันหลักระหว่างพวกเขาคืออะไร?

ฉันไม่รู้ว่าจะตอบคำถามเหล่านี้ได้อย่างไรและเกี่ยวข้องกับรูปแบบ StackExchange อย่างไรคำถามนี้จริงๆ ฉันไม่เคยเจอเอกสารง่ายๆที่แสดงความแตกต่างระหว่าง BSD อย่างชัดเจนมีประโยชน์สำหรับผู้ใช้ที่มีประสบการณ์พอสมควรที่จะมองและเลือกได้อย่างง่ายดาย


13
นี่เป็นคำถามที่ยอดเยี่ยม +1
n0pe

4
ฉันแน่ใจว่าเครื่องปิ้งขนมปังเป็นเรื่องตลก 100% ... embeddedarm.com/software/arm-netbsd-toaster.php
tkbx

ฮ่าฮ่ามันเป็นแค่การสาธิต ฉันชอบหน้าตาของ Burnlevel ที่สูงกว่า 200% บนหน้าจอแสดงผล
Aki

คำตอบ:


50

ฉันไม่คิดว่าฉันจะให้คำตอบที่สมบูรณ์แบบแก่คุณและทุกคนอย่างไรก็ตามการใช้ระบบ BSD ทุกวันสำหรับการทำงานฉันมั่นใจว่าฉันสามารถให้ข้อมูลเชิงลึกที่เป็นประโยชน์ในโลก BSD ฉันไม่เคยใช้ NetBSD เลยฉันจะไม่พูดอะไรมากมาย

พวกเขาใช้เคอร์เนลเดียวกันหรือไม่

ไม่แม้ว่าจะมีความคล้ายคลึงกันเนื่องจากส้อมประวัติศาสตร์ แต่ละโครงการมีวิวัฒนาการแยกกัน

พวกเขาใช้เครื่องมือ userland เดียวกันหรือไม่ (อะไรคือความแตกต่างถ้ามี?)

พวกเขาทั้งหมดติดตาม POSIX คุณสามารถคาดหวังว่าชุดเครื่องมือจะมีฟังก์ชันการทำงานเดียวกันระหว่าง * BSD เป็นเรื่องปกติที่จะเห็นความแตกต่างที่ชัดเจนในเครื่องมือการจัดการกระบวนการ / เครือข่ายภายใน BSD

พวกเขาใช้แพ็คเกจ / ระบบการจัดการแหล่งเดียวกันหรือไม่

มีระบบบรรจุภัณฑ์ที่แตกต่างกันสำหรับแต่ละระบบปฏิบัติการ

พวกเขาใช้เปลือกเริ่มต้นเดียวกันหรือไม่

ไม่ตัวอย่างเช่น FreeBSD ใช้ csh, OpenBSD ใช้ ksh

ไบนารีเป็นแบบพกพาระหว่างพวกเขา?

No:

(XXXX@freebsd-6 101)file `which ls`
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.5, dynamically linked (uses shared libs), stripped

พวกเขาไม่สนับสนุนการจำลองไบนารีที่เสถียรและรวดเร็ว อย่าพึ่งมัน

แหล่งที่มาเป็นแบบพกพาระหว่างพวกเขา?

บางคนใช่ตราบใดที่คุณไม่ได้ใช้รหัสเคอร์เนลหรือรหัส libc (ซึ่งผูกติดแน่นกับระบบปฏิบัติการ) ตัวอย่างเช่น

พวกเขาใช้ไดเรกทอรีต้นไม้ที่แตกต่างกันหรือไม่

ไม่พวกมันคล้ายกับ Linux ที่นี่มาก อย่างไรก็ตาม FreeBSD สนับสนุนการใช้ / usr / local / etc สำหรับไฟล์การกำหนดค่าของซอฟต์แวร์บุคคลที่สาม OpenBSD ใส่ทั้งหมดใน / etc ... พวกเขาวางบุคคลที่สามทั้งหมดไว้ใน / usr / local ในขณะที่การแจกจ่าย Linux จะทำตามที่เห็นสมควร โดยทั่วไปคุณสามารถพูดได้ว่า * BSD เป็นคนหัวโบราณมากเกี่ยวกับสิ่งนั้นเป็นของพวกเขาและนั่นไม่ใช่สิ่งที่จะทำขึ้น

ชุมชนของพวกเขามีขนาดใหญ่แค่ไหน พวกเขามีลำดับความสำคัญเท่ากันหรือไม่

FreeBSD นั้นมีขนาดใหญ่ที่สุดและแอคทีฟมากที่สุดคุณสามารถติดต่อผ่านฟอรัมมากมาย, รายชื่อผู้รับจดหมาย, ช่อง IRC และ ... OpenBSD เป็นชุมชนที่ดี

ที่จริงแล้วถ้าคุณคิดว่าคุณต้องการชุมชนที่ดี FreeBSD คือหนทางที่จะไป ชุมชน NetBSD และ OpenBSD มีศูนย์กลางการพัฒนาพูดคุยเกี่ยวกับการปรับปรุงใหม่ ๆ เป็นต้นพวกเขาไม่ต้องการให้การสนับสนุนผู้ใช้หรือการโฆษณาขั้นพื้นฐาน พวกเขาคาดหวังให้ทุกคนเป็นผู้ใช้ระบบยูนิกซ์ขั้นสูงและสามารถอ่านเอกสารก่อนถามอะไรก็ได้

ปัจจุบันมีการพัฒนาเท่าไร?

เนื่องจากรหัสใบอนุญาตฟรีจริง ๆ สามารถไหลระหว่างโครงการได้ OpenBSD มักจะแก้ไขรหัสตาม NetBSD (เนื่องจากแหล่งที่มามีเหมือนกันมาก) FreeBSD ใช้และรวม Packet Filter ของ OpenBSD เข้าด้วยกัน สิ่งเคอร์เนล

ความไม่ลงรอยกันหลักระหว่างพวกเขาคืออะไร?

พวกเขาเข้ากันไม่ได้ในรูปแบบไบนารี แต่พวกเขาส่วนใหญ่เข้ากันได้ในไวยากรณ์และรหัส คุณสามารถวางใจได้ว่าจะสามารถพกพาได้ในโค้ดของคุณ มันจะสร้างหรือ / และดำเนินการได้อย่างง่ายดายในทุกรสชาติของ BSD ยกเว้นว่าคุณจะเข้าใกล้เคอร์เนลมากเกินไป (ifconfig, pfctl ... )

นี่คือวิธีที่คุณสามารถเพลิดเพลินกับการเรียนรู้จากโลก BSD:

ลองแทนที่เราเตอร์ที่บ้านของคุณด้วยกล่อง openbsd เล่นกับ pf และเครือข่าย คุณจะเห็นว่าการทำสิ่งที่คุณต้องการเป็นเรื่องง่ายเพียงใด มันสะอาดน่าเชื่อถือและปลอดภัย ใช้ FreeBSD เป็นเดสก์ท็อปรองรับ GPU ได้มากมายคุณสามารถใช้แฟลชได้ในระดับหนึ่งมีความเข้ากันได้กับลินุกซ์ไบนารี คุณสามารถสร้างเคอร์เนลที่กำหนดเองของคุณได้อย่างปลอดภัย (แนะนำให้ทำ) มันเป็นประสบการณ์การเรียนรู้ที่ดีโดยรวม ลอง NetBSD บนฮาร์ดแวร์เก่ามากหรือแม้กระทั่งเครื่องปิ้งขนมปัง

แม้ว่าพวกเขาจะแตกต่างกัน แต่พวกเขาแต่ละคนพยายามที่จะเป็นระบบปฏิบัติการที่ดีและมันจะจับคู่ผู้ใช้มากกว่าสถานการณ์ เป็นประสบการณ์การเรียนรู้ลองทั้งหมด (Net / Open / Free) แต่ต่อมาคุณอาจพบว่าตัวเองใช้เพียง 1 สำหรับสถานการณ์ส่วนใหญ่ (เนื่องจากคุณมีความรู้ในระบบที่เฉพาะเจาะจงมากขึ้นหรือเหมาะสมกับชุมชนมากขึ้น)

BSDs อื่น ๆ เป็นลูกผสมหรือเพียงแค่การดัดแปลงเล็กน้อยฉันคิดว่ามันดีกว่าที่จะอยู่ใกล้แหล่งที่มาของการพัฒนาซอฟต์แวร์ (ใช้ตัวกรองแพ็คเก็ตบน OpenBSD กำหนดค่าเดสก์ท็อปของคุณบน FreeBSD, ... )

ในฐานะที่เป็นบันทึกส่วนตัวฉันมีความสุขที่ได้เห็นผู้ที่กระตือรือร้นเหมือนคุณและฉันหวังว่าคุณจะได้พบกับสิ่งดีๆมากมายในโลก BSD BSD ไม่ได้เกี่ยวกับการเกลียดชังหน้าต่างหรือระบบปฏิบัติการอื่น ๆ แต่เป็นเรื่องที่ชอบ Unix


5
เลื่อนลงฉันแน่ใจว่านี่เป็นคำตอบของ Gilles ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมแม้ว่า Aki!
n0pe

2
@ MaxMackie - ฉันรู้ว่าคุณหมายถึงอะไรฉันกำลังคิดในสิ่งเดียวกัน! :-)
Chris Down

2
ฮ่าฮ่าฉันไม่กระตือรือร้นจริงๆที่นี่ดังนั้นฉันไม่รู้ว่าใครเป็น Gilles แต่ฉันรอคอยที่จะอ่านคำตอบของเขา!
Aki

1
ขอบคุณมากสำหรับคำตอบที่ยอดเยี่ยม! ฉันชอบส่วนสุดท้ายโดยเฉพาะ ฉันเพิ่งติดตั้ง FreeBSD บนเครื่องเสมือน เรามาดูกันว่ามันจะเป็นอย่างไร ...
rahmu

6
+1 สำหรับประโยคสุดท้าย แต่ฉันหวังว่าฉันจะสามารถ
+1

16

(ฉันไม่สามารถให้คำตอบที่สมบูรณ์ แต่ฉันก็ไม่สามารถหันเหไปจากคำถามนี้ได้ดังนั้น ... ฉันจะพูดถึงบางประเด็น ... FreeBSD เป็น BSD ที่ใช้มากที่สุด (ในปี 2005)ดังนั้นฉันจึงลอง เพื่อเสนอเบาะแสบางอย่างเกี่ยวกับ "คนอื่น ๆ ")

  • ก่อนอื่นคุณมีสิทธิ์ที่จะยกเลิกคำอธิบายแบบบรรทัดเดียวคำขวัญของ OpenBSD คือ "ฟรีใช้งานได้และปลอดภัย" และนักพัฒนา NetBSD ก็พยายามสร้างระบบการทำงาน
  • ความเข้ากันได้ของไบนารี : เห็นได้ชัดว่าคุณสามารถเรียกใช้ FreeBSD ไบนารีบน NetBSD (ซึ่งฉันไม่เคยลอง) นี่เป็นรูปแบบเดียวของการเข้ากันได้ของไบนารีระหว่าง BSDs ที่ฉันรู้จัก (นอกเหนือจากความเข้ากันได้ของ Linux กับ NetBSD และ FreeBSD (จำกัด ) ของไบนารี)
  • พอร์ต : NetBSD และ DragonFlyBSD พอร์ตใช้pkgsrc, OpenBSD อยู่ที่นี่ , FreeBSD เป็นที่นี่ คุณสามารถอ้างถึงสิ่งนั้นเพื่อเปรียบเทียบแพ็คเกจที่มี ระบบนิเวศที่เกี่ยวข้องนั้นคล้ายคลึงกัน แต่ไม่เหมือนกัน
    • pkgsrcโดดเด่นในฐานะที่เป็นอุปกรณ์พกพาเช่นคุณสามารถใช้กับ Minix 3 หรือ Linux ได้เช่นกัน ดังนั้นจึงไม่มีความสนใจใน BSD และ (อาจเป็นผล) มีพอร์ตมากกว่า pkgsrc-wipทำให้ง่ายต่อการมีส่วนร่วม
  • NetBSDเพิ่งเปิดตัวกรอบการทดสอบอัตโนมัติอย่างละเอียด(ดูเพิ่มเติมkyua) ทำให้พวกเขาสามารถทำการทดสอบอัตโนมัติ (และที่นั่นrumpทำให้เป็นไปได้ที่จะมีการทดสอบโค้ดเคอร์เนลในพื้นที่ผู้ใช้) นอกจากนี้ฉันยังได้รับการสนับสนุน XEN อย่างละเอียดอีกด้วย แยกย้ายกันเล็ก ๆ น้อย ๆ จาก "พกพา" การแสวงหาของพวกเขาแนะนำสามชั้น: "โฟกัส", "ชีวจิต" และ "ช่วยชีวิต" พวกเขายังแนะนำ Lua เข้าสู่ระบบฐาน
  • จะจับดริฟท์ของOpenBSD , เหล่านี้ "เอกสาร" (ส่วนใหญ่เป็นภาพนิ่งที่ดี)เป็นทรัพยากรที่มีคุณค่าและให้ข้อมูลเชิงลึกเกี่ยวกับการพัฒนาล่าสุดใน OpenBSD
  • DragonFlyBSDพัฒนา ZFS-contender ของพวกเขาHAMMERซึ่งเห็นได้ชัดว่าหิวน้อยกว่าหน่วยความจำมาก (อาจไม่สมบูรณ์ตามคุณลักษณะฉันไม่สามารถบอกได้)
  • ฉันไม่เห็นด้วยกับ @Aki เกี่ยวกับการขาดการสนับสนุนกับ OpenBSD หรือ NetBSD มองไปที่รายชื่อผู้รับจดหมายทั้งเสนอชุมชนที่เป็นประโยชน์ - ดู ตัวเอง - การอ้างถึง manpage นั้นไม่ใช่ความผิด

บรรทัดล่าง ลองดูรอบ ๆ และลองดู การใช้แพคเกจไบนารี (โดยปกติจะมีให้พร้อมกับการวางจำหน่ายแบบไบนารี่, ไม่ใช่สำหรับสแน็ปช็อตจาก-current), มันไม่ได้ทำงานมากนักที่จะได้รับระบบ BSD ที่ใช้งานได้

แก้ไขคุณอาจสนใจดาวเคราะห์ของพวกเขา: undeadly.orgสำหรับ OpenBSD, blogs.FreeBSDish.orgสำหรับ FreeBSD และplanet.netbsd.seสำหรับพวกเขาทั้งหมด ( ลงในขณะนี้ (?))


5
คำตอบที่ดี ฉันคิดว่ามีหลายสิ่งที่จะบอกว่ามันสมควรได้รับการเขียนบทความ ฉันไม่ได้ตั้งใจจะพูดว่าชุมชน OpenBSD ไม่มีประโยชน์ ฉันได้ทำการวิจัยเกี่ยวกับความเข้ากันได้ของไบนารีมีมากขึ้น: netbsd.org/docs/compat.htmlและ compat_linux บน OpenBSD เห็นได้ชัดว่าเปิดใช้ในการมี FreeBSD compat ไบนารี: nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html อย่างที่คุณพูดมันมี จำกัด และฉันจะไม่พึ่งพามัน
Aki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.