A FreeBSD egy Unix-szerű operációs rendszer és a régebbi Unix disztribúciók egy iterációja, ismertebb nevén a Research Unix. Nyílt forráskódú és nyilvánosan ingyenesen elérhető, és valójában csak egy a sok Berkeley Software Distributions (rövidítve BSD, ezért az operációs rendszer neve FreeBSD) közül, a többi nevezetes iteráció az OpenBSD, a NetBSD és a DragonFly BSD.
A Linux, mint a Unix származéka, természetesen sok közös vonása van a BSD-kkel. A BSD-hez hasonlóan a Linux disztribúciók is ingyenesek és nyílt forráskódúak. Az alapvető hasonlóságok ellenére a Linux nagymértékben háttérbe szorította a BSD-ket népszerűségben, a modern okostelefonok több mint 74%-a Linux-alapú.
Ez tehát felveti a kérdést:
Nos, a kettő közötti különbség az alapokban rejlik, és a különbségek igen nagyok. De mindet egyetlen posztban elolvasni elég fárasztó lenne az olvasók számára. Ezért ez a bejegyzés kizárólag az alapokra fog koncentrálni, és a bonyolult részleteket kihagyjuk a rövidség kedvéért, és hogy ne ijesszük el az új olvasókat.
De mi is valójában a Linux?
Az első dolog, amit sokan félreértenek, hogy a Linux egy kernel, nem pedig egy operációs rendszer. Így tehát csak egy része az operációs rendszernek, nem pedig maga az operációs rendszer.
Egy pillanatra beszéljünk a kernelekről. A kernelek szolgálnak minden operációs rendszerben a sarokpontként, mivel megtartják az összes mögöttes kódot, amin az operációs rendszer áll. Lehetővé teszi és felgyorsítja a rendszer hardver- és szoftverkomponensei közötti interakciót, kezeli a szoftveralkalmazásokhoz érkező és azoktól érkező be- és kiadási kéréseket, és felelős a hardvereszközök kezeléséért is.
Röviden, a rendszermag a legintegráltabb jellemzője minden operációs rendszernek, amelyre épül, és ezért a rendszer memóriájában egy erősen védett részbe húzódik vissza, ahol az alkalmazások minden hozzáférési kérése elutasításra kerül, kivéve néhányat, amelyek a rendszer működésének szerves részét képezik.
Most, hogy megértettük, mi is az a kernel, továbbléphetünk és megnézhetjük, hogy a Linux, mint kernel, mit csinál az operációs rendszerben.
Linux Kernel az operációs rendszeren belül
A legnépszerűbb Linux alapú operációs rendszerek közé tartozik a Debian, az Ubuntu, a Fedora és a Deepin. Ha tehát valakitől azt hallod, hogy Linuxot használ, tudd, hogy valójában ezek közül a disztribúciók közül valamelyikről van szó. Ezek a disztribúciók azért “Linux-alapúak”, mert a Linux kernelre épülnek. A kernel finomhangolása, valamint a beletöltött új alkalmazások teszik az egyes disztribúciókat különbözővé egymástól.
Mi a BSD, és miben különbözik a Linux-tól?
Amint már említettük, a BSD különböző disztribúciói mind operációs rendszerek. És ez teszi a BSD-t, akárcsak a Linuxot, egy rendszermaggá.
De hogy bonyolítsuk a dolgokat, a BSD egy önálló operációs rendszer is, ami a Linux nem az. Magyarázzuk el, hogy pontosan hogyan.
A BSD disztribúciók esetében a BSD kernelhez számos programot adnak hozzá. Ezt a kombinációt aztán önálló, teljes csomagként adják ki, amit telepíteni kell, és máris kész a dolog. Tehát az olyan BSD disztribúciók, mint a FreeBSD, OpenBSD, stb. közötti alapvető különbség a kernel operációs rendszerhez hozzáadott programok miatt van. A további szoftvercsomagok letöltéséhez a BSD-felhasználók a ports rendszert használják, amely ezeket a csomagokat forráskódban tartja. A forráskódot a rendszer minden egyes szoftver indításakor lefordítja. Bár ez nehézkesnek bizonyulhat, különösen hosszabb, bonyolultabb kódok futtatása esetén, a BSD-rendszerek minden egyes indításkor teljesen kihagyhatják a fordítási lépést, ha a program bináris állapotban van telepítve, így nagymértékben megkönnyítve a folyamatot.
A Linux abban különbözik a BSD-től, hogy az egyes disztribúciók teljesen más programokat használnak, és a disztribúciók nem rendelkeznek központi tárolóval a szoftvercsomagok számára, mivel minden disztribúciónak saját tárolója van.
Különbségek az engedélyezésben
A BSD és a Linux közötti egyik alapvető különbség a licencrendszerben rejlik, amely alapján a disztribúcióikat kiadják.
Amikor a BSD-ben a Ports adattárból letöltesz egy szoftvert, vagy telepítesz egy disztribúciót teljes egészében, a szoftver vagy a disztribúció a BSD licenc alapján kerül hozzád, amely a BSD fejlesztői által alkalmazott egyedi licencrendszer. Bár a BSD jelenleg teljesen nyílt forráskódú és szabad, a BSD licencrendszer lehetővé teszi a fejlesztők számára, hogy a BSD-t egy pillanat alatt zárt forráskódúvá nyilvánítsák. FreeBSD felhasználóként Ön jogilag nem jogosult a BSD fejlesztőinek további kiadásaira. A BSD fejlesztői azonban nyilvánosságra hozták, hogy minden szándékuk megvan arra, hogy a jövőben is nyílt forráskódú maradjon.
A Linux disztribúciókat a GNU General Public License (GPL) alatt adják ki. E licencrendszer értelmében a Linux fejlesztők jogilag kötelesek a Linux kernelben végrehajtott változtatások minden egyes példányát közzétenni. A licencrendszer lényegében biztosítja, hogy a Linux nyílt forráskódú maradjon, függetlenül attól, hogy milyen változtatások történnek magán a kernelen.
Miért népszerűbb a Linux? (Spoilerek: Szoftverelérhetőség)
Ha egész idő alatt azon gondolkodtál, hogy miért nem hallottál a BSD-kről annyit, mint a Linux disztribúciókról, akkor elmondom, miért: ha szoftverkompatibilitásról van szó, a Linux kiüti a parkból. Minden létező szoftverhez létezik Linux-kompatibilis kiadás. Nem ez a helyzet a FreeBSD-vel, amely éppen ezért nagyrészt elhanyagolt marad.
A Linux kernel egyszerűbbé teszi a szoftverprogramok írását és terjesztését más kernelekhez képest, így a fejlesztők természetesen hajlamosak a Linux kiadások felé dolgozni. A disztribúciót különösen az általa megkönnyített, előre telepített bináris csomagrendszer teszi még egyszerűbbé. A Linux lehetővé teszi a szoftvercsomagok letöltését és telepítését olyan csomagkezelők segítségével, mint az apt, yum, Pacman stb.
A Linuxban történő szoftverterjesztéshez képest a BSD felhasználóknak sokkal nehezebb dolguk van. A BSD-ben a szoftvercsomagokat először forráskódként kell letölteni a ports rendszeren keresztül. Ezeket a forráskódokat aztán minden egyes indításkor lefordítják, ami egyrészt időigényes, másrészt frusztráló folyamat a modern korban, amikor a szoftverek telepítése egy gombnyomással történik. Ez ugyanilyen frusztráló a fejlesztők számára is, mivel rengeteg erőfeszítést kell tenniük azért, hogy a fordítás a lehető leggyorsabban menjen.
Bár az előre lefordított bináris csomagok bevezetése nagymértékben enyhítette a FreeBSD-ben a szoftverek beszerzésének folyamatát, a szoftverek elérhetősége még mindig óriási probléma a BSD-k számára.
Választás a Linux és a BSD között
A mainstream Windows és az IOS mellett a Linux disztribúciók ugrásszerűen megelőzik a többi operációs rendszert. Ingyenes, nyílt forráskódú, és mindent kínál, amit a FreeBSD kínál, a kikötések nélkül.
ABSD és a Linux sokkal inkább közös, mint különböző, a licencelés és a szoftverterjesztés az egyetlen alapvető különbség. Mégis, a hasonlóságok ellenére az egyik használata a másik kompromisszumát jelenti.
Egyrészt a FreeBSD minden disztribúcióban fenntart egy eszköz- és függőségi könyvtárat, ami megkönnyíti a fejlesztők számára a tartalom iterálását és saját alkalmazások létrehozását. Ez az a pont, ahol a FreeBSD jelentős előnyben van a Linuxszal szemben, mivel a Linuxhoz mellékelt GNU csomag ezt nem teszi lehetővé.
De másrészt a szoftverek kompatibilitásának és elérhetőségének hiánya súlyosan hátráltatja a FreeBSD-vel kapcsolatos tapasztalatokat. Ez a probléma megoldható a Linux kompatibilitási csomag használatával, amely lehetővé teszi a Linux szoftverek futtatását a BSD disztribúciókon, de ez egy olyan plusz lépés, amely ettől függetlenül még mindig hátráltatja az élményt.
A licencelés tekintetében a Linux GPL licenc sokkal szigorúbb, mint a BSD licenc. A fejlesztők vagy felhasználók nem készíthetnek variációkat a Linux kernelen vagy a forráskódon anélkül, hogy azt nyilvánosságra hoznák. A BSD felhasználóknak nincsenek ilyen kötelezettségeik; ezért a fejlesztőknek legalább a BSD-t ki kellene próbálniuk. Az, hogy a forráskódot titokban tarthatják, jelentős előny, amit a Linux nem biztosít.
A Linux disztribúciók licencelése elfogult a felhasználók javára, mivel megerősíti, hogy minden olyan fejlesztés, amely a rendszer alkalmazásainak javítása érdekében történik, elérhetővé válik a felhasználók számára. A BSD licencelés ezzel szemben inkább a szabványos licenceléshez hasonlít, lehetővé teszi a felhasználók számára, hogy a BSD-ket ingyenesen telepítsék, de nem kötelezi a fejlesztőket arra, hogy tartalmukat nyilvánosságra hozzák.
A mi ajánlásunk
A Linux disztribúciót javasoljuk, ha általános célokra akarjuk használni. A szoftverkompatibilitása elég ok arra, hogy ajánljuk. Ha azonban gyártó vagy, akkor a BSD a megfelelő választás számodra. Központi tárolóhelye van a szoftvereknek, és a megbízhatóságáról jó hírnévnek örvend. Ami pedig a BSD licencelését illeti, nem kell aggódnia amiatt, hogy a munkáját nyílt forráskódúvá teszi.
Ha a Linux Kernel mellett döntöttél, akkor az Ubuntut ajánljuk. Rendszeresen, félévente frissül, ez a következetesség véleményem szerint nagyszerű egyensúlyt teremt a biztonsági problémák kezelése és a felhasználók frusztrálásának elkerülése között.
Ha pedig a BSD kernel mellett dönt, akkor a FreeBSD-t ajánljuk, amely nagyjából a BSD legelterjedtebb disztribúciója.