Henri Mynttinen, Jan Hagqvist Linux vs BSD Raportti Ti15S TiVe Huhtikuu 2017
SISÄLLYS 1 JOHDANTO... 3 2 Mikä on Linux?... 3 2.1 Linuxin suppea historia... 3 2.2 Linuxin asentaminen... 5 3 Mikä on BSD?... 5 3.1 BSD:n lyhyt historia... 5 3.2 BSD:n asennus... 6 3.2.1 BSD:n asennusta asennustyökalulla... 7 3.2.2 BSD käyttöjärjestelmän verkon diagnosointi... 11 3.2.3 BSD:n pakettien hallinta ja asennus... 14 4 Erot Linuxin ja BSDn välillä... 20 4.1 Linuxin vahvuudet... 21 4.2 Linuxin heikkoudet... 22 4.3 BSD:n vahvuudet... 22 4.4 BSD:n heikkoudet... 22 5 Yhteenveto... 23 LÄHTEET... 24 2
1 JOHDANTO Tarkoituksena oli tutustua BSD:n ja Linuxin eroihin. Oletuksena oli, että BSD olisi paljon hankalampi käyttää, kuin Linux koska Linuxista on kummallakin enemmän kokemusta. Tarkkailun kohteeksi BSD:n puolelta valittiin FreeBSD, puhtaasti sen massiivisen markkinaosuuden takia. FreeBSD:tä me vertasimme Linuxin Fedora 25 jakelu pakettiin, sen takia koska suurimmat muut Linux jakelut olivat jo valittu ryhmien aiheiksi ja koska kaikki tällä kurssilla pääsi käyttämään kyseistä Linux jakelu pakettia, jolloin vertailu yleisön kannalta on helpompaa. BSD:stä on myös muita versioita, kuten OpenBSD, NetBSD ja PC-BSD. Nämä eivät kuitenkaan ole keskenään yhteensopivia. Näistä OpenBSD:ssä on keskitytty tekemään käyttöjärjestelmästä mahdollisimman tietoturvallinen. Net- BSD taas pyrkii toimimaan mahdollisimman monessa laitteessa mukaan lukien vanhemman sukupolven kotitietokoneet kuten Amiga ja Atari. FreeBSD taas on kuuluisa hyvästä verkkototeutuksestaan. PC-BSD perustuu FreeBSD:hen ja pyrkii olemaan helppokäyttöisin BSD kaikista. Myös nykyinen Mac OS perustuu BSD:hen. 2 MIKÄ ON LINUX? Linux on kernel, joka alun perin oli vahvasti saanut vaikutteita Minix käyttöjärjestelmästä. Nykyään Linux mielletään puhekielessä omaksi käyttöjärjestelmäkseen. 2.1 Linuxin suppea historia Vuonna 1991 Linus Torvaldsia kiehtoi kovasti idea oman Unix-yhteensopivan käyttöjärjestelmän kehittämisestä Intelin prosessoria käyttäville mikrotietokoneille. Hän opiskeli tuolloin Helsingin yliopistossa ja oli siellä tutustunut Minixkäyttöjärjestelmään joka oli luotu vuonna 1987 Vriyen yliopistossa Alankomaissa. Minix oli kehitetty Intelin 80286 prosessorille ja sen lähdekoodit olivat avoimesti kaikkien saatavilla. 3
Elokuussa 1991 Torvalds lähetti viestin keskusteluryhmään comp.os.inix, jossa hän kertoi harrastuksestaan kehittää uusi vapaasti saatavilla oleva käyttöjärjestelmä 386 ja 486 tietokoneille. Viestissä hän kertoi kääntäneensä bash:in ja gcc:n uudelle järjestelmälle ja pyysi ryhmän jäseniltä ehdotuksia mitä ominaisuuksia he haluaisivat hänen järjestelmään lisäävän. Hän kysyi myös mistä Minix ominaisuuksista ihmiset pitävät ja mistä he eivät Minix:issä pidä. Ehdotuksillaan ihmiset voisivat päästä vaikuttamaan uuden järjestelmän ominaisuuksiin. Projekti oli hänen kertomansa mukaan pienimuotoinen ja harrastuspohjalta etenevä, ei mikään suuri juttu kuten GNU. Aluksi Torvalds kutsui järjestelmää nimellä Freax, johdettuna sanoista "free", "freak" ja "x" niin kuin Unix. Ari Lemmke Helsingin yliopistosta oli kuitenkin eri mieltä nimestä. Hän toimi yliopistossa vapaaehtoisena FTP palvelimen ylläpitäjänä ja nimesi projektihakemiston nimellä Linux. Torvalds myöntyi aikaa myöten Linux nimen käyttöön. Vuonna 1994 Linuxista julkaistiin versio 1.0 ja se sai myös ensimmäisen oman lehden "Linux Journal". Tämän jälkeen kiinnostus sitä kohtaan alkoi pikkuhiljaa kasvaa ja se alkoi leviämään maailmanlaajuiseen käyttöön. Teknisesti ottaen Linux ei kuitenkaan ole täydellinen käyttöjärjestelmä vaan ainoastaan käyttöjärjestelmäydin, kernel. Jakelupaketeissa siihen on yhdistetty erinäisiä GNU työkaluja ja muita kolmansien osapuolien ohjelmistoja. 4
2.2 Linuxin asentaminen Suosituimmat Linux versiot asennetaan oletuksena kokonaan graafisen käyttöliittymän avulla. Asennus on ohjattu ja avustettu, jolloin normaali käyttäjäkin pystyy teoriassa käyttöjärjestelmän asentamaan. 3 MIKÄ ON BSD? BSD eli Berkley Software Distribution on Californialaisessa yliopistossa kehitetty tietokoneen käyttöjärjestelmä. BSD pohjautuu erittäin vahvasti UNIXkäyttöjärjestelmään. 3.1 BSD:n lyhyt historia Kaikki alkoi vuonna 1974, kun Bob Fabry osti UNIX lisenssin käytettäväksi työpaikallaan olevassa PDP-11 päätteessä Kalifornian Yliopistossa. Fabry alkoi kolleegoidensa kanssa muokkaamaan UNIX asennusta lisäten omaa ohjelma koodia ja ohjelmistoja siihen. Vuonna 1977 Fabryn opista valmistunut oppilas Bill Joy alkoi kehittämään koulunsa UNIX versiota. Myöhemmin BSD:hen alettiin lisäämään koodia Richard Stallmanin GNU projektista, jolloin lisensaatti vaihtui GPL:stä heidän omaan BSD lisenssiin. GNU projektin koodin avulla BSD kehittyi kokonaiseksi käyttöjärjestelmäksi, sillä GNU projekti oli jo tuohon aikaa melkein valmis käyttöjärjestelmä, ainoastaan kernel puuttui. Myöhemmin projekti jakautui kolmeen eri kehittäjä porukkaan, kun Kalifornian Yliopisto hävisi oikeusjutun USL:ää vastaan koskien BSD:n lisensointia. Nämä kolme erillistä BSD:tä olivat FreeBSD, joka on suurin kolmesta NetBSD ja OpenBSD syntyivät erillisiksi BSD:n versioiksi FreeBSD:n pohjalta. 5
3.2 BSD:n asennus Asennus esimerkissä käytettiin FreeBSD:n versiota 11.0 mikä on tätä kirjoitettaessa FreeBSD:n viimeisin vakaa versio. FreeBSD valittiin esimerkkiin yleisyytensä takia, joissakin artikkeleissa on mainittu, että käyttäjä osuus BSD käyttöjärjestelmistä olisi jopa 80 prosenttia. 6
3.2.1 BSD:n asennusta asennustyökalulla Alku asennus tapahtuu kokonaan FreeBSD:n graafisen käyttöliittymän kautta, mikä muistuttaa ulkoasultaan legacy BIOS:ta. Asennuksessa alustetaan ja osioidaan tallennus media haluamalle muodolle, on hyvä huomata että 7
FreeBSD tukee modernia ZFS tiedostojärjestelmää, mikä ei vielä ole kunnolla tarjolla muille alustoille. Seuraavaksi hyväksytään valitut asetukset ja aloitetaan asennus prosessi. Asennuksen jälkeen täytyy luoda root käyttäjän salasana. Tämän jälkeen valitaan verkkokortti jota halutaan käyttää, jonka jälkeen BSD yrittää saada osoitteen DHCP:n avulla. Jos BSD onnistuu saamaan 8
osoitteen, päästään seuraavaksi hyväksymään verkko asetukset. Muussa tapauksessa täytyy koneen osoite, aliverkon maski ja oletus yhdyskäytävä syöttää manuaalisesti. Verkon asetusten asettamisen jälkeen määritetään maa missä BSD:tä ollaan ottamassa käyttöön sekä kellon aika ja päivämäärä. Sen jälkeen valitaan mitä lisä palveluita halutaan lisätä asennukseen. Palveluiden valitsemisen jälkeen 9
valitaan BSD:n lisä kovennus ominaisuuksien asettaminen. Kun BSD on kovennettu tarpeisiin sopivaksi, päästään luomaan normaali käyttäjiä koneeseen. Normaali käyttäjien luonnin yhteydessä voidaan myös tehdä uusia käyttäjä ryhmiä. Kun kaikki edellä mainittu on tehty, voidaan poistua asennus työkalusta ja käynnistää käyttöjärjestelmä uudestaan. 10
3.2.2 BSD käyttöjärjestelmän verkon diagnosointi Käyttöjärjestelmän uudelleen käynnistyttyä testataan, että verkko asetukset ovat astuneet halutulla tavalla käyttöön. Testaus onnistuu jo muistakin UNIX johdannaisista käyttöjärjestelmistä tutuksi tulleella ifconfig komennolla. 11
Tämän jälkeen testataan vielä pingaamalla jotakin tuttua IP-osoitetta internetissä, Googlen DNS osoite on tähän käyttöön hyvä. Kun verkko on testattu toimivaksi, voidaan aloittaa käyttöjärjestelmän muokkaus. Käyttöjärjestelmää tarvitsee muokata asennuksen jälkeen, sillä BSD on puhtaasti asennettuna erittäin vähän ominaisuuksia sisältävä tuote. Tämän 12
takia tarvitaan asentaa ainakin ikkounointi ja perus ohjelmat, jotta FreeBSD:tä voidaan tehokkaasti käyttää työpöytä ympäristössä. 13
3.2.3 BSD:n pakettien hallinta ja asennus FreeBSD:n asennukset suoritetaan pkg paketin hallinta ohjelmistolla, joka on asennettava ensiksi. Asennuksen jälkeen käyttöjärjestelmä on hyvä päivittää. Päivitys tapahtuu komennolla pkg update. Tämän jälkeen on hyvä asentaa joku kehittyneempi tiedoston muokkaus ohjelma, meidän tapauksessa 14
valinnaksi osoittautui nano. Asennus tapahtuu komennolla pkg install nano. Nanon asentamisen jälkeen asennetaan perus ikkounointi xorg, joka asentuu näppärästi pkg install xorg komennolla. Kun xprg on onnistuneesti asennettu, voidaan asentaa moderninmpi ikkunointi BSD:hen, joka meidän tapauksessa oli KDE, koska se on eniten Windowsin tyylinen käyttöliittymä 15
tarjolla olevista. Huomioitavaa on, että KDE:n asennus koko on jopa 4 gigabittiä, mikä on erittäin paljon, kun xorg vei vain kymmenes osan KDE:stä. Ikkunointien asentamisen myötä päästään muokkaamaan Käyttöjärjestelmän mukana käynnistyvien ohjelmien käynnistymistä. Muokkaaminen tapahtuu 16
muokkaamalla tiedostoa polusta komennolla nano /etc/rc.conf. Tiedostoon lisätään rivit: dbus_enable= YES hald_enable= YES kdm4_enable= YES 17
Rc.conf tiedoston muokkaamisen jälkeen lisätään vielä tiedostoon /etc/fstab proc lisärivi, jotta ikkunointi käynnistyy. Kun ikkunointi on kunnossa aletaan asentamaan tarvittavia perus ohjelmia. Homma aloitetaan asentamalla firefox-selain komennolla pkg install firefox. Kun firefox on asennettu asennetaan musiikin kuuntelu ohjelma rhyhmbox. Seuraavaksi asennetaan documenttien hallinta ohjelma libreoffice, pkg 18
komennolla. Libreofficen jälkeen asennetaan kuvan muokkaus työkalu gimp ja sen jälkeen vielä sähköposti ohjelma thunderbird. Näiden toimenpiteiden jälkeen voidaan käyttöjärjestelmä käynnistää uudelleen reboot komennolla ja siirtyä ikkunoituun ympäristöön. 19
4 EROT LINUXIN JA BSDN VÄLILLÄ Suurin ero Linuxin ja BSD:n välillä on kernel. Sillä kaikissa Linux jakeluissa on käytössä sama kernel, kun taas BSD:ssä kernel on versiokohtainen. Linux on periaatteessa pelkkä kernel, kaikki muut sen ohjelmistot ovat ylimääräisiä eri levityspakettien tekijöiden valitsemia lisäominaisuuksia. Linuxin vahvuus on kuitenkin se, että kaikki Linux-levityspaketit on rakennettu yhden ja saman kernelin päälle. Tällöin lähes ohjelma kuin ohjelma, joka on tehty yleisesti Linuxille, toimii lähes missä tahansa muussa Linux-levityspaketissa. Linuxiin yleensä saa ohjelmistot valmiiksi binäärimuodossa, jolloin ohjelma on heti käyttövalmis. Useita ohjelmia saa myös lähdekoodiversiona, jolloin käyttäjä voi itse muokata ja kääntää ohjelman haluamillaan ominaisuuksilla. Linux kerneliä hallitsee pääasiassa Linus Torvalds eli yksi ihminen. BSD:issä sen sijaan on täysin omat kernelit jokaisessa BSD-versiossa, jotka toki sisältävät joitakin samoja ominaisuuksia. Yhteen BSD-versioon tehdyt ohjelmat eivät kuitenkaan yleensä toimi muissa BSD-versioissa poislukien lähdekoodeista käännettävät ohjelmat. Tästä syystä ohjelmistoja levitetäänkin 20
yleensä lähdekoodeina, jotka käyttäjän pitää itse kääntää. Tällöin ohjelmistoja voi myös muokata mieleisekseen, mutta tämä yleensä vaatii myös jonkinlaista ohjelmointi- ja ongelmanratkaisutaitoa, mikäli ohjelma ei suostu kääntymään suoraan paketista. BSD kerneliä hallitsee yhden ihmisen sijaan kokonainen ydintiimi, jossa kaikilla jäsenillä on sananvalta kernelin kehitykseen. 4.1 Linuxin vahvuudet Ohjelmisto tuki on ehdoton vahvuus Linuxilla, kun sitä verrataan BSD käyttöjärjestelmään. Yhteinen kernel jokaisessa Linuxissa takaa sen, että ohjelmistot ovat yleensä yhteensopivia eri Linux-versioiden välillä. Linuxin käyttäminen on myös paljon helpompaa, tosin se voi johtua omista käyttökokemus tottumuksistamme. Linuxia myös päivitetään jatkuvasti, jolloin myös uusimpien laitteiden ajurit ovat saatavilla heti laitteiden ilmestymisen jälkeen. 21
4.2 Linuxin heikkoudet Linuxin heikkouksiin lukeutuu, jos sitä verrataan BSD:hen, tietoturva ja järjestelmän vakaus. Tietoturva siinä mielessä, että Linuxia käyttäessä pystyt käyttäjänä paljon helpommin korottaa käyttäjä oikeuksiasi ja koska Linuxin markkina osuus on suurempi kuin BSD:n on sitä vastaan myös enemmän haittaohjelmia ja haavoittuvuuksia kehitetty. 4.3 BSD:n vahvuudet Turvallisuus on ehdoton etu BSD:llä. Pelkästään jo, että normaalina käyttäjänä et voi korottaa käyttöoikeuksiasi tietämättä jotakin nollapäivä haavoittuvuutta tai bugia käyttöjärjestelmässä. Kirjautuminen root oikeuksin ei ole sallittua ikkunoidussa ympäristössä, jolloin minkään toiminnon joka vaatii root oikeuksia ei ole mahdollista. Et myöskään pysty kirjautumaan konsolista roottina, jos olet jo valmiiksi ikkunoidussa ympäristössä. Nämä asetukset eivät ole mitään erikoisia turva asetuksia, jotka pitäisi käyttäjän osata ottaa käyttöön, vaan ne ovat jo oletuksena voimassa. 4.4 BSD:n heikkoudet BSD:n heikkous on käytön vaikeus. Varsinkin jos käyttöjärjestelmään tutustuu ilman suurta tietoteknillistä osaamista, tulee kohtamaan paljon haasteita, jotka ovat sekä teknillisiä että arkkitehtuurillisia. Markkinaosuus on myös heikkous, koska suurin osa ohjelmista on Linuxilta käännettyjä ohjelmia, joiden toimivuus voi olla arpapeliä. Markkinaosuus rajoittaa myös ohjeistusta erilaisten toimintojen suorittamiseen käyttöjärjestelmässä, monet ohjeet joita löytyy ovat jo kymmenen vuotta vanhoja. Myöskään uusimpien laitteiden ajureita ei yleensä ole heti saatavilla, sillä BSD:tä päivitetään hitaalla tahdilla. 22
5 YHTEENVETO BSD on hyvä käyttöjärjestelmä tietotekniikan harrastajalle, joka haluaa oppia käyttämään vakaata UNIX kloonia. Normaalille kotikäyttäjälle BSD on kuitenkin turhan vaikea ja haastava käyttöjärjestelmä ja tällaiselle käyttäjälle Linux on paljon suositeltavampi käyttöjärjestelmä. 23
LÄHTEET https://aboutthebsds.wordpress.com/2013/01/30/history-of-bsd/ http://www.tecmint.com/fedora-25-installation-guide/ http://www.makeuseof.com/tag/linux-vs-bsd-which-should-you-use/ http://www.techrepublic.com/blog/10-things/10-differences-between-linux-andbsd/ http://www.howtogeek.com/190773/htg-explains-whats-the-difference-between-linux-and-bsd/ 24