GNU/Linux >> Belajar Linux >  >> Linux

Apa Kesamaan dari Bsd yang Berbeda?

… dan apa perbedaan di antara mereka? Saya merumuskan pertanyaan saya seperti ini untuk memperjelas bahwa saya tidak tertarik pada perang opini, melainkan pada perbandingan objektif antara rasa yang berbeda dari 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 di Unix daripada sekadar Linux. Saya menggunakan Solaris di tempat kerja, itu membuka mata saya. Sekarang saya tertarik dengan unice baru, saya ingin mencoba yang baru dan tentu saja saya penasaran dengan BSD.

Masalahnya

Saya tidak meminta saran atau pendapat tentang BSD apa yang harus dipasang; Saya ingin mengetahui perbedaan (dan 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 tidak terlalu berguna. Saya yakin FreeBSD juga portabel dan aman…)

Jika Anda kurang beruntung, Anda terjebak dalam salah satu legenda Unix yang tak terhindarkan tentang proyek yang membelah, bercabang, rebranding atas dasar intelektual/moral, bagaimana Theo de Raadt adalah seorang ekstremis dan bagaimana MacOS X dan FreeBSD memiliki nenek moyang yang sama lebih dari 20 tahun yang lalu.

Menarik, tapi tidak terlalu informatif, bukan?

BSD

BSD yang saya minati adalah:

  • FreeBSD
  • OpenBSD
  • NetBSD

dan opsional

  • Capung
  • Darwin

Pertanyaan saya

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

  • 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 portabel di antara keduanya?
  • Apakah sumber portabel di antara keduanya?
  • Apakah mereka menggunakan pohon direktori yang berbeda?
  • Seberapa besar komunitasnya masing-masing? Apakah urutan besarnya sama?
  • Berapa banyak saat ini perkembangan itu biasa?
  • Apa ketidakcocokan utama di antara keduanya?

Saya tidak tahu betapa mudahnya menjawab pertanyaan itu, 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.

Jawaban yang Diterima:

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

Apakah mereka menggunakan kernel yang sama?

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

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

Mereka semua mengikuti POSIX. Anda dapat mengharapkan seperangkat alat memiliki fungsi yang sama antara *BSD.
Juga umum untuk melihat beberapa perbedaan yang jelas dalam alat manajemen proses/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 portabel di antara mereka?

Tidak:

([email protected] 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 mengandalkannya.

Apakah sumber portabel di antara mereka?

Beberapa ya, selama 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 inginkan.
Secara umum Anda dapat mengatakan bahwa *BSD sangat konservatif tentang hal itu, sesuatu berada di tempatnya, dan itu bukan sesuatu yang dibuat-buat.

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

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

Terkait:Mengapa perintah berikut mematikan sistem?

Sebenarnya jika Anda merasa membutuhkan komunitas yang bagus, FreeBSD adalah cara yang tepat.
Komunitas NetBSD dan OpenBSD berpusat pada pengembangan, membicarakan peningkatan baru, dll. Mereka tidak terlalu suka melakukan dukungan pengguna atau periklanan dasar . 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 yang 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. Jelas lebih sulit jika menyangkut driver dan lainnya hal-hal kernel.

Apa ketidakcocokan utama di antara mereka?

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

Inilah cara Anda menikmati belajar dari dunia BSD:

Coba ganti router rumah Anda dengan kotak openbsd, mainkan dengan pf dan jaringan. Anda akan melihat betapa mudahnya membuat apa yang Anda inginkan. Bersih, andal, 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 dengan aman membangun kernel khusus Anda (sebenarnya ini disarankan). Secara keseluruhan ini adalah pengalaman belajar yang baik.
Coba NetBSD pada perangkat keras yang sangat tua atau bahkan pemanggang roti.

Meskipun berbeda, masing-masing mencoba untuk menjadi OS yang baik, dan itu akan lebih cocok dengan pengguna daripada situasi. Sebagai pengalaman belajar, cobalah semuanya (Net/Buka/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 di OpenBSD, konfigurasikan desktop Anda sendiri di FreeBSD, …).

Terkait:Linux – nilai vm.swappiness yang sesuai saat menggunakan zram?

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.


Linux
  1. Apa perbedaan antara /bin/false dan /sbin/nologin sebagai shell pengguna nologin?

  2. Apa Jenis-Jenis Server DNS

  3. Apa tujuan dari masing-masing UID berbeda yang dapat dimiliki suatu proses?

  1. Apa perbedaan antara adduser dan useradd?

  2. Apa perbedaan antara ls dan l?

  3. Bisakah suatu proses memiliki pemilik? Apa artinya?

  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. apa perbedaan antara remount ke umount/mount?

  3. Apa perbedaan antara unlink dan rm?