MEMBANGUN SERVER SERTA PENGOPERASIAN SISTEM OPERASI UNIX FREE BSD DENGAN IMPLEMENTASI IPv6 PADA UNIVERSITAS XYZ Bertha MeykeWatyHutajulu, S.Kom., MMSi Jl. H.M.Tohir No.13 Pondok Cina – Depok (
[email protected])
ABSTRAK Sistemoperasi Unix FreeBSD adalahsebuahperangkatlunakkomputer yang mengeloladanmengendalikanoperasisistemkomputerberbasis Unix.Sistemoperasi Unix FreeBSD mendukung dual stack (IPV4 dan IPV6). Standarnya IPV6 stack telahterinstalpadasistemoperasi FreeBSD. SelainituaplikasidasarFreeDSDjugamendukung IPV6 yang dapatdiinstalmelaluimekanisme ports, seperti httpd-2.0, thttpd, exim, courirer-imap, danlainlain. IPv6 menawarkan fitur dan fungsionalitas yang lebih dari IPv4 seperti ruang pengalamatan yang jauh lebih besar, fitur keamanan IPSec, penanganan lalu lintas multimedia di internet. Sistem operasi Unix FreeBSD dengan implementasi IPv6 dapat menciptakan sistem operasi yang stabil dan mudah digunakan, karena sebagai salah satu sistem Unix yang reliabel, FreeBSD menjaga kompatibilitas program-program sebaik mungkin di antara sistem, dan memiliki wewenang langsung untuk melakukan perubahanperubahan pada sistem. Karena sistem operasi ini sendiri adalah gratis maka tidak ada pula aplikasi komersial yang tersedia didalamnya, sehingga para pengguna pemula hanya dapat menggunakan aplikasi yang bersifat gratis, yang berarti menghentikan pengguna dari pembajakan atau pembelian lisensi yang cukup mahal. Kata Kunci : FreeBSD, Sistem Operasi UNIX, IPv6
PENDAHULUAN Sistem operasi Unix FreeBSD merupakan sistem operasi terbaru dari Linux, mempunyai kelebihan yaitu dapat berjalan di komputer yang menggunakan arsitektur Intel, mulai dari personal Computer sampai pada pentium Pro. Sistem operasi ini juga mudah didapat dan gratis penggunaanya sehingga tidak membebani anggaran dalam membuat sebuah server. Selain itu, sistem operasi ini telah mendukung IPv6 yaitu teknologi terbaru tentang pengalamatan Internet Protokol. IPv6 ini telah menggunakan 36 bit
pengalamatan(236), sehingga dapat menampung lebih besar pengalamatan dalam internet dan jaringan. Dengan demikian Sistem Operasi UnixFreeBSD yang mendukung IPv6 dapat digunakan untuk mengetahui kebutuhan para user dalam pemilihan sistem operasi yang digunakan pada personal komputer dengan harga yang terjangkau. Dan juga memberikan kemudahan bagi user untuk dapat membangun server dengan sistem operasi Unix FreeBSD, yang dimulai dari konfigurasi yang mendukung, persiapan instalansinya, pemilihan media, konfigurasi jaringan, pemilihan distribusi, sampai pada pengoperasian sistem administrasi UNIX.
TINJAUAN PUSTAKA Pengertian Sistem Operasi SistemOperasiadalahperangkatlunakkomputer
yang
mengaturdanmengendalikanoperasidasardarisistemkomputer. Tugasdarisistemoperasidiantaranya : •
Melakukanfungsimanajemensistem file.
•
Mengendalikanberbagaisumberpadasistem, seperti disk dan printer.
•
Mengatursejumlahpemakai yang menggunakansistemsecarabersamaan.
•
Membentukpenjadwalan proses-proses di dalamsistem.
Pengertian Unix FreeBSD Unix
FreeBSD
adalahsebuahsistemoperasiberbasis
UNIX
yangdikembangkanpadaLaboratorium Bell, AT&T, dan BSD (Berkeley Software Distribution).Unix
FreeBSD
terdiridarisejumlah
program
yaitu
daftarinstruksiuntukmemperolehhasiltertentu,
yang
dirancanguntukmengontrolinteraksiantarafungsi-fungsipadamesin
yang
berarasrendahdengan program aplikasi. Sistemoperasi
Unix
FreeBSD
tersusunatassejumlah
program,
yang
diantaranyaberupautilitas.Ratusanutilitas yang tersediapada Unix mempunyaitugas yang bermacam-macam; diantaranyaberhubungandengan : •Manajemen file,
•Penyuntingan file, •Pendukungkomunikasi, •Pendukungpengembanganperangkatlunak. Denganmengkombinasikanutilitas-utilitas
yang
adapemakaidapatmembuat
program baruuntukmelaksanakantugasseperti yang diharapkan. Server Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan.
Server FreeBSD Sistem operasi yang digunakan sebagai server yaitu FreeBSD versi 7.1 yang dapat didownload di:ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.1/ secara gratis. FreeBSD merupakan turunan dari UNIX versi 4.4 BSD-Lite untuk komputer intel (x86),DEC Alpa, dan Sun Ultra SPARC. FreeBSD dibuat oleh Computer System Research Group (CSRG) di Universitas of California at Barkeley. http://iwanbinanto.wordpress.com/freebsd
Membangun server Untuk
membangun
server
dibutuhkan
beberapapelayanan
yang
sangatpentingyaitu FTPdan Web Server. Kedua server ini merupakan service yang sangatbanyakdipakai di Internet.
Jaringan
Dalam suatu sistem jaringan, dimana seluruh komputer saling berbagi data dan resources satu sama lain sehingga tercapai efisiensi dalam pemanfaatan teknologi, amat dibutuhkan perangkat-perangkat khusus dan instalasi tertentu. Peralatan yang digunakan dalam sistem jaringan serta pengaturan TCP/IP pada sistem operasi Windows. Tujuan dari suatu jaringan adalah menghubungkan jaringan-jaringan yang telah ada dalam jaringan tersebut sehingga informasi dapat ditransfer dari satu lokasi ke lokasi yang lain. Karena suatu perusahaan memiliki keinginan atau kebutuhan yang berbeda-beda
maka
terdapat
berbagai
cara
jaringan
terminal-terminal
dapat
dihubungkan. Struktur Geometric ini disebut dengan LAN (Local Area Networking) Topologies.
Kerberos Kerberos
adalahsuatujaringan
dimanamengijinkan server.
user
yang
ditambahkanpadasystem/protokol,
untukmembuktikansendirimelaluipelayanandarikeamanan
Pelayananseperti
remote
antarsistemdantugas-tugas
login, yang
remote
copy,
keamanan
beresikotinggi
copy
file yang
dibuatdenganpertimbangankeamanandandapatdiataur.Beberapainstruksiberikutdapatdig uankan untukmenuntunbagaimanamelakukan set-up pada Kerberos padadistribusiuntuk FreeBSD. Untuk
Membuat
initial
database
(Inihanyabisapada
server
Kerberos)
:
Ubahlahdirektory/etc/kerberosIVdancekhanya file-file berikutini: # cd /etc/kerberosIV # ls README Sekarang
krb.conf edit
file
krb.realms krb.confdankrb.realmsuntukmendefinisikanbidangKerveros.
DalamkasusinibidangakanterdapatGRONDAR.ZA dan server grunt.grondar.za. Edit danbuat file krb.confseperti : # catkrb.conf GRONDAR.ZA GRONDAR.ZA grunt.grondar.za admin server CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu ATHENA.MIT.EDU kerberos-1.mit.edu ATHENA.MIT.EDU kerberos-2.mit.edu ATHENA.MIT.EDU kerberos-3.mit.edu LCS.MIT.EDU kerberos.lcs.mit.edu TELECOM.MIT.EDU bitsy.mit.edu ARC.NASA.GOV trident.arc.nasa.gov Barispertamamenunjukkanbahwasistembekerja,
baris
lain
berisinama
host,
dimanakeduanyaberaksisebagaipusatkestribuskunci (key distribution centre).
Firewall Firewall
adalahistilah
yang
biasadigunakanuntuksuatukomponenatausekumpulankomponenjaringan
yang
berfungsimembatasiaksesantaraduajaringan, atauantarajaringan internal denganjaringan global Internet. Fungsidari firewall adalah : 1. Harusmengimplementasikankebijaksanaansekuriti
di
jaringan,
jalurilegaltidakdibolehkan. 2. Melakukan
filter,
artinyamewajibkansemualalulintas
adauntukdilewatkanmelalui
firewall,
yang
bagisemua
proses
pemberiandanpemanfaatanlayananinformasi. 3. Firewall
jugaharusdapatmerekam/mencatatkejadian-
kejadianmencurigakansertamemberitahu
administrator
terhadapsegalausahamenembuskebijaksanaansekuriti. Saatiniada
2
type
firewall
yang
seringdigunakandalam
internet.Tipepertamadikenalsebagairouter packet filtering, dimana karenapadamesin multi-homed
akanmemilihapakahpaketakanditeruskanataudibloksesuaidenganaturan
yang dibuat. Tipekeduadikenalsebagaiproxy server, bergantungpada daemon yang menyediakankeabsahandanmeneruskanpaket.Ada merupakangabungandarikeduatipediatas,
juga
yaknihanyamesintertentusaja
diijinkanmengirimpaketmelalui router paket filtering kejaringan internet.
yang yang
IPv6 IPv6 (internet portokol versi 6) merupakan taknologi pengalamatan terbaru menggantikan IPv4. Dalam arsitektur pengalamatannya, IPv6 mempunyai ukuran 128 bits yang artinya kira-kira berjumlah 2128 atau kira-kira 3,4 x 1038 alamat. Namun perhitungan teori ini tidaklah sepenuhnya akurat karena adanya hirarki routing dan sebuah alamat akan ditetapkan sebagai blok yang bersambung dan bukan sebagai tiaptiap satuan alamat. Alamat IPv6 tersebut kira-kira akan terpotong setengahnya, tidak akan pernah ada subnet yang memiliki 64 bit alamat signifikan atau lebih. Dari 128 bit tersebut hanya akan digunakan 64 bit untuk routing global dan internal yang disebut sebagai routing prefix. Sisa 64 bit dari alamat yang akan menunjukkan sebuah host pada suatu subnet yang disebut sebagai host identifier atau host id. Alamat ini bisa direpresentasikan menjadi 8 segmen bilangan 16 bit dalam bilangan heksa antara 0×0000 s.d 0xffff misal : 2001:d30:3:242:0000:0000:0000:1 Untuk penyederhanaan bisa dituliskan sebagai berikut : 2001:d30:3:242:0:0:0:1 atau 2001:d30:3:242::1 Untuk pendelegasian ke subnet biasanya akan dinyatakan dalam blok alamat yang dituliskan dalam blok alamat dengan panjang prefix tertentu dengan notasi CIDR seperti misalnya : 2001:d30:3:240::/56 Alamat IPv6 ini dapat diklasifikasikan menjadi 3 yaitu : 1. Alamat Unicast Global Unicast merupakan alamat dengan jangkauan global dan unik sehingga bisa dialamatkan di Internet.Selain global unicast, IPv6 juga mempunyai alamat local unicast dengan jangkauan terbatas pada link lokal. Beberapa tipe alamat unicast IPv6 ini antara lain : a.
Aggregatable global unicast addresses Sering disebut sebagai alamat global, mirip dengan alamat publik pada IPv4 dan alamat ini ditandai dengan prefix 001. Alamat ini bisa dialamatkan dan dijangkau secara global dari alamat IPv6 di Internet. Dinamakan aggregatable karena memang
didesain untuk bisa diaggregasi dan diringkas (aggregation dan summarization) untuk menghasilkan infrastruktur routing yang efisien. IANA telah mulai mengalokasikan blok alamat pertama untuk alamat global ini yaitu 2001::/16. Menurut kebijakan IANA setiap end-site seharusnya diberikan blok alamat IPv6 dengan panjang prefix /48. b. Link-local addresses Alamat ini digunakan untuk berkomunikasi dalam jangkaun link lokal yaitu pada link yang sama (misal jaringan flat tanpa router). Router tidak akan melewatkan trafik dari alamat-alamat ini keluar link. Alamat ini ditandai dengan prefix 1111 1110 10 atau FE80::/10. Alamat ini akan selalu diawali FE80 dan menggunakan prefix FE80::/64 dengan 64 bit selanjutnya adalah interface id. Alamat link local ini dikonfigurasikan melalui IPv6 autoconfiguration. c.
Site-local addresses Alamat ini mirip dengan alamat private pada IPv4 yang dalam teknologi IPv6 digunakan dalam jangkauan site dan ditandai dengan prefix 1111 1110 11 atau FEC0::/10. Alamat ini akan selalu diawali dengan FEC0. Karena sifatnya yang ambigu dan sulitnya pendefisinian baku dari jangkauan situs maka alamat ini dihapuskan penggunaanya.
d.
Special addresses Ada dua jenis alamat spesial pada IPv6 yaitu : i. Alamat yang tidak dispesifikkan (unspecified address) Sering disebut all-zeros-address karena memang bernilai 0:0:0:0:0:0:0:0 atau bisa dituliskan :: .Alamat ini sama dengan 0.0.0.0 di alamat IPv4. Alamat ini tidak boleh dikonfigurasikan pada interface dan tidak boleh menjadi tujuan rute. ii.Alamat loopback Jika alamat loopback pada IPv4 adalah 127.0.0.1 maka pada IPv6 dalah 0:0:0:0:0:0:0:1 atau bisa diringkas menjadi ::1. Alamat ini tidak boleh dikonfigurasikan pada interface. •
Compatibility addresses Alamat ini dibuat untuk mempermudah perpindahan dan masa transisi dari IPv4 ke IPv6. Beberapa alamat ini antara lain : Alamat IPv4-compatible
Alamat IPv4-mapped Alamat 6over4 Alamat 6to4 Alamat ISATAP •
NSAP addresses Adalah alamat yang digunakan untuk penterjemahan alamat Open System Interconnect (OSI) NSAP ke alamat IPv6. Alamat IPv6 ini ditandai dengan prefix 0000001 dan 121 sisanya adalah alamat NSAP.
2. Alamat Anycast Alamat ini lebih menunjuk kepada fungsi layanan daripada alamat. Alamat anycast sama seperti alamat unicast IPv6 biasa (telah ditentukan dalam standar) dengan tambahan fitur bahwa router akan selalu merutekan ke tujuan yang terdekat atau lebih tepatnya terbaik sesuai yang telah dikonfigurasikan. 3. Alamat Multicast Seperti halnya pada IPv4 pada IPv6 alamat ini menunjukkan sekumpulan piranti dalam grup multicast. Jadi alamat ini hanya akan muncul sebagai alamat tujuan, tidak akan pernah sebagai alamat asal. Jika paket dikirimkan ke alamat ini maka semua anggota grup akan memprosesnya. Byte pertama menunjukkan bahwa ini adalah alamat multicast. Empat bit selanjutnya merupakan flag yang masingmasing telah didefinisikan. Bit pertama harus 0 karena dicadangkan untuk keperluan di masa mendatang. Bit kedua menunjukkan apakah alamat multicast ini mengandung alamat Rendezvous Point (RP), yaitu titik distribusi untuk aliran multicast tertentu dalam suatu jaringan multicast. Bit ketiga menandakan apakah alamat multicast ini mengandung informasi prefix. Sementara bit terakhir menunjukkan apakah alamat ini diberikansecara permanen. Bagian berikutnya adalah jangkauan yang digunakan untuk membatasi jangakaun dari alamat multicast. Alamat multicast ini memiliki jangkauan antara lain sebagai berikut : Nilai jangkauan
Deskripsi jangakauan
0×0
Reserved
0×1
Node-Local
0×2
Link-Local
0×5
Site-Local
0×8
Organization Local
0xE
Global
0xF
Reserved Bagian terakhir adalah penanda grup (Group ID). Pada prakteknya biasanya
penanda grup ini dibatasi dalam 32 bit saja. Beberapa alamat multicast telah diberikan oleh IANA. Beberapa alamat yang diberikan ini dibuat untuk jangkauan tetap dan beberapa diantaranya valid untuk semua jangkauan. Beberapa alamat multicast yang telah diberikan dalam jangkauan yang tetap tadi antara lain. Alamat
Deskripsi
1. Jangkauan interface lokal FF01:0:0:0:0:0:0:1
All-nodes address
FF01:0:0:0:0:0:0:2
All-routers address
2. Jangkauan link lokal FF02:0:0:0:0:0:0:1
All-nodes address
FF02:0:0:0:0:0:0:2
All-routers address
FF02:0:0:0:0:0:0:3
Unassigned
FF02:0:0:0:0:0:0:4
DVMRP routers
FF02:0:0:0:0:0:0:5
OSPFIGP
FF02:0:0:0:0:0:0:6
OSPFIGP designated routers
FF02:0:0:0:0:0:0:7
ST routers
FF02:0:0:0:0:0:0:8
ST hosts
FF02:0:0:0:0:0:0:9
RIP routers
FF02:0:0:0:0:0:0:A
EIGRP routers
FF02:0:0:0:0:0:0:B
Mobile agents
FF02:0:0:0:0:0:0:D
All PIM routers
FF02:0:0:0:0:0:0:E
RSVP encapsulation
FF02:0:0:0:0:0:0:16
All MLDv2-capable routers
FF02:0:0:0:0:0:0:6A
All snoopers
FF02:0:0:0:0:0:1:1
Link name
FF02:0:0:0:0:0:1:2
All DHCP agents
FF02:0:0:0:0:0:1:3
Link-local Multicast Name Resolution
FF02:0:0:0:0:0:1:4
DTCP Announcement
FF02:0:0:0:0:1:FFXX:XXXX
Solicited-node address
3. Jangkauan site local FF05:0:0:0:0:0:0:2
All-routers address
FF05:0:0:0:0:0:1:3
All DHCP servers
FF05:0:0:0:0:0:1:4
Deprecated
FF05:0:0:0:0:0:1:1000 to FF05:0:0:0:0:01:13FF Service location (SLP) Version 2
METODE PENELITIAN Tahapan
penelitian
dilakukan
dengan
caraanalisis
data
yaitu
teknikanalisiskualitatifdengantahapansebagaiberikut : 1. Pengumpulan
data
daninformasitentangpenggunaansistemoperasipadalaboratoriumkomputerteknikinfor matika.
Contohnya
:strukturorganisasi, job description,
carapembayaranlisensisistemoperasi
prosedurpembelian,
yang
contohdokumenpergantianpenggunaansistemoperasi,
digunakan,
dansistemoperasi
yang
digunakan pada personal komputer. 2. Analisisdanevaluasi a. Melakukananalisiskebutuhansistem user b. Mengevaluasisistemoperasipada
server
yang
ada,
meliputievaluasipemenuhankebutuhan system (misalnyaseberapasering output dihasilkan,
apasaja
yang
terkandungdioutput,
kapandanbagaimanamengumpulkan data input), prosedur. c. Desaindankontrol (misalnyapendeteksikekurangandankelebihanmenggunakansistemoperasi
Unix
FreeBSD) dengancaramembandingkandenganteori yang ada. 3. Rancangankonseptual Dalamtahapanini, penelitiandilakukandenganmelakukanbeberapalangkahkerjayaitumerancangdanmem bangun server denganmenggunakansistemoperasi Unix FreeBSD. 4. Rancanganfisik
Padatahapini prosesrancangansistemoperasimulaimemperhatikanberbagaikelebihandankekuranga n yang diingikanolehpara user dalammenggunakansistemoperasipada personal komputer.
Flowchart Membangun Server Unix FreeBSD Flowchart
digunakanuntukmenjelaskanalgoritmadalammembangun
Free BSD danSistemoperasiadministrasinya.
Gambar 1. Flowchart Membangun Server Unix FreeBSD
ServerUnix
Gambar 2. Flowchart SistemOperasiAdministrasi FreeBSD
HASIL DAN PEMBAHASAN Hal pertama yang harus dilakukan dalam membangun sebuah server adalah menyediakan perangkat keras hardware yang dibutuhkan. Setalah hardware terinstal dengan baik maka berikutnya software yang akan di instal. Software pertama yang akan diinstal adalah sistem operasi UnixFreeBSD, kemudian FTV dan Web server. Untuk menginstal FTV server, tidak perlu mendownload software FTV, karena sistem operasi ini telah memfasilitasi software tersebut. Namun untuk mengaktifkan software tersebut dibutuhkan beberapa langkah diantaranya adalah login sebagai root kemudianmenjalankanperintahsysinstalldan
memilih
perintah
networking
untuk
mensetting FTV. Setalah disetting maka FTV telah diaktifkan. Sementara itu, untuk menginstal web server dibutuhkan beberapa software diantaranya adalah Apache versi 2.2.3, MySQL versi 5.0.22, OpenSSLversi 0.9.8d, dan PHP versi 5.2.0. setelah software terrsebut terinstal semua dan dapat terkoneksi dengan baik maka webserver dapat digunakan. Teknikpengujiansistemdapatdilakukandenganduacarayaitu
yang
pertamaadalahmelakukanpengaksesan internet dari client melalui server, dan yang keduadarisisi client yaitu : 1. Tracertyaitumenelusurilalulintas
routing
dari
client
menuju
server
sampaipadapengaksesan internet. 2. Netstatyaitudenganmenampilkantabel routing yang di alokasikan server ke client. Jikahasilpengujianmenunjukankoneksiberhasilmaka router telahberfungsi.
KESIMPULAN Berdasarkan hasil penelitian dan pembahasan dapat disimpulkan: 1. Sistem Operasi Unix pada FreeBSD dengan implementasi IPv6 untuk para pengguna pemula, yang diarahkan untuk menciptakan sistem operasi yang stabil dan mudah digunakan. 2. Sistem Operasi Unix yang reliabel, FreeBSD menjaga kompabilitas programprogram sebaik mungkin diantara sistem, dan memiliki wewenang langsung untuk melakukan perubahan-perubahan pada sistem.
3. Sistem operasi tipe Unix FreeBSD ini menggunakan aplikasi yang bersifat gratis, atau dapat digunakan sesuai keinginan user dan mendukung protokol IPv6 dengan baik. 4. Untuk proses desain dan administrasi jaringan komputer tentunya memerlukan pengetahuan khusus tentang teknologi internet. 5. Penelitian ini merupakan kompilasi dari beberapa request for comment yang dapat memberikan pengetahuan mendasar mengenai arsitektur Internet Protocol versi 6 (IPv6), beberapa protokol aplikasi, dengan memberi pendekatan praktis melalui beberapa contoh implementasi personal komputer.
DAFTAR PUSTAKA
Frank G. Fiamingo, Linda DeBula, L. Condron, “Introduction to UNIX “, University Technology Service, The Ohio State University, 1998 Frederic P Miller, Agnes F Vandome, John McBrewster, 2009, “Freebsd”, VDM Publishing House Ltd. FreeBSD Handbook, The FreeBSD Documentation Project, Copyright © 1995, 1996, 1997, 1998, 1999 by The FreeBSD Documentation Project, FreeBSD Inc. Hong, Bryan J, 2008, “Building a server with FreeBSD 7 : A Moduler Approach”, San Francisco Lucas Michael W, 2007, “Absolute FreeBsd ; the complete guide to FreeBsd”, San Francisco. Onno W. Purbo, 1998,” BukuPintar Internet TCP/IP”, PT Elex Media Komputindo, Jakarta. RafiudinRahmat, “IPv6 Addresing”, PT Elex Media Komputindo, Jakarta. Rahardjo Budi, 1994, “BukuPeganganSistem UNIX dan Internet”, PT Elex Media Komputindo, Jakarta. Roderick W. Smith, 2003, “FreeBSD: the complete reference”, McGraw-Hill/Osborne. SalimDouba, 1995, “Networking UNIX “, Sams Publishing. TaufanRiza, 2002, “BukuPintar Internet, TeoridanImplementasi IPv6 protokol Internet masadepan”, PT Elex Media Komputindo, Jakarta.
YanekKorff, Paco Hope, Bruce Potter, 2005, “Mastering FreeBSD and OpenBSD security”, O'Reilly Media, Inc. http://www.bell-labs.com/history/unix/ http://www.freebsddiary.org/ http://www.freebsd.org/ http://en.wikipedia.org/wiki/Unix