BSD (Berkeley Software Distribution) pertama kali dikembangkan oleh Computer System Research Group (CSRG) di University of California at Berkeley (UCB), BSD pertama kali dirilis pada tahun 1977 sebagai paket tambahan dan patch dari AT & T Unix versi 6, yang mana pada waktu itu berfungsi pada mesin PDP-11 minicomputer.
BSD dibuat, dikembangkan, dan dibuat secara "Bebas" sebagai perlawanan terhadap lisensi Unix yang dimiliki oleh AT&T dan oleh karena itu BSD memiliki lisensi tersendiri yang memungkinkan setiap orang bebas untuk melakukan pengembangan, dan menggunakan code sumber yang berasal dari BSD Unix. Pada tahun 1993, versi 4.4 BSD dirilis sebagai suatu Sistem Operasi yang utuh.
- Sejarah BSD
Perjalanan panjang Varian Unix BSD dimulai pada tahun 1973, dimana pada waktu itu Prof Bob Fabry dari Universitas California Berkeley menyatakan minat untuk mendapatkan sistem operasi Unix kepada Ken Thompson dan Dennis Ritchie pada kegiatan ”Symposium on Operating Systems Principles” di Universitas Purdue. Prof Bob Fabry bermaksud mendapatkan Unix untuk eksperimen pada sebuah mainframe milik Universitas Berkeley. Pada tahun 1974 sebuah tape yang berisi Unix versi 4 datang ke Berkeley dan di-install-kan oleh mahasiswa pasca sarjana Keith Standiford pada komputer PDP-11/45.
Meskipun komputer PDP-11/45 pada saat itu diklaim komputer yang cukup mudah untuk menginstall Unix, namun pada kenyataannya berbagai macam masalah dihadapi oleh Keith Standiford dalam menjalankan Unix pada PDP-11/45, karena itu Ken Thompson di Bell Labs AT&T New Jersey melakukan remote debugging pada mesin PDP-11/45 milik Universitas Berkeley di California, karena Universitas Berkeley hanya memiliki 300-baud acoustic-coupled modem, maka Ken Thompson melakukan panggilan terlebih dahulu kepada Keith Standiford diruangan komputer PDP-11/45 tersebut untuk selanjutnya meminta Keith Standiford memasukkan sambungan telepon tersebut ke modem. Dengan demikian Ken Thompson dari New Jersey di pantai timur Amerika Serikat dapat melakukan remote debugging ke Universitas California Berkeley di pantai barat Amerika Serikat.
Masalah yang lain muncul yaitu karena status komputer PDP-11 adalah milik bersama Departemen Matematika dan Statistika juga, departemen tersebut ingin menjalakan RSTS dari DEC, sedangkan Departemen Ilmu Komputer ingin menjalan Unix. Akhirnya kata sepakat dicapai dengan menjalankan masing-masing sistem secara bergantian.
Pada tahun 1975, Departemen Ilmu Komputer Universitas California Berkeley membeli komputer baru sebuah DEC 11/70. Pada tahun yang sama Ken Thompson menjadi Profesor Tamu pada almamaternya yaitu Universitas California Berkeley, Ken Thompson datang dengan membawa sistem operasi Unix versi 6. Dua orang mahasiswa pasca sarjana yaitu Bill Joy dan Chuck Haley membantu Ken Thompson untuk meng-hacked Unix versi 6 tsb pada komputer DEC 11/70.
Pada akhir musim panas 1976, Ken Thompson kembali ke Bell Labs New Jersey, seiring dengan kepergian Ken Thompson, Bill Joy dan Chuck Haley mulai mengoprek kernel sistem operasi Unix versi 6 tersebut, berbekal dengan pengalaman satu tahun terakhir mengoprek Unix bersama Ken Thompson sebelumnya.
Akhirnya pada awal tahun 1977, Bill Joy mengeluarkan ”Berkeley Software Distribution”, pada distribusi pertama mencakup pula compiler Pascal dan editor Ex. Pada tahun 1978 Bill Joy memutuskan software yang ada pada distribusi harus diperbaharui seiring dengan banyaknya feedback dari komunitas, hasilnya pada tahun 1978 tersebut keluar ”Second Berkeley Software Distribution” atau disingkat 2BSD, termasuk didalamnya compiler Pascal, editor vi dan termcap.
Pada tahun 1978, Departemen Ilmu Komputer Universitas Berkeley, membeli sebuah komputer VAX-11/780 dari DEC, meskipun komputer tersebut sudah memiliki sistem operasi sendiri yang dikenal dengan nama VMS, namun Departemen Ilmu Komputer menginginkan Unix 32/v (Seventh Edition) dapat berjalan diatas komputer VAX-11/780 tersebut. Lagi-lagi Bill Joy diminta membantu melakukan porting Unix 32/V tersebut untuk mesin VAX-11/780, pada awal Januari 1979, akhirnya Unix 32/V (Seventh Edition) dapat berjalan dengan mulus pada komputer VAX tersebut, pada saat itu juga Bill Joy, memutuskan untuk melakukan porting 2BSD untuk komputer VAX dengan pertimbangan komputer VAX tersebut jauh lebih canggih (berarsitektur 32 bit) daripada PDP-11 yang hanya 16 bit. Pada bulan Januari 1979 distribusi lengkap telah diselesaikan hasilnya 3BSD sebagai distribusi sistem VAX pertama dari Berkeley.
Pada musim gugur 1979, Prof Bob Fabry, merepson keinginan DARPA (Defense Advanced Research Projects Agency ) untuk memperbaiki 3BSD untuk kepentingan komunitas DARPA, dimana pada waktu itu untuk keperluan mengkoneksikan semua komputer pada pusat-pusat riset. Untuk lebih memantapkan pekerjaan dari DARPA tersebut, Prof Bob Fabry, membentuk CSRG (Computer System Research Group).
Pada Oktober 1980 lahir 4BSD, selama 9 bulan kedepan sejak kelahirannya sebanyak 150 copy telah dikirimkan. Lisensi dibuat berdasarkan institusi bukan per komputer. Karena sudah tersebar luas 4BSD banyak menuai kritik terutama masalah kinerja yang dinilai masih lamban daripada VMS. Untuk itu pada Juni 1981, 4.1BSD lahir dengan berbagai macam perbaikan. Pada awalnya distribusi tersebut akan diberi nama 5BSD, namun pihak AT&T keberatan karena akan membingungkan pelanggan, karena pada saat itu terdapat juga sistem operasi Unix system V, untuk itu Berkeley mengalah dan memberi nama distribusi tersebut 4.1BSD. DARPA cukup puas dengan hasil yang diperoleh dan berminat untuk memperpanjang kontrak dengan CSRG. DARPA berharap hasil kerja berikutnya adalah: fast file system untuk mendukup teknologi disk yang ada pada saat itu, fasilitas komunikasi interproses agar para peneliti DARPA dapat bekerja dalam lingkungan distributed computing, dan fasilitas networking yang terintegrasi sehingga dapat berpartisipasi dalam ARPAnet. Sebagai pendahuluan release pada April 1982, dikeluarkan 4.1aBSD untuk keperluan lokal saja (Berkeley dan DARPA), pada saat itu banyak kritik dan saran perbaikan untuk 4.1aBSD, untuk itu pada Juni 1982 dikeluarkan 4.1bBSD. Release 4.1b BSD ini cukup stabil dan baik maka pada April 1983 dikeluarkan 4.1c BSD. Dengan sedikit perbaikan pada 4.1c BSD, pada Agustus 2003 dikeluarkan 4.2BSD. 4.2BSD pada saat itu sangat populer, lebih dari 1000 institusi mempunyai lisensi 4.2BSD tersebut, para vendor pun pada saat itu lebih suka menawarkan 4.2BSD ketimbang Unix system V karena 4.2BSD mempunyai fasilitas Networking dan Fast File System.
Dengan berbagai macam kritik dan feedback, maka pada tengah 1986 di-release 4.3BSD, selanjutnya pada Juni 1988 di-release 4.3BSD Tahoe dan pada Juni 1990 di-release 4.3BSD Reno. Selain release tsb ada pula release networking yaitu: 4.3BSD Net1 pada Maret 1989 dan 4.3BSD Net2 pada Juni 1991. Release ini tidak tidak memiliki source code yang bersifat proprietary sehingga dapat secara bebas didistribusikan dalam bentuk source code maupun binary.
Release terakhir dari CSRG adalah 4.4BSD, pada saat yang bersamaan juga CSRG me-release 4.4BSD-Lite yang berisi source code non-proprietary dan users tidak perlu memiliki lisensi Unix, namun 4.4BSD-Lite ini mendapat aksi legal dari USL (Unix System Laboratories) yang mengklaim 4.4BSD-Lite mengandung source code asli Unix dari AT&T, hal ini berlanjut hingga ke pengadilan. Setelah 1 tahun proses pengadilan berlangsung akhirnya USL dan BSD mencapai kata sepakat (damai), sisa uang yang ada pada CSRG dipakai untuk me-release 4.4BSD-Lite release 2 pada Juni 1995.
BSD/OS
Berkeley Software Design, Inc., didirikan oleh beberapa pendiri awal developer CSRG sebagai kelanjutan dari pengembangan BSD dalam sisi komersial. BSD/OS telah mendukung untuk banyak platform, seperti i386 dan sparc, yang biasanya dipasarkan dengan memasukkan beberapa applikasi Internet.
Pada tahun 2000, BSDI bergabung dengan Walnut Creek CDROM, sebuah perusahaan yang secara finansial mendukung juga OS FreeBSD . BSD/OS akan dilanjutkan sebagai sebuah produk yang terpisah, namun seperti yang diharapkan, BSD/OS dan FreeBSd Sumber bebas akan digabungkan.
Official Website : http://www.bsdi.com
Darwin OS
DarwinOS adalah bagian penting open-source operating system baru Apple, Mac OS X. Darwin mengimplementasikan kepribadian 4.4BSD dan userland pada sebuah mikrokernel Mach, dengan FreeBSD sebagai referensi utama. Walaupun ditujukan pada platforn pps Apple, namun system ini juga sedang dikembangkan untuk platform i386.
Varian BSD lainnya yang juga merupakan turunan 4.4BSD, menggunakan lisensi distribusi BSD yang menyediakan kode sumber secara bebas.
Official website : http://developer.apple.com/darwin/
FreeBSD
FreeBSD dengan slogannya "The Power To Serve" mengoptimalkan penggunaan platform PC. FreeBSD menyediakan kemudahan installasi dan dukungan yang luas terhadap perangkat keras PC. FreeBSD mendukung arsitektur i386 dan alpha, dan pengembangan FreeBSD pada beberapa platform juga telah dilakukan.
FreeBSD juga digunakan pada server-server yang memiliki traffic dan kinerja yang cukup tinggi untuk service WWW dan FTP seperti www.yahoo.com dan ftp.cdrom.com.
Official Website : http://www.freebsd.org
NetBSD
NetBSD memfokuskan pengembangan pada penyediaan sistem operasi untuk banyak platforms, dari sebuah palmtop sampai server alpha yang besar. NetBSD berjalan pada hampir semua mesin dimana orang menginginkan UNIX sebagai sistem operasinya.
Official Website : http://www.netbsd.org
OpenBSD
OpenBSD dengan slogannya "Secure by Default" memfokuskan pengembangan pada keamanan dan cryptography. Proyek pengembangan ini terpisah dari proyek NetBSD pada tahun 1995 sebagai akibat perselisihpahaman antara Theo de Raadt dengan NetBSD core team lainnya. OpenBSD saat ini setidaknya telah mendukung lebih dari 10 platforms, dengan beberapa proses pengembangan lebih terstruktur. Tim OpenBSD juga telah menghasilkan sebuah applikasi OpenSSH , sebuah implementasi untuk memenuhi kebutuhan Secure Shell untuk pekerjaan secara remote.
Official Website : http://www.openbsd.org
Lalu, yang menjadi pertanyaan dari sebagian besar orang adalah seberapa besar perbedaan FreeBSD , NetBSD , dan OpenBSD? Secara praktis, tidak banyak bedanya. FreeBSD, NetBSD, dan OpenBSD merupakan varian dari dari keluarga besar Sistem Operasi BSD. Namun dari ketiganya justru berbeda jauh jika dibandingkan dengan distribusi Linux, yang mungkin bisa dipersempit dari sisi sudut pandang pengguna, dan sysadmin. Dan dari ketiga distribusi BSD tersebut terdapat sharing source code antar proyek dengan memfasilitasi lisensi yang sama.
ContributorContributor adalah developer yang menulis code, patch, atau dokumentasi namun tidak memiliki hak untuk menulis atau membuat sebuah file dalam source tree. Jika pekerjaan yang mereka lakukan ingin dimasukkan, maka harus diperiksa terlebih dahulu oleh seorang commiter atau dengan persetujuan beberapa orang commiter.
CommitterCommiter adalah developer yang memiliki hak menulis dan mengakses source tree, dalam lingkup CVS, memiliki hak commit. Secara tipikal, seorang commiter bekerja hanya pada bagian-bagian terpilih dari keseluruhan project.
Core TeamCore Team membimbing secara keseluruhan arah dan tujuan proyek, dan membuat keputusan akhir dalam kasus perselisihpahaman antar developer mengenai source code atau hal-hal lainnya. (OpenBSD tidak mempunyai core team secara formal, namun Theo de Raadt betugas sebagai pemimpin proyek.)
Setiap orang dapat menjadi contributor, dengan mengirimkan patch, atau membenarkan kesalahan-tulis dalam sebuah halaman manual. Orang-orang yang mengkontribusikan banyak hal, atau berkompeten dalam sebuah area proyek akan dipromosikan menjadi commiter, hal ini ditujukan untuk menjagai commiter yang lain memeriksa terlalu banyak hal pada waktu yang sama.
Di BSD, para developer adalah sang integrator. Katakanlah seseorang ingin mengubah output, ps -ax, maka dia harus bertanggungjawab untuk menjaga semua script yang bergantung pada format output ps(1) yang akan diadaptasi. Dalam dunia Linux, system integrator yang menggabungkan banyak proyek yang berbeda-beda menjadi sebuah distribusi biasanya bukan developer dari proyek tersebut. Sebagai hasil dari system integrasi BSD sangat kecil, halaman-halaman manual semakin lengkap, program-program beroperasi lebih baik, dan ada banyak perubahaan yang lebih baik pada system.
Seringkali disebutkan perbedaan-perbedaan antara BSD dan Linux adalah hasi dari penyatuan BSD sebagai proyek tunggal. Sebuah base dari system BSD dimasukkan kedalam sebuah CVS tree, sehingga semua perubahan dapat
terkontrol secara langsung, dan dari sana, sebuah source tree dapat diambil dan dikompilasikan dengan satu kali proses kerja. Hal ini yang dikenal sebagai proses make world, dari sebuah proses tunggal yang membangun ulang semua system.
Sebuah package adalah software yang telah dicompile dan siap dijalankan, kira-kira sepadan dengan package yang digunakan oleh distribusi Linux (sebagai contoh RPM). Secara teknis, package tersebut dibundel manjadi sebuah kompresi tarball (.tgz), yang menyertakan file-file yang akan diinstall, ditambah dengan beberapa informasi penting lainnya berkenaan dengan software yang diinstall tersebut.
Sebagai contoh packages FreeBSD unzip-5.50.tgz berisi :
+CONTENTS
+COMMENT
+DESC
+MTREE_DIRS
man/man1/funzip.1.gz
man/man1/unzip.1.gz
man/man1/unzipsfx.1.gz
man/man1/zipgrep.1.gz
man/man1/zipinfo.1.gz
bin/unzip
bin/funzip
bin/unzipsfx
bin/zipgrep
share/doc/unzip/README
share/doc/unzip/WHERE
Package diinstall kedalam ${PREFIX} yang sudah terkonfigurasikan, dan secara default adalah /usr/local,/usr/X11R6, atau pada system NetBSD /usr/pkg. Installasi didaftarkan pada sebuah direktori database /var/db/pkg/nama_packages. Pengaturan packages dilakukan dengan berbagai tools pkg_*, seperti pkg_add (1), pkg_delete(1), dan pkg_info(1).
Sebuah port adalah kerangka kerja untuk menginstall software. Secara fungsional, sebuah port sama dengan SPRM, namun bagaimanapun, port tidak menyertakan source tarball dari software.
Biasanya kumpulan port disimpan pada direktory /usr/port/kategori, atau pada NetBSD disimpan pada /usr/pkgsrc. Sebuah port terdiri dari sebuah directory tree dengan beberapa file.
BSD tidak membuat sebuah tool seperti rpm(1) untuk membangun sebuah port, melainkan dengan sebuah infrastuktur berbasis make(1). Sebuah Makefile adalah kunci utama sebuah port, ada sangat banyak variable dalam sebuah makefile yang memungkinkan melakukan tindakan build dengan lebih cermat dan pada umumnya terdapat 2000 sampai 3000 baris dalam sebuah makefile, oleh karena itu dalam lingkungan BSD, makefile tersebut disertakan dalam file bsd.port.mk, sedangkan Makefile yang ada pada port hanya berisi variable yang ingin disertakan menjadi sebuah package.
Contoh Makefile pada /usr/ports/shell/bash2 pada BSD :
# cd /usr/ports/shell/bash2
# make install clean
Perintah tersebut akan melakukan proses :
Pada BSD hal itu dapat dilakukan dengan cara :
BSD memilih partisi asli untuk disk adalah FFS (Berkeley Fast File System), yang mendukung filesystem sampai dengan 16TB, tergantung dengan sejumlah parameter, file dapat menjadi beberapa terabytes. 64-bit file offset, seperti contoh file-file yang lebih besar dari 2GB, dalam platform 32-bit yang didukung 4.4BSD. BSD FFS dan Linux ext2fs pada umumnya serupa, tidak heran mengingat konsep ext2fs didesain dengan ffs sebagai pertimbangan. FFS diperkenalkan sebagai implementasi modern UNIX file system, yang lebih memberikan banyak pilihan dimana setting sebuah file dapat dihapus, tidak dapat diedit, dan lain-lain. Beberapa pilihan tersebut juga tersedia pada Linux ext2fs.
Meskipun komputer PDP-11/45 pada saat itu diklaim komputer yang cukup mudah untuk menginstall Unix, namun pada kenyataannya berbagai macam masalah dihadapi oleh Keith Standiford dalam menjalankan Unix pada PDP-11/45, karena itu Ken Thompson di Bell Labs AT&T New Jersey melakukan remote debugging pada mesin PDP-11/45 milik Universitas Berkeley di California, karena Universitas Berkeley hanya memiliki 300-baud acoustic-coupled modem, maka Ken Thompson melakukan panggilan terlebih dahulu kepada Keith Standiford diruangan komputer PDP-11/45 tersebut untuk selanjutnya meminta Keith Standiford memasukkan sambungan telepon tersebut ke modem. Dengan demikian Ken Thompson dari New Jersey di pantai timur Amerika Serikat dapat melakukan remote debugging ke Universitas California Berkeley di pantai barat Amerika Serikat.
Masalah yang lain muncul yaitu karena status komputer PDP-11 adalah milik bersama Departemen Matematika dan Statistika juga, departemen tersebut ingin menjalakan RSTS dari DEC, sedangkan Departemen Ilmu Komputer ingin menjalan Unix. Akhirnya kata sepakat dicapai dengan menjalankan masing-masing sistem secara bergantian.
Pada tahun 1975, Departemen Ilmu Komputer Universitas California Berkeley membeli komputer baru sebuah DEC 11/70. Pada tahun yang sama Ken Thompson menjadi Profesor Tamu pada almamaternya yaitu Universitas California Berkeley, Ken Thompson datang dengan membawa sistem operasi Unix versi 6. Dua orang mahasiswa pasca sarjana yaitu Bill Joy dan Chuck Haley membantu Ken Thompson untuk meng-hacked Unix versi 6 tsb pada komputer DEC 11/70.
Pada akhir musim panas 1976, Ken Thompson kembali ke Bell Labs New Jersey, seiring dengan kepergian Ken Thompson, Bill Joy dan Chuck Haley mulai mengoprek kernel sistem operasi Unix versi 6 tersebut, berbekal dengan pengalaman satu tahun terakhir mengoprek Unix bersama Ken Thompson sebelumnya.
Akhirnya pada awal tahun 1977, Bill Joy mengeluarkan ”Berkeley Software Distribution”, pada distribusi pertama mencakup pula compiler Pascal dan editor Ex. Pada tahun 1978 Bill Joy memutuskan software yang ada pada distribusi harus diperbaharui seiring dengan banyaknya feedback dari komunitas, hasilnya pada tahun 1978 tersebut keluar ”Second Berkeley Software Distribution” atau disingkat 2BSD, termasuk didalamnya compiler Pascal, editor vi dan termcap.
Pada tahun 1978, Departemen Ilmu Komputer Universitas Berkeley, membeli sebuah komputer VAX-11/780 dari DEC, meskipun komputer tersebut sudah memiliki sistem operasi sendiri yang dikenal dengan nama VMS, namun Departemen Ilmu Komputer menginginkan Unix 32/v (Seventh Edition) dapat berjalan diatas komputer VAX-11/780 tersebut. Lagi-lagi Bill Joy diminta membantu melakukan porting Unix 32/V tersebut untuk mesin VAX-11/780, pada awal Januari 1979, akhirnya Unix 32/V (Seventh Edition) dapat berjalan dengan mulus pada komputer VAX tersebut, pada saat itu juga Bill Joy, memutuskan untuk melakukan porting 2BSD untuk komputer VAX dengan pertimbangan komputer VAX tersebut jauh lebih canggih (berarsitektur 32 bit) daripada PDP-11 yang hanya 16 bit. Pada bulan Januari 1979 distribusi lengkap telah diselesaikan hasilnya 3BSD sebagai distribusi sistem VAX pertama dari Berkeley.
Pada musim gugur 1979, Prof Bob Fabry, merepson keinginan DARPA (Defense Advanced Research Projects Agency ) untuk memperbaiki 3BSD untuk kepentingan komunitas DARPA, dimana pada waktu itu untuk keperluan mengkoneksikan semua komputer pada pusat-pusat riset. Untuk lebih memantapkan pekerjaan dari DARPA tersebut, Prof Bob Fabry, membentuk CSRG (Computer System Research Group).
Pada Oktober 1980 lahir 4BSD, selama 9 bulan kedepan sejak kelahirannya sebanyak 150 copy telah dikirimkan. Lisensi dibuat berdasarkan institusi bukan per komputer. Karena sudah tersebar luas 4BSD banyak menuai kritik terutama masalah kinerja yang dinilai masih lamban daripada VMS. Untuk itu pada Juni 1981, 4.1BSD lahir dengan berbagai macam perbaikan. Pada awalnya distribusi tersebut akan diberi nama 5BSD, namun pihak AT&T keberatan karena akan membingungkan pelanggan, karena pada saat itu terdapat juga sistem operasi Unix system V, untuk itu Berkeley mengalah dan memberi nama distribusi tersebut 4.1BSD. DARPA cukup puas dengan hasil yang diperoleh dan berminat untuk memperpanjang kontrak dengan CSRG. DARPA berharap hasil kerja berikutnya adalah: fast file system untuk mendukup teknologi disk yang ada pada saat itu, fasilitas komunikasi interproses agar para peneliti DARPA dapat bekerja dalam lingkungan distributed computing, dan fasilitas networking yang terintegrasi sehingga dapat berpartisipasi dalam ARPAnet. Sebagai pendahuluan release pada April 1982, dikeluarkan 4.1aBSD untuk keperluan lokal saja (Berkeley dan DARPA), pada saat itu banyak kritik dan saran perbaikan untuk 4.1aBSD, untuk itu pada Juni 1982 dikeluarkan 4.1bBSD. Release 4.1b BSD ini cukup stabil dan baik maka pada April 1983 dikeluarkan 4.1c BSD. Dengan sedikit perbaikan pada 4.1c BSD, pada Agustus 2003 dikeluarkan 4.2BSD. 4.2BSD pada saat itu sangat populer, lebih dari 1000 institusi mempunyai lisensi 4.2BSD tersebut, para vendor pun pada saat itu lebih suka menawarkan 4.2BSD ketimbang Unix system V karena 4.2BSD mempunyai fasilitas Networking dan Fast File System.
Dengan berbagai macam kritik dan feedback, maka pada tengah 1986 di-release 4.3BSD, selanjutnya pada Juni 1988 di-release 4.3BSD Tahoe dan pada Juni 1990 di-release 4.3BSD Reno. Selain release tsb ada pula release networking yaitu: 4.3BSD Net1 pada Maret 1989 dan 4.3BSD Net2 pada Juni 1991. Release ini tidak tidak memiliki source code yang bersifat proprietary sehingga dapat secara bebas didistribusikan dalam bentuk source code maupun binary.
Release terakhir dari CSRG adalah 4.4BSD, pada saat yang bersamaan juga CSRG me-release 4.4BSD-Lite yang berisi source code non-proprietary dan users tidak perlu memiliki lisensi Unix, namun 4.4BSD-Lite ini mendapat aksi legal dari USL (Unix System Laboratories) yang mengklaim 4.4BSD-Lite mengandung source code asli Unix dari AT&T, hal ini berlanjut hingga ke pengadilan. Setelah 1 tahun proses pengadilan berlangsung akhirnya USL dan BSD mencapai kata sepakat (damai), sisa uang yang ada pada CSRG dipakai untuk me-release 4.4BSD-Lite release 2 pada Juni 1995.
- Varian dan Distribusi BSD (Berkeley Software Distribution
BSD/OS
Berkeley Software Design, Inc., didirikan oleh beberapa pendiri awal developer CSRG sebagai kelanjutan dari pengembangan BSD dalam sisi komersial. BSD/OS telah mendukung untuk banyak platform, seperti i386 dan sparc, yang biasanya dipasarkan dengan memasukkan beberapa applikasi Internet.
Pada tahun 2000, BSDI bergabung dengan Walnut Creek CDROM, sebuah perusahaan yang secara finansial mendukung juga OS FreeBSD . BSD/OS akan dilanjutkan sebagai sebuah produk yang terpisah, namun seperti yang diharapkan, BSD/OS dan FreeBSd Sumber bebas akan digabungkan.
Official Website : http://www.bsdi.com
Darwin OS
DarwinOS adalah bagian penting open-source operating system baru Apple, Mac OS X. Darwin mengimplementasikan kepribadian 4.4BSD dan userland pada sebuah mikrokernel Mach, dengan FreeBSD sebagai referensi utama. Walaupun ditujukan pada platforn pps Apple, namun system ini juga sedang dikembangkan untuk platform i386.
Varian BSD lainnya yang juga merupakan turunan 4.4BSD, menggunakan lisensi distribusi BSD yang menyediakan kode sumber secara bebas.
Official website : http://developer.apple.com/darwin/
FreeBSD
FreeBSD dengan slogannya "The Power To Serve" mengoptimalkan penggunaan platform PC. FreeBSD menyediakan kemudahan installasi dan dukungan yang luas terhadap perangkat keras PC. FreeBSD mendukung arsitektur i386 dan alpha, dan pengembangan FreeBSD pada beberapa platform juga telah dilakukan.
FreeBSD juga digunakan pada server-server yang memiliki traffic dan kinerja yang cukup tinggi untuk service WWW dan FTP seperti www.yahoo.com dan ftp.cdrom.com.
Official Website : http://www.freebsd.org
NetBSD
NetBSD memfokuskan pengembangan pada penyediaan sistem operasi untuk banyak platforms, dari sebuah palmtop sampai server alpha yang besar. NetBSD berjalan pada hampir semua mesin dimana orang menginginkan UNIX sebagai sistem operasinya.
Official Website : http://www.netbsd.org
OpenBSD
OpenBSD dengan slogannya "Secure by Default" memfokuskan pengembangan pada keamanan dan cryptography. Proyek pengembangan ini terpisah dari proyek NetBSD pada tahun 1995 sebagai akibat perselisihpahaman antara Theo de Raadt dengan NetBSD core team lainnya. OpenBSD saat ini setidaknya telah mendukung lebih dari 10 platforms, dengan beberapa proses pengembangan lebih terstruktur. Tim OpenBSD juga telah menghasilkan sebuah applikasi OpenSSH , sebuah implementasi untuk memenuhi kebutuhan Secure Shell untuk pekerjaan secara remote.
Official Website : http://www.openbsd.org
Lalu, yang menjadi pertanyaan dari sebagian besar orang adalah seberapa besar perbedaan FreeBSD , NetBSD , dan OpenBSD? Secara praktis, tidak banyak bedanya. FreeBSD, NetBSD, dan OpenBSD merupakan varian dari dari keluarga besar Sistem Operasi BSD. Namun dari ketiganya justru berbeda jauh jika dibandingkan dengan distribusi Linux, yang mungkin bisa dipersempit dari sisi sudut pandang pengguna, dan sysadmin. Dan dari ketiga distribusi BSD tersebut terdapat sharing source code antar proyek dengan memfasilitasi lisensi yang sama.
- Model Pengembangan
ContributorContributor adalah developer yang menulis code, patch, atau dokumentasi namun tidak memiliki hak untuk menulis atau membuat sebuah file dalam source tree. Jika pekerjaan yang mereka lakukan ingin dimasukkan, maka harus diperiksa terlebih dahulu oleh seorang commiter atau dengan persetujuan beberapa orang commiter.
CommitterCommiter adalah developer yang memiliki hak menulis dan mengakses source tree, dalam lingkup CVS, memiliki hak commit. Secara tipikal, seorang commiter bekerja hanya pada bagian-bagian terpilih dari keseluruhan project.
Core TeamCore Team membimbing secara keseluruhan arah dan tujuan proyek, dan membuat keputusan akhir dalam kasus perselisihpahaman antar developer mengenai source code atau hal-hal lainnya. (OpenBSD tidak mempunyai core team secara formal, namun Theo de Raadt betugas sebagai pemimpin proyek.)
Setiap orang dapat menjadi contributor, dengan mengirimkan patch, atau membenarkan kesalahan-tulis dalam sebuah halaman manual. Orang-orang yang mengkontribusikan banyak hal, atau berkompeten dalam sebuah area proyek akan dipromosikan menjadi commiter, hal ini ditujukan untuk menjagai commiter yang lain memeriksa terlalu banyak hal pada waktu yang sama.
- Integrasi System
Di BSD, para developer adalah sang integrator. Katakanlah seseorang ingin mengubah output, ps -ax, maka dia harus bertanggungjawab untuk menjaga semua script yang bergantung pada format output ps(1) yang akan diadaptasi. Dalam dunia Linux, system integrator yang menggabungkan banyak proyek yang berbeda-beda menjadi sebuah distribusi biasanya bukan developer dari proyek tersebut. Sebagai hasil dari system integrasi BSD sangat kecil, halaman-halaman manual semakin lengkap, program-program beroperasi lebih baik, dan ada banyak perubahaan yang lebih baik pada system.
Seringkali disebutkan perbedaan-perbedaan antara BSD dan Linux adalah hasi dari penyatuan BSD sebagai proyek tunggal. Sebuah base dari system BSD dimasukkan kedalam sebuah CVS tree, sehingga semua perubahan dapat
terkontrol secara langsung, dan dari sana, sebuah source tree dapat diambil dan dikompilasikan dengan satu kali proses kerja. Hal ini yang dikenal sebagai proses make world, dari sebuah proses tunggal yang membangun ulang semua system.
- Paket Aplikasi di BSD
Sebuah package adalah software yang telah dicompile dan siap dijalankan, kira-kira sepadan dengan package yang digunakan oleh distribusi Linux (sebagai contoh RPM). Secara teknis, package tersebut dibundel manjadi sebuah kompresi tarball (.tgz), yang menyertakan file-file yang akan diinstall, ditambah dengan beberapa informasi penting lainnya berkenaan dengan software yang diinstall tersebut.
Sebagai contoh packages FreeBSD unzip-5.50.tgz berisi :
+CONTENTS
+COMMENT
+DESC
+MTREE_DIRS
man/man1/funzip.1.gz
man/man1/unzip.1.gz
man/man1/unzipsfx.1.gz
man/man1/zipgrep.1.gz
man/man1/zipinfo.1.gz
bin/unzip
bin/funzip
bin/unzipsfx
bin/zipgrep
share/doc/unzip/README
share/doc/unzip/WHERE
Package diinstall kedalam ${PREFIX} yang sudah terkonfigurasikan, dan secara default adalah /usr/local,/usr/X11R6, atau pada system NetBSD /usr/pkg. Installasi didaftarkan pada sebuah direktori database /var/db/pkg/nama_packages. Pengaturan packages dilakukan dengan berbagai tools pkg_*, seperti pkg_add (1), pkg_delete(1), dan pkg_info(1).
Sebuah port adalah kerangka kerja untuk menginstall software. Secara fungsional, sebuah port sama dengan SPRM, namun bagaimanapun, port tidak menyertakan source tarball dari software.
Biasanya kumpulan port disimpan pada direktory /usr/port/kategori, atau pada NetBSD disimpan pada /usr/pkgsrc. Sebuah port terdiri dari sebuah directory tree dengan beberapa file.
BSD tidak membuat sebuah tool seperti rpm(1) untuk membangun sebuah port, melainkan dengan sebuah infrastuktur berbasis make(1). Sebuah Makefile adalah kunci utama sebuah port, ada sangat banyak variable dalam sebuah makefile yang memungkinkan melakukan tindakan build dengan lebih cermat dan pada umumnya terdapat 2000 sampai 3000 baris dalam sebuah makefile, oleh karena itu dalam lingkungan BSD, makefile tersebut disertakan dalam file bsd.port.mk, sedangkan Makefile yang ada pada port hanya berisi variable yang ingin disertakan menjadi sebuah package.
Contoh Makefile pada /usr/ports/shell/bash2 pada BSD :
# $OpenBSD: Makefile,v 1.24 2002/05/13 13:43:49 naddy Exp $Untuk Build dan instalasi melalui port menggunakan perintah :
COMMENT= "GNU Bourne Again Shell"
DISTNAME= bash-2.05a
CATEGORIES= shells
NEED_VERSION= 1.528
HOMEPAGE= http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
MAINTAINER= Christian Weisgerber
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_GNU:=bash/}
DISTFILES= ${DISTNAME}.tar.gz ${DISTNAME:S/-/-doc-/}.tar.gz
FLAVORS= static
FLAVOR?=
SEPARATE_BUILD= concurrent
CONFIGURE_STYLE= gnu
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} ${WRKSRC}/support
.if ${FLAVOR:L} == "static"
CONFIGURE_ARGS= --enable-static-link
.endif
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/bash
cd ${WRKDIR}/doc && \
${INSTALL_DATA} article.ps article.txt bash.html bash.ps \
bashbug.ps bashref.html bashref.ps builtins.ps \
${PREFIX}/share/doc/bash
.include
# cd /usr/ports/shell/bash2
# make install clean
Perintah tersebut akan melakukan proses :
- Memeriksa apakah distribusi source berupa tarball tersedia dalam system, dan jika tidak diketemukan akan mengambil dari Internet.
- Memeriksa checksum file source tersebut.
- Mengekstrak source kedalam sebuah direktory kerja.
- Melakukan patch jika tersedia.
- Memeriksa dependencies software yang bersangkutan, bila dependencies sudah terinstall maka akan melanjutkan proses installasi bila tidak maka akan melakukan installasi terhadap software dependencies tersebut.
- Melakukan patch yang dibutuhkan untuk mengadaptasikan software ke BSD.
- Menjalankan proses configure.
- Meng-compile program.
- Menginstall program.
- Membersihkan direktory kerja.
- System Administrasi
- console: font, keymap, screensaver
- network: interface, firewall, NAT, ip address
- daemon: sendmail, lpd, ntp, httpd, ftp
Pada BSD hal itu dapat dilakukan dengan cara :
- membuat atau mengedit konfigurasi kernel berdasarkan kernel GENERIC di /sys/arch/arch/conf/NAMA_KERNEL (FreeBSD: /sys/arch/conf).
- jalankan config, dan make.
- File System
BSD memilih partisi asli untuk disk adalah FFS (Berkeley Fast File System), yang mendukung filesystem sampai dengan 16TB, tergantung dengan sejumlah parameter, file dapat menjadi beberapa terabytes. 64-bit file offset, seperti contoh file-file yang lebih besar dari 2GB, dalam platform 32-bit yang didukung 4.4BSD. BSD FFS dan Linux ext2fs pada umumnya serupa, tidak heran mengingat konsep ext2fs didesain dengan ffs sebagai pertimbangan. FFS diperkenalkan sebagai implementasi modern UNIX file system, yang lebih memberikan banyak pilihan dimana setting sebuah file dapat dihapus, tidak dapat diedit, dan lain-lain. Beberapa pilihan tersebut juga tersedia pada Linux ext2fs.
Tidak ada komentar:
Posting Komentar