BSD khác nhau có điểm gì chung?


62

... Và sự khác biệt giữa chúng là gì? Tôi đã đặt ra câu hỏi của mình như thế này để làm rõ rằng tôi không quan tâm đến một luồng ý kiến, thay vào đó là so sánh khách quan giữa các hương vị khác nhau của BSD Unix. Lý tưởng nhất là tôi có thể nhận được phản hồi từ những người dùng có kinh nghiệm trong tất cả chúng.

Lý lịch

Gần đây tôi đã phát hiện ra rằng Unix có nhiều thứ hơn là Linux. Tôi sử dụng Solaris tại nơi làm việc, nó mở mắt ra. Bây giờ tôi quan tâm đến các thông báo mới, tôi muốn thử một cái mới và tôi tự nhiên tò mò về BSD.

Vấn đề

Tôi không hỏi ý kiến ​​hay ý kiến ​​về việc cài đặt BSD nào ; Tôi muốn biết sự khác biệt (và điểm chung) giữa chúng để tôi có thể tự quyết định. Vấn đề là rất khó để có được sự so sánh thích hợp giữa chúng.

Nếu bạn may mắn, bạn sẽ nhận được một số định nghĩa vội vàng như thế này:

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

(Điều này có thể đúng, nhưng nó không thực sự hữu ích. Tôi chắc chắn FreeBSD cũng có thể mang theo và bảo mật ...)

Nếu bạn không may mắn, bạn bị cuốn vào một trong những huyền thoại Unix không thể tránh khỏi về các dự án chia tách, giả mạo, đổi thương hiệu dựa trên nền tảng trí tuệ / đạo đức, làm thế nào Theo de Raadt là một kẻ cực đoan và MacOS X và FreeBSD có tổ tiên chung cách đây hơn 20 năm.

Hấp dẫn, nhưng không thực sự nhiều thông tin, phải không?

BSD

Các BSD tôi quan tâm là:

  • FreeBSD
  • OpenBSD
  • NetBSD

và tùy chọn

  • con chuồn chuồn
  • Darwin
  • ...

Những câu hỏi của tôi

Để hiểu rõ hơn về sự khác biệt, đây là danh sách các câu hỏi hơi liên quan đến các bản phân phối khác nhau (chúng ta có thể sử dụng thuật ngữ này không?). Nếu bạn trình bày câu trả lời của mình dưới một số dạng dữ liệu dạng bảng, bạn là người hùng mọi thời đại của tôi!

  • Họ có sử dụng cùng một kernel không?
  • Họ có sử dụng cùng các công cụ userland không? (sự khác biệt là gì, nếu có?)
  • Họ có sử dụng cùng một hệ thống quản lý nguồn / gói không?
  • Họ có sử dụng cùng một vỏ mặc định?
  • Là nhị phân di động giữa chúng?
  • Là nguồn di động giữa chúng?
  • Họ có sử dụng các cây thư mục khác nhau?
  • Làm thế nào lớn là cộng đồng tương ứng của họ? Có phải chúng cùng một thứ tự cường độ?
  • Bao nhiêu của sự phát triển hiện tại là phổ biến?
  • Sự không tương thích chính giữa chúng là gì?

Tôi không biết những câu hỏi đó dễ trả lời như thế nào và có liên quan đến định dạng StackExchange câu hỏi này thực sự như thế nào. Tôi chưa bao giờ bắt gặp một tài liệu đơn giản liệt kê sự khác biệt giữa các BSD một cách rõ ràng, hữu ích cho người dùng khá có kinh nghiệm để xem xét và đưa ra lựa chọn dễ dàng.


13
Đây là một câu hỏi hay, +1
n0pe

4
Tôi đã chắc chắn 100% điều nướng bánh mỳ là một trò đùa ... embeddedarm.com/software/arm-netbsd-toaster.php
tkbx

haha tốt, nó chỉ là một bản demo Tôi thích cách burnlevel dường như trên 200% trên màn hình hiển thị.
Aki

Câu trả lời:


50

Tôi không nghĩ rằng tôi sẽ cung cấp cho bạn và mọi người câu trả lời hoàn hảo, tuy nhiên, sử dụng hệ thống BSD hàng ngày cho công việc, tôi chắc chắn rằng tôi có thể cung cấp cho bạn cái nhìn sâu sắc hữu ích trong thế giới BSD. Tôi chưa từng sử dụng NetBSD, tôi sẽ không nói nhiều về nó.

Họ có sử dụng cùng một kernel không?

Không, mặc dù có những điểm tương đồng do các dĩa lịch sử. Mỗi dự án phát triển riêng biệt.

Họ có sử dụng cùng các công cụ userland không? (sự khác biệt là gì, nếu có?)

Tất cả đều theo POSIX. Bạn có thể mong đợi một bộ công cụ có cùng chức năng giữa * BSD. Cũng rất phổ biến để thấy một số khác biệt rõ ràng trong các công cụ quản lý mạng / quy trình trong BSD.

Họ có sử dụng cùng một hệ thống quản lý nguồn / gói không?

Họ cung cấp một hệ thống đóng gói, khác nhau cho mỗi hệ điều hành.

Họ có sử dụng cùng một vỏ mặc định?

Không, ví dụ FreeBSD sử dụng csh, OpenBSD sử dụng ksh.

Là nhị phân di động giữa chúng?

Không:

(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

Họ không thực sự hỗ trợ thi đua nhị phân ổn định và nhanh chóng. Đừng dựa vào nó.

Là nguồn di động giữa chúng?

Một số có, miễn là bạn không sử dụng mã hạt nhân hoặc mã libc (được gắn chặt với HĐH) chẳng hạn.

Họ có sử dụng các cây thư mục khác nhau?

Không, chúng rất giống với Linux ở đây. Tuy nhiên FreeBSD ủng hộ việc sử dụng / usr / local / etc cho các tệp cấu hình của phần mềm bên thứ ba. OpenBSD đặt tất cả vào / etc ... Họ đặt tất cả bên thứ ba vào / usr / local, trong khi phân phối Linux sẽ làm như họ thấy phù hợp. Nói chung, bạn có thể nói rằng * BSD rất bảo thủ về điều đó, mọi thứ thuộc về nơi họ thuộc về và đó không phải là thứ để bù đắp.

Làm thế nào lớn là cộng đồng tương ứng của họ? Có phải chúng cùng một thứ tự cường độ?

FreeBSD là lớn nhất và tích cực nhất, bạn có thể tiếp cận nó thông qua rất nhiều diễn đàn, danh sách gửi thư, kênh IRC và ... OpenBSD có một cộng đồng tốt nhưng chủ yếu hiển thị qua IRC và danh sách gửi thư.

Trên thực tế nếu bạn nghĩ rằng bạn cần một cộng đồng tốt, FreeBSD là con đường để đi. Cộng đồng NetBSD và OpenBSD tập trung vào phát triển, nói về những cải tiến mới, v.v. Họ không thực sự muốn hỗ trợ người dùng hoặc quảng cáo cơ bản. Họ hy vọng tất cả mọi người sẽ là người dùng unix nâng cao và có thể đọc tài liệu trước khi hỏi bất cứ điều gì.

Bao nhiêu của sự phát triển hiện nay là phổ biến?

Do mã giấy phép thực sự miễn phí có thể lưu chuyển giữa các dự án, OpenBSD thường vá mã của họ sau NetBSD (vì nguồn của họ có nhiều điểm chung), FreeBSD lấy và tích hợp Bộ lọc gói của OpenBSD, v.v. những thứ hạt nhân.

Sự không tương thích chính giữa chúng là gì?

Chúng không tương thích ở dạng nhị phân, nhưng chúng hầu hết tương thích về cú pháp và mã. Bạn có thể dựa vào đó để đạt được tính di động trong mã của bạn. Nó sẽ xây dựng hoặc / và thực thi dễ dàng trên tất cả các hương vị của BSD, trừ khi bạn đến quá gần kernel (ifconfig, pfctl ...).

Đây là cách bạn có thể tận hưởng việc học hỏi từ thế giới BSD:

Cố gắng thay thế bộ định tuyến nhà của bạn bằng một hộp openbsd, chơi với pf và mạng. Bạn sẽ thấy thật dễ dàng để làm những gì bạn muốn. Nó sạch sẽ, đáng tin cậy và an toàn. Sử dụng FreeBSD làm máy tính để bàn, chúng hỗ trợ rất nhiều GPU, bạn có thể sử dụng flash ở một mức độ nào đó, có một số khả năng tương thích với các nhị phân Linux. Bạn có thể xây dựng kernel tùy chỉnh một cách an toàn (thực sự điều này được khuyến nghị). Đó là một kinh nghiệm học tập tốt. Hãy thử NetBSD trên phần cứng rất cũ hoặc thậm chí là lò nướng bánh .

Mặc dù chúng khác nhau, nhưng mỗi người trong số họ đều cố gắng trở thành một hệ điều hành tốt và nó sẽ phù hợp với người dùng hơn là các tình huống. Là một trải nghiệm học tập, hãy thử tất cả (Net / Open / Free), nhưng sau này bạn có thể thấy mình chỉ sử dụng 1 cho hầu hết các tình huống (vì bạn hiểu biết nhiều hơn trong một hệ thống cụ thể hoặc phù hợp hơn với cộng đồng).

Các BSD khác là các phiên bản lai hoặc chỉ là các phiên bản sửa đổi một chút, tôi thấy tốt hơn là nên ở gần nguồn phát triển phần mềm (sử dụng bộ lọc gói trên OpenBSD, tự cấu hình máy tính để bàn của bạn trên FreeBSD, ...).

Như một lưu ý cá nhân, tôi rất vui khi thấy một người đam mê như bạn và tôi hy vọng bạn sẽ tìm thấy nhiều điều tốt đẹp trong thế giới BSD. BSD không phải là ghét các cửa sổ hoặc các HĐH khác, mà là về việc thích Unix.


5
Cuộn xuống tôi chắc chắn đây là câu trả lời của Gilles. Cảm ơn vì một câu trả lời tuyệt vời mặc dù Aki!
n0pe

2
@MaxMackie - Tôi hiểu ý của bạn, tôi đã nghĩ điều tương tự! :-)
Chris Xuống

2
Haha Tôi không thực sự hoạt động ở đây vì vậy tôi không biết Gilles là ai, nhưng tôi rất mong được đọc câu trả lời của anh ấy!
Aki

1
Một lời cảm ơn lớn cho một câu trả lời tuyệt vời! Tôi đặc biệt thích phần cuối cùng. Tôi vừa cài đặt FreeBSD trên máy ảo. Hãy xem mọi thứ diễn ra như thế nào ...
rahmu

6
+1 cho câu cuối cùng. Nhưng tôi ước tôi có thể +2 cho toàn bộ
Shiplu Mokaddim

16

(Tôi không thể đưa ra câu trả lời hoàn chỉnh, nhưng tôi cũng không thể từ chối câu hỏi này, vì vậy ... Tôi sẽ chỉ giải quyết một số điểm ... FreeBSD là BSD được sử dụng nhiều nhất (năm 2005) , vì vậy tôi đã thử để cung cấp một số manh mối liên quan đến "những người khác".)

  • Trước hết, bạn có quyền bác bỏ các giải thích một dòng , phương châm của OpenBSD là "miễn phí, chức năng và bảo mật" và các nhà phát triển NetBSD cũng cố gắng tạo ra một hệ thống chức năng.
  • tương thích nhị phân : Rõ ràng bạn có thể chạy các tệp nhị phân FreeBSD trên NetBSD (điều mà tôi chưa bao giờ thử). Đây là hình thức tương thích nhị phân duy nhất giữa các BSD mà tôi biết (ngoài khả năng tương thích nhị phân Linux của NetBSD và FreeBSD (giới hạn)).
  • các cổng : Các cổng của NetBSD và DragonFlyBSD pkgsrc, OpenBSD đều ở đây , FreeBSD ở đây . Bạn có thể tham khảo để so sánh các gói có sẵn. Các hệ sinh thái tương ứng là tương tự nhưng không giống nhau.
    • pkgsrcnổi bật vì nó được tạo ra để có thể mang theo, tức là bạn cũng có thể sử dụng nó với Minix 3 hoặc Linux. Do đó, không có BSD quan tâm đến nó và (có thể là hậu quả) có nhiều cổng hơn. pkgsrc-wiplàm cho nó dễ dàng để đóng góp.
  • NetBSD gần đây đã giới thiệu Khung kiểm tra tự động kỹ lưỡng (xem thêm kyua) cho phép họ chạy thử nghiệm tự động (và có rump, để có thể kiểm tra mã hạt nhân trong không gian người dùng). Nó cũng nhận được sự hỗ trợ XEN kỹ lưỡng nhất, tôi nghĩ vậy. Khởi hành một chút từ nhiệm vụ "tính di động", họ đã giới thiệu ba tầng: "Tập trung", "Hữu cơ" và "Hỗ trợ cuộc sống" . Họ cũng giới thiệu Lua vào hệ thống cơ sở.
  • Để nắm bắt được sự trôi dạt của OpenBSD , những "bài báo" này (chủ yếu là các slide đẹp) là một tài nguyên quý giá và cung cấp cho bạn cái nhìn sâu sắc về những phát triển gần đây trong OpenBSD.
  • DragonFlyBSD đã phát triển ứng cử viên ZFS của riêng họ, HAMmer , dường như ít ngốn bộ nhớ hơn (có lẽ không đầy đủ tính năng, tôi không thể nói).
  • Tôi không đồng ý với @Aki về việc thiếu hỗ trợ với OpenBSD hoặc NetBSD, xem xét các danh sách gửi thư, cả hai đều cung cấp các cộng đồng hữu ích - hãy tự mình xem xét - việc được giới thiệu đến một trang cá nhân là không vi phạm.

Dòng dưới cùng? Có một cái nhìn xung quanh và cho họ một thử. Sử dụng các gói nhị phân (thường được cung cấp với một bản phát hành nhị phân, tức là không phải cho các ảnh chụp nhanh từ -current), sẽ không có nhiều công việc để có được một hệ thống BSD có thể sử dụng được.

Chỉnh sửa Bạn có thể quan tâm đến các hành tinh của họ: undeadly.orgcho OpenBSD, blog .BSDish.org cho FreeBSD và planet.netbsd.secho tất cả chúng ( xuống tại thời điểm này (?))


5
Câu trả lời tốt đẹp. Tôi nghĩ rằng có rất nhiều điều để nói, nó sẽ xứng đáng để viết một bài báo. Tôi không có ý nói cộng đồng OpenBSD không hữu ích. Tôi đã thực hiện một số nghiên cứu về khả năng tương thích nhị phân, còn nhiều hơn nữa: netbsd.org/docs/compat.html và compat_linux trên OpenBSD. Rõ ràng Open được sử dụng để có compat nhị phân freebsd: nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html . Như bạn đã nói, nó bị hạn chế và tôi sẽ không dựa vào nó.
Aki
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.