Apa kesamaan BSD yang berbeda?


62

... dan apa perbedaan di antara mereka? Saya merumuskan pertanyaan saya seperti ini untuk memperjelas bahwa saya tidak tertarik pada flamewar pendapat, melainkan pada perbandingan obyektif antara berbagai rasa BSD Unix. Idealnya, saya bisa mendapatkan umpan balik dari pengguna yang memiliki pengalaman dalam semuanya.

Latar Belakang

Baru-baru ini saya menemukan bahwa ada lebih banyak hal untuk Unix daripada sekadar Linux. Saya menggunakan Solaris di tempat kerja, itu membuka mata saya. Sekarang saya tertarik pada kesatuan baru, saya ingin mencoba yang baru dan saya tentu ingin tahu tentang BSD.

Masalah

Saya tidak meminta saran atau pendapat tentang BSD apa yang harus diinstal ; Saya ingin mengetahui perbedaan (dan poin-poin umum) di antara mereka sehingga saya dapat mengambil keputusan sendiri. Masalahnya adalah sulit untuk mendapatkan perbandingan yang tepat di antara mereka.

Jika Anda beruntung, Anda mendapatkan beberapa definisi tergesa-gesa seperti ini:

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

(Mungkin benar, tapi itu tidak terlalu berguna. Saya yakin FreeBSD portable dan aman juga ...)

Jika Anda beruntung Anda terjebak dalam salah satu legenda Unix yang tak terhindarkan tentang proyek-proyek yang membelah, bercabang, rebranding dengan alasan intelektual / moral, bagaimana Theo de Raadt adalah seorang ekstremis dan bagaimana MacOS X dan FreeBSD memiliki leluhur bersama lebih dari 20 tahun yang lalu.

Menarik, tetapi tidak terlalu informatif, bukan?

BSD

BSD yang saya minati adalah:

  • FreeBSD
  • OpenBSD
  • NetBSD

dan secara opsional

  • Capung
  • Darwin
  • ...

Pertanyaan saya

Untuk memahami perbedaan dengan lebih baik, berikut adalah daftar pertanyaan yang agak terkait tentang distribusi yang berbeda (dapatkah kita menggunakan istilah ini?). Jika Anda menyajikan jawaban Anda di bawah beberapa bentuk data tabular, Anda adalah pahlawan sepanjang masa saya!

  • Apakah mereka menggunakan kernel yang sama?
  • Apakah mereka menggunakan alat pengguna yang sama? (apa perbedaannya, jika ada?)
  • Apakah mereka menggunakan sistem manajemen paket / sumber yang sama?
  • Apakah mereka menggunakan shell default yang sama?
  • Apakah binari bisa dibawa-bawa?
  • Apakah sumber portable di antara mereka?
  • Apakah mereka menggunakan pohon direktori yang berbeda?
  • Seberapa besar komunitas mereka masing-masing? Apakah urutannya sama besarnya?
  • Berapa banyak dari perkembangan saat ini yang umum?
  • Apa ketidakcocokan utama di antara mereka?

Saya tidak tahu seberapa mudah pertanyaan itu dijawab, dan seberapa relevan dengan format StackExchange pertanyaan ini sebenarnya. Saya tidak pernah menemukan dokumen sederhana yang mencantumkan perbedaan antara BSD dengan cara yang jelas, berguna bagi pengguna yang cukup berpengalaman untuk melihat dan membuat pilihan dengan mudah.


13
Ini adalah pertanyaan yang bagus, +1
n0pe

4
Saya yakin 100% pemanggang roti adalah lelucon ... embeddedarm.com/software/arm-netbsd-toaster.php
tkbx

haha yah itu hanya demo. Saya suka bagaimana burnlevel tampaknya di atas 200% pada tampilan layar.
Aki

Jawaban:


50

Saya tidak berpikir saya akan memberi Anda dan semua orang jawaban yang sempurna, namun, dengan menggunakan sistem BSD setiap hari untuk bekerja, saya yakin saya bisa memberi Anda wawasan yang berguna di dunia BSD. Saya tidak pernah menggunakan NetBSD, saya tidak akan berbicara banyak tentang itu.

Apakah mereka menggunakan kernel yang sama?

Tidak, meskipun ada kesamaan karena garpu bersejarah. Setiap proyek berkembang secara terpisah.

Apakah mereka menggunakan alat pengguna yang sama? (apa perbedaannya, jika ada?)

Mereka semua mengikuti POSIX. Anda dapat mengharapkan seperangkat alat memiliki fungsi yang sama antara * BSD. Ini juga umum untuk melihat beberapa perbedaan yang jelas dalam proses / alat manajemen jaringan dalam BSD.

Apakah mereka menggunakan sistem manajemen paket / sumber yang sama?

Mereka menyediakan sistem pengemasan, berbeda untuk setiap OS.

Apakah mereka menggunakan shell default yang sama?

Tidak, misalnya FreeBSD menggunakan csh, OpenBSD menggunakan ksh.

Apakah binari bisa dibawa-bawa?

Tidak:

(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

Mereka tidak benar-benar mendukung emulasi biner yang stabil dan cepat. Jangan mengandalkan itu.

Apakah sumber portable di antara mereka?

Beberapa ya, asalkan Anda tidak menggunakan kode kernel atau kode libc (yang terikat erat dengan OS) misalnya.

Apakah mereka menggunakan pohon direktori yang berbeda?

Tidak, mereka sangat mirip dengan Linux di sini. Namun FreeBSD menganjurkan penggunaan / usr / local / etc untuk file konfigurasi perangkat lunak pihak ketiga. OpenBSD menempatkan semua di / etc ... Mereka menempatkan semua pihak ketiga di / usr / local, sedangkan distribusi Linux akan melakukan apa yang mereka mau. Secara umum Anda dapat mengatakan bahwa * BSD sangat konservatif tentang hal itu, barang-barang berada di tempat mereka berada, dan itu bukan sesuatu untuk dikarang.

Seberapa besar komunitas mereka masing-masing? Apakah urutannya sama besarnya?

FreeBSD adalah yang terbesar dan paling aktif, Anda dapat mencapainya melalui banyak forum berbeda, milis, saluran IRC dan semacamnya ... OpenBSD memiliki komunitas yang baik tetapi sebagian besar terlihat melalui IRC dan milis.

Sebenarnya jika Anda pikir Anda memerlukan komunitas yang baik, FreeBSD adalah jalan yang harus ditempuh. Komunitas NetBSD dan OpenBSD berpusat pada pengembangan, berbicara tentang peningkatan baru, dll. Mereka tidak terlalu suka melakukan dukungan pengguna dasar atau iklan. Mereka mengharapkan semua orang menjadi pengguna unix tingkat lanjut dan dapat membaca dokumentasi sebelum menanyakan apa pun.

Berapa banyak dari perkembangan saat ini yang umum?

Karena kode lisensi benar-benar gratis dapat mengalir di antara proyek-proyek, OpenBSD sering menambal kode mereka mengikuti NetBSD (karena sumber mereka memiliki banyak kesamaan), FreeBSD mengambil dan mengintegrasikan Filter Paket OpenBSD, dll. Ini jelas lebih sulit ketika menyangkut driver dan lain-lain hal-hal kernel.

Apa ketidakcocokan utama di antara mereka?

Mereka tidak kompatibel dalam bentuk biner, tetapi mereka sebagian besar kompatibel dalam sintaks dan kode. Anda dapat mengandalkan itu untuk mencapai portabilitas dalam kode Anda. Ini akan membangun atau / dan mengeksekusi dengan mudah pada semua rasa BSD, kecuali jika Anda terlalu dekat dengan kernel (ifconfig, pfctl ...).

Inilah cara Anda menikmati belajar dari dunia BSD:

Cobalah untuk mengganti router rumah Anda dengan kotak openbsd, mainkan dengan pf dan jaringan. Anda akan melihat betapa mudahnya membuat apa yang Anda inginkan. Bersih, dapat diandalkan, dan aman. Gunakan FreeBSD sebagai desktop, mereka mendukung banyak GPU, Anda dapat menggunakan flash sampai batas tertentu, ada beberapa kompatibilitas dengan binari Linux. Anda dapat membangun kernel khusus Anda dengan aman (sebenarnya ini direkomendasikan). Secara keseluruhan pengalaman belajar yang baik. Coba NetBSD pada perangkat keras yang sangat lama atau bahkan pemanggang roti .

Meskipun mereka berbeda, masing-masing dari mereka mencoba menjadi OS yang baik, dan itu akan cocok dengan pengguna lebih dari situasi. Sebagai pengalaman belajar, cobalah semuanya (Net / Terbuka / Gratis), tetapi nanti Anda mungkin hanya menggunakan 1 untuk sebagian besar situasi (karena Anda lebih berpengetahuan dalam sistem tertentu atau lebih cocok dengan komunitas).

BSD lainnya adalah hibrida atau hanya versi yang sedikit dimodifikasi, saya merasa lebih baik untuk tetap dekat dengan sumber pengembangan perangkat lunak (gunakan filter paket pada OpenBSD, konfigurasikan sendiri desktop Anda di FreeBSD, ...).

Sebagai catatan pribadi, saya senang melihat penggemar seperti Anda, dan saya harap Anda akan menemukan banyak hal baik di dunia BSD. BSD bukan tentang membenci windows atau OS lain, ini tentang menyukai Unix.


5
Menggulir ke bawah saya yakin ini adalah jawaban Gilles. Terima kasih atas jawaban yang bagus meskipun Aki!
n0pe

2
@ Maxmackie - Saya tahu maksud Anda, saya memikirkan hal yang sama! :-)
Chris Down

2
Haha saya tidak benar-benar aktif di sini jadi saya tidak tahu siapa Gilles, tetapi saya berharap untuk membaca jawabannya!
Aki

1
Terima kasih banyak atas jawaban yang bagus! Saya sangat menikmati bagian terakhir. Saya baru saja menginstal FreeBSD pada mesin virtual. Mari kita lihat bagaimana kelanjutannya ...
rahmu

6
+1 untuk kalimat terakhir. Tapi saya berharap saya bisa +2 untuk keseluruhan
Shiplu Mokaddim

16

(Saya tidak bisa memberikan jawaban yang lengkap, tetapi saya juga tidak bisa berpaling dari pertanyaan ini, jadi ... Saya hanya akan membahas beberapa poin ... FreeBSD adalah BSD yang paling banyak digunakan (pada 2005) , jadi saya mencoba untuk menawarkan beberapa petunjuk tentang "yang lain".)

  • Pertama-tama, Anda berhak untuk mengabaikan penjelasan satu baris , moto OpenBSD adalah "bebas, fungsional dan aman" dan pengembang NetBSD juga berusaha untuk menciptakan sistem fungsional.
  • kompatibilitas biner : Anda tampaknya dapat menjalankan binari FreeBSD di NetBSD (yang belum pernah saya coba). Ini adalah satu-satunya bentuk binary compat antara BSD yang saya ketahui (terlepas dari kompatibilitas biner Linux NetBSD dan FreeBSD (terbatas)).
  • ports : NetBSD dan DragonFlyBSD menggunakan port pkgsrc, OpenBSD di sini , FreeBSD di sini . Anda dapat merujuknya untuk membandingkan paket yang tersedia. Ekosistem masing-masing serupa tetapi tidak identik.
    • pkgsrcmenonjol karena dibuat menjadi portabel, yaitu Anda dapat menggunakannya dengan Minix 3 atau Linux juga. Oleh karena itu, ada minat non-BSD di dalamnya dan (mungkin sebagai konsekuensinya) ada lebih banyak port. pkgsrc-wipmembuatnya mudah untuk dikontribusikan.
  • NetBSD baru-baru ini memperkenalkan Kerangka Pengujian Otomatis menyeluruh (lihat juga kyua) memungkinkan mereka untuk menjalankan tes otomatis (dan ada rump, yang memungkinkan untuk menguji kode kernel di userspace). Itu juga mendapat dukungan XEN menyeluruh, saya pikir. Berangkat sedikit dari pencarian "portabilitas", mereka memperkenalkan tiga tingkatan: "Fokus", "Organik" dan "Dukungan Kehidupan" . Mereka juga memperkenalkan Lua ke dalam sistem basis.
  • Untuk menangkap arus OpenBSD , "makalah" ini (kebanyakan slide yang bagus) adalah sumber daya yang berharga dan memberi Anda wawasan tentang perkembangan terkini dalam OpenBSD.
  • DragonFlyBSD mengembangkan ZFS-pesaing mereka sendiri, HAMMER , yang tampaknya kurang haus akan memori (mungkin tidak lengkap fitur, saya tidak tahu).
  • Saya tidak setuju dengan @Aki tentang kurangnya dukungan dengan OpenBSD atau NetBSD, melihat milis, keduanya menawarkan komunitas yang membantu - lihat sendiri - dirujuk ke halaman manual bukanlah pelanggaran.

Intinya? Silakan melihat-lihat dan coba mereka. Menggunakan paket biner (biasanya ditawarkan dengan rilis biner, yaitu bukan untuk snapshot dari -current), itu tidak banyak bekerja untuk mendapatkan sistem BSD yang dapat digunakan.

Sunting Anda mungkin tertarik pada planet mereka: undeadly.orguntuk OpenBSD, blogs.FreeBSDish.org untuk FreeBSD dan planet.netbsd.seuntuk semuanya ( ke bawah saat ini (?))


5
Jawaban bagus. Saya pikir ada begitu banyak yang bisa diceritakan, itu pantas untuk menulis makalah. Saya tidak bermaksud mengatakan bahwa komunitas OpenBSD tidak membantu. Saya melakukan riset tentang kompatibilitas biner, masih ada lagi: netbsd.org/docs/compat.html dan compat_linux di OpenBSD. Rupanya Open digunakan untuk memiliki compat biner freebsd: nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html . Seperti yang Anda katakan, ini terbatas dan saya tidak akan bergantung padanya.
Aki
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.