Linux
Története 1969 – első Unix fejlesztés 1975 – első disztribúció (BSD), szabványosítás ingyenes klón: Linux, FreeBSD 1991 – első hivatalos Linux nyílt forráskódú fejlesztés
Linux történelem 1991 Linus Torvalds finn hallgató egy egyszerűbb UNIX variánst ír, főleg PC-khez, mely a MINIX (Tanenbaum) rendszeren alapul Több önkéntes fejlesztő bekapcsolódott a munkába, a mai napig sok ingyen dolgozó önkéntes is fejleszti Több platformon is fut, az otthoni desktop felhasználásra jobbnak tűnik mint egy UNIX (a sok kiegészítő program miatt)
Linux történelem Számos felhasználói program létezik X-Windows Médialejátszók Játékok, emulátorok, virtuális gépek Web böngészők, e-mail kliensek Irodai alkalmazások OpenOffice – Word,Excel,PPT,stb kompatibilis szerkesztők Mindezek többsége ingyenes
Linux verziók A különböző összetételű linux variánsokat disztibúcióknak hívják SlackWare Debian Ubuntu (Kubuntu, Xubuntu) Red Hat Mandrake Suse UHU (magyar disztribúció) …
Linux Linux felépítése Kernel Shell (héj) Programok Felhasználó és kernel közti kapcsolatot biztosítja Több féle lehet, pl.: Bourne shell (újabb: Bourne Again Shell – bash), Korn shell, C-shell Programok
Linux verziók Minden disztribúció azonos felhasználói felületet használ Ehhez kapcsolódik számos segédprogram (különböző disztribúciókban más-más programok) HW-hez kapcsolódó legbelső rész: kernel (rendszermag) - erőforráskezelés - folyamatok ütemezése - HW felé kapcsolat Kernel folyamatosan fejlődik, a telepített rendszer „alá” érdemes néha egy-egy újabb verziót feltenni
Alapfogalmak Multitask: több feladat egyidejű végrehajtása A feladatok váltogatását az ütemező végzi Preemptív multitaskos operációs rendszer: ha egy folyamat számára kijelölt időszak letelt, akkor a kernel megszakítja a futását és másik folyamatnak adja át a vezérlést. Multiuser: több felhasználó egyidejű kiszolgálása Egy gépre többen jelentkezhetnek be egyszerre, és egyszerre tudnak dolgozni. Mindig van valaki, aki a rendszerrel kapcsolatos adminisztrációt végzi - root
Kernel Rendszermag, az operációs rendszer szíve bármikor le tudjuk cserélni, közös alap ez ad kapcsolatot a többi disztribúció között azokat a vezérlőprogramokat tartalmazza, melyek közvetlenül a hardverelemeket vezérlik Memória menedzselése Processzidő kiosztása Felhasználói feladatok elkülönítése, védelme Csomagokat fogad-küld a hálózaton Párhuzamosan futtatja a programokat Szolgáltatásait rendszerhívásokon keresztül érjük el
Shell Parancsértelmező Nem része az operációs rendszernek Kapcsolatot tart az operációs rendszer és a felhasználó között Minden felhasználói bejelentkezéskor egy parancsértelmező indul el, ennek szabványos ki- és bemenete a terminál: egy promptot jelenít meg több parancsértelmező létezik pl.: bourne shell
Grafikus felület Az alapja a X window system, de ez még csak egy grafikus felületet biztosít a parancsok kiadására. Az X biztosítja az alapvető keretrendszert GUI környezetek építéséhez: ablakok kirajzolása és mozgatása a képernyőn, együttműködés az egérrel és/vagy billentyűzettel. Erre még telepítenünk kell valamilyen ablakkezelőt, amik biztosítják a startmenüt, ikonokat, … KDE GNOME Xfce
Fájlrendszer Fájl tárolási módját határozza meg A lemezen tárolt adatok kezelhetőségét biztosítja Mielőtt egy partíciót fájlrendszerként használunk inicializálni kell, és a nyilvántartó adatstruktúrákat a lemezre kell írni Fájlrendszerei: ext2, ext3
Felépítése Hierarchikus: Fájlnév: max. 255 karakter Gyökérkönyvtár: jele: / Fájlokat és alkönyvtárakat tartalmaz. Fájlnév: max. 255 karakter tetszőleges számú ponttal tagolt név ponttal is kezdődhet – rejtettek különbség is a kis- és nagybetűk között helyettesítő karakterek: *, ?,
Könyvtárstruktúra Kisebb részekre lehet osztani – ezeket a részeket külön partíciókon helyeztük el Minden résznek külön feladata van: Gyökér (root): minden gépnél egyedi a bootoláshoz szükséges információkat tartalmaznia kell. Javításhoz, visszaállításhoz szükséges rész is itt van. /usr: parancsok, könyvtárak, kézikönyv lapok, megosztható /var: változó fájlok (naplófájl, ideiglenes fájl) /home: felhasználók saját könyvtárai
Linux Linux felhasználók Több felhasználó lehetséges Kitűntetett felhasználó: rendszer adminisztrátor vagy root Ezen felhasználónak mindenhez van joga Feladata a rendszer hibátlan futásának biztosítása, backup (adatbiztosítás), többi felhasználó menedzselése Felhasználóhoz tartozik: Login név Jelszó
Linux - tulajdonjogok File vagy könyvtár rendelkezik Tulajdonossal (alapból az, aki létrehozta) Csoporttal (alapból a létrehozó alapcsoportja) File-ra vagy könyvtárra vonatkozó jogok Írás Olvasás Futtatás Különböző jogokat lehet a 3 különböző szintű felhasználóhoz megadni (tulajdonos, csoport, mindenki más)
Linux - tulajdonjogok Futtatható fájlokat nem a kiterjesztése azonosítja. Ha futtatható jog be van állítva és valóban egy futtatható bináris vagy script (batch állomány), akkor lefut. Egyébként nem Minden fájlhoz van egy 9 bitből álló, jogokat leíró rész: rwxrwxrwx sorrendben, ahol r – read, w – write, x – execute. Az első 3-as a tulajdonos, a második a csoport, a harmadik mindenki más jogait írja le
Linux - tulajdonjogok Pl.: rw-r----- tulajdonos: olvashat, írhat csoport: olvashat mindenki más: semmit sem tehet vagy: rwxrw-r-- tulajdonos: olvashat, írhat, futtathat csoport: olvashat, írhat mindenki más: olvashat
Linux - tulajdonjogok Jogok jelzőbitjei mint bináris számok is kezelhetőek: r – 4 w – 2 x – 1 ezek után: rwx = 7, -wx = 3, r-x = 5, rw- = 6, -w- = 2, r-- = 4, --x = 1
Linux - tulajdonjogok Jogok állítása chmod-al: chmod 755 kukac „kukac” nevű file-ra a következő jogokat állítottuk be: tulajdonos: rwx (4+2+1=7) csoport: r-x (4+1=5) mindenki más: r-x (4+1=5) Tulajdonos vagy csoport csere: chown
Memóriakezelés A háttértár egy részét is képes valódi memóriaként kezelni. Virtuális memóriakezelés: a futó programok azon része melyre éppen szükség van az a valódi memóriában van, amelyikre nincs szükség az a virtuális memóriába kerül.
Swap fájl vagy swap partíció A linux swap partíciót használ Előny: - Nem töredezik, saját erre a célra optimalizált lemezkezelés Hátrány: - Nem dinamikus méretű, telepítéskor le kell már foglalni neki valamekkora lemezfelületet, utólagos módosítása nehézkes A windows swap file használ Előny: - Dinamikus méretű, telepítéskor nem kell foglalni neki valamekkora lemezfelületet Hátrány: - Töredezik (hogy lehet ez ellen védekezni MS rendszerekben?), belassulhat, nem erre a célra optimalizált filekezelésen keresztül kezeli a diszket
Linuxos/unixos specialitások Suid: Set User Identification Felhasználói azonosító megváltoztatása Eszközök: Mindent fáljként kezel /dev könyvtárban találunk minden fájlt ami az eszközökhöz tartozik Démonok: speciális processzek Háttérben futnak , párhuzamosan más programokkal Újraindíthatók az operációs rendszer újraindítása nélkül
Boot loader A boot loader szoftver, amely lehetővé teszi, hogy a felhasználó több operációs rendszert tároljon a számítógépén, s a gép indításakor válasszon, hogy éppen melyik rendszert akarja indítani. Egy telepített gépen akár több is lehetne különböző helyeken, de persze egyet célszerű/szoktunk használni LILO: Linux Loader GRUB szó a Grand Unified Boot Loader szavak rövidítése. Nem BIOS hívásokkal kezeli a hardvert A kernelt már a linux fájlrendszerről kell betöltenie
Boot loader helye MBR Boot sector Eőnye: Mindenképpen „ide” kerül a vezérlés a BIOS-tól, ha ez a HDD van beállítva a boot sequence-ben Hátrány: Bármelyik op.rsz újratelepítéskor a telepítő felülírhatja (, a linux nem hacsak telepítőt nem utasítjuk erre), nekünk kell gondoskodni a visszaállításáról Boot sector Eőnye: Bármelyik op.rsz újratelepítéskor a telepítő nem írhatja felül a tartalmát Hátrány: Nem biztos hogy „ide” kerül a vezérlés a BIOS-tól, ha ez a HDD van beállítva a boot sequence-ben, csak a a MBR üres és ez az aktív partíció, vagy ha az ott lévő boot loared „ide” adja átt a vezérlést.
Bootolás folyamata A számítógép bekapcsolásakor a BIOS a beállításai alapján meghatározza a bootoló eszközt, ami jellemzően egy merevlemez, de lehet például CD, DVD vagy pendrive is. Ha ez megtörtént, akkor a BIOS átadja a vezérlést a Master Boot Record-nak, ami az adott eszköz első 512 byte-ját jelenti. A Master Boot Record tartalmazza a GRUB első szintjét, de mivel az 512 byte egy elég kis tárterület, ezért az ott tárolt kód szinte csak annyit csinál, hogy továbbadja a vezérlést a GRUB következő szintjének, ami már a meghajtó egy másik részén helyezkedik el. Amikor a második szint megkapja a vezérlést, akkor megjelenít egy felhasználói felületet, amelyen választani lehet a bootolható operációs rendszerek közül és paraméterezni is lehet őket. A GRUB beállítható úgy is, hogy ha eltelik egy megadott idő anélkül, hogy a felhasználó választana, akkor automatikusan indítsa valamelyik rendszert. A GRUB végül indítja a kiválasztott rendszert, azaz átadja a vezérlést a kiválaszott rendszermagnak. Ezen a ponton az is megtehető, hogy a GRUB ne egy operációs rendszert, hanem egy másik boot loadert indítson.