Készítette: Petróczy Tibor*Ide írhatja a cég nevét+ 1 Linux alapismeretek, kitekintő
Linux alapismeretek Linux történeti áttekintés 1960-as évek MIT -> MULTICS (MULTiplexed Information and Computing Service) 1971- Brian Kerninghan -> UNICS (UNiplexed Information and Computing Service) 1974 nyilvánosságra bocsátva, több cég fejleszti, UNIXOK (IBM:AIX, Berkley University: BSD, HP-UIX, SUN: Solaris (SunOS), Microsoft: XENIX), zárt forráskód, drága, nagygépes környezet 1987 – UNIX PC-re -> MINIX (Andrew S. Tanenbaum), nyílt forráskód 1991 – Linus Torvalds (MINIX-ből Linux kernel) Disztribúció: egy linux kernelen alapuló teljes rendszer (GPL – General Public Licens alatt) Típusai: .deb, .RPM (Red Hat Packeg Manager), .tgz (GNU zipped tar) alapú disztrok Felület: GUI (Graphics User Interface), CLI (Command Line Interface) Grafikus felület: 1996-ban indult a fejlesztés: KDE – Qt, Gnome – Gimp Toolkit „Gtk”, Xfca – Xforms eszközkézlet Operating system (OS): alapprogram, amely közvetlenül kezeli a hardvert, és egységes környezetet biztosít a futtatandó alkalmazásoknak, vezérli a programok végrehajtását (ütemezés, erőforrás elosztás, interakció teremtése). Fő hardverek: memória, processzor, merevlemez, perifériák Linux jellemzői: - többfelhasználós - párhuzamos folyamat végrehajtás - hierarchikus állományrendszer - állomány típusát nem a neve (kiterjesztése) alapján kezeli - hatékony állományvédelmi rendszer (UGO) - több parancsértelmező Rétegmodel: 2 felépítést tárgyalunk, az első jobban szét szeparálja az adott részeket, viszont a felhasználói szint alatt 1 szintre helyezi a shell (parancsértelmező) mellé az egyék programokat. Felhasználó SHELL Segédprogramok Felhasználói Alkalmazások (utility) programok (editor, (folyamatok) fordítóprogramok) Rendszerkönyvtárak (rendszerhívások) Linux kernel betölthető kernel modulok Device Driver (eszköz meghajtók) Hardver
1
2
A réteg modell egy egyszerűsítettebb változata: Alkalmazások Shell (héj, parancsértelmező) -> grafikus (GUI) / szöveges (CLI) Kernel Hardver
Hardver -> Kernel -> Shell (héj, parancsértelmező – grafikus/szöveges) -> Alkalmazások Kerneltípusok: monolitikus, mikro, hibrid, exokernel Kernel feladatai: - perifériák kezelése (I/O eszközök) - memória hozzáférés biztosítása - processzor kezelése, idejének elosztása, ütemezés - háttértárolók kezelése - fájlrendszer kezelése Shell feladatai: - felhasználó felület biztosítása - alkalmazások futásának kezelése - egységes rutinkönyvtár biztosítása (API – Application Programming Interface) pl: sh (Bourne shell minden UNIX rendszer ismeri), bash (Bourne Again Shell) Részletesebben lásd. 3_eloadas
3
Váltás a terminálok között: Karakteresről váltunk: Alt+F1..F8 (F7-F8 grafikus) Grafikusról váltunk: Ctrl+Alt+F1..F8 Felhasználók: usernam, userpass, kisbetűsek, UID, GID (root) Kilépés és leállítás parancsai: logout, exit, reboot, Ctrl+Alt+Del, shutdown, halt Információszerzés parancsokról: man, info Szövegírók: vi, ed, nano, pico, joe, jed, mcedit, emacs Néhány parancs: tty, id, groups, uname –a (gépinfo), pwd, cd, clear Fájlrendszerek: FAT, NTFS (Windows-os környezet), ISO9660 FAT32-t kezeli mindkét rendszer, de nem a legbiztonságosabb NTFS fájlírás Linux-szal (nem áll rendelkezésre az NTFS Captive megoldás (emulálva írjuk az ntfs.sys fájl segítségével)
specifikáció) driverrel
Linuxos fájlrendszerek: ext2, ext3 (naplózó, nagymennyiségű kvt), ReiserFS, Reiser4, XFS (64bit, naplózó) proc fájlrendszer: állapot információkat szolgáltat a kernelről és a processzekről VFS (Virtual File System): a rendszerhívásokat átalakítja az adott fájlrendszerre nézve specifikus hívássá: Folyamat_1, folyamat_2… -> ÁLLOMÁNYRENDSZER ( VFS -> (ext2, msdos, vfat, proc) -> Buffer cache, Eszközmeghajtók ) Process (folyamat)
Process
Process
ÁLLOMÁNYRENDSZER VFS (Virtual File System) ext2 msdos vfat proc Device driver (eszközmeghatjók) Buffer cache Hardver
…
ext fájlrendszer: mutatópont alapú fájlrendszer (inode) inode: könyvtárbejegyzésekhez tartozó adatszerkezet (CSAK 1 tartozik egy könyvtárhoz), ez a fájlt egyértelműen azonsító adat. Adott könyvtár leírása a „.” nevű fájl. inode tartalma: - sorszám - fájl típus (speciális I/O, adatállomány, könyvtár, PIPE/FIFO) - mutatók száma (az adott kvt bejegyzéshez hány név tartozik) - tulajdonos (UID) - tulajdonoscsoport (GID) 4
-
hozzáférési jogok méret időbélyegek (utolsó elérés, utolsó módosítás, attribútumok módosítása) adatblokkok
Fájlrendszer felhasználói interfacei: - standerd input/output átirányítás - mount: két fájlrendszer logikai összefűzése - linkek létrehozása: hard link és szimbolikus link - pipe (csatorna) Állomány típusok: könyvtár (d), fájl (-), szimbólikus link (l), blokk típus (b), karakteres típusú (c), socket (s) Softlink: nem mutat közvetlenül adatterületre (elérési útvonalat tartalmaz), törlése nem jár az adat törlésével, mutathat másik fájlrendszerben lévő objektumra (több adathordozón keresztül is!!) létrehozás: ln –s eredetihely / eredetinév újnév Hardlink: egy fájl különböző nevekkel történő elérése, közvetlenül mutat adatterületre, törlésével törlődik az adat ha nincs másik hardlink az adatra létrehozás: ln eredetihely/eredetinév újnév Könyvtárszerkezet: / - root /bin – futtatható állományok, rendszerprogramok /sbin – rendszer indításakor szükséges programok /etc – alkalmazások konfigurációs állományainak helye /root – rendszergazda saját könyvtára /lib – megosztott programkönyvtárak /dev – eszközkezelő állományok /tmp – ideiglenes állományok helye /boot – rendszer betöltéséhez szükséges állományok helye /home – felhasználók könyvtárai /usr – nagyméretű felhasználó programok /mnt – cserélhető adathordózó /proc – szimulált állományrendszer a folyamatok és a kernel adataival /var – változó állományok tárolása Speciális eszközkezelő „könyvtárak”: -
/dev/ttyX: x-edik számú terminál /dev/hdX: x-edik számú hagyományos merevlemez /dev/sdX: x-edik számú SATA merevlemez /dev/fdX: x-edik számú hajlékonylemez 5
-
/dev/mem: állományként elérhető memória neve /dev/null: „fekete-lyuk”, különleges rendeltetésű állomány, ha olvasunk belőle egyből a fájl végét érzékeljük, ha írunk bele akkor mindent elnyel (pl: hibaüzeneteket ebbe küldjük)
Állományrendszerek beiktatása: -
felcsatolás az állományrendszer valamely könyvtára helyére általában rendszergazdai jogosultság szükséges felcsatolás: mount, lecsatolás: umount mount tábla elérhetősége: /etc/mount
Mount: Jelmgyarázat:
su i
i
i
i
i
i
i
i
i
i
i
i
-
su: super block i: i-node lista db: data-blocks
db db db
Mount tábla tartalma: -
/etc/mount a partíció száma a szuperblokk bufferére mutató pointer a mount jegyzék i-böge (mount pointer) a gyökér jegyzék i-böge /etc/fstab (File System Table)
Szuperblokk tartalma: -
a fájlrendszer mérete a szabad blokkok száma a szabad blokkok listája + index a listán az i-lista mérete a szabad i-bögök száma a szabad i-bögök száma + index a listához lock mező a két listához jelző (történt-e módosítás a szuperblokkban)
Lemezkezelő parancsok: mount, umount, mkfs, fdisk, fsck, tune2fs, mkswap, swapon, swapoff, df, dd 6
ls –i (inode kiiratása), stat / (könyvtárhoz tartozó információk)
Particionálás: Windows <-> Linux ( Primary Master lemez : hda, 4 elsődleges partíció -> elsődlegesből lehet kiterjesztett (extended), abban pedig logikai lemezek) Logikai kötetkezelés (LVM) -> 2_eloadas_lvm
7