Operációs rendszerek 5. előadás rendszer adminisztráció 2006/2007. II. félév Dr. Török Levente
A mai program Egy unix boot jának fázisai. Hálózati protokolok: IP, DHCP, SMB Services ssh, x11, window managers, XDMCP Cupsd Real time rendszerek követelményei.
Linux Init lépései 1) Bootloader (lilo vagy grub) betöltése az MBR ből 2) kernel image betöltése 3) initrd (ram disk) betöltése pl. HD kezelő module okat lehet elhelyezni rajta 4) inittab (events.d) végrehajtása 5) rc.d végig olvasása és végrehajtása
Bootloader A disk első block ja (MBR) ban van az első fele! A legnépszerübbek bootloader a lilo (régi) és a grub. Feladatai: Különböző partíciókról betölthető opsys ek közötti választás biztosítása Betölteni a kernel image et, initrd t A kernel nek paraméterek átadása
GRUB config Menu file: /boot/grub/menu.lst. Tartalma pl. ilyen szekciókból áll: Választható op. rendszer neve title Ubuntu, kernel 2.6.17 11 generic root (hd0,1) kernel /boot/vmlinuz 2.6.17 11 generic root=/dev/sda2 ro quiet splash initrd /boot/initrd.img 2.6.17 11 generic savedefault boot Kernel és initrd helye root device on Normális boot szekció lezárása Root device 1.hdd 1. particio. Ez az info a loadernek megy. Kernel paraméterek, pl az első megmondja, hogy a betöltött kernel hol keresse a root device t. A második, h. readonly mount. Majd csendes grafikus boot legyen
Cifra GRUB szekciók title root kernel quiet boot Ubuntu, memtest86+ (hd0,1) /boot/memtest86+.bin title root Other operating systems: # This entry automatically added by the Debian installer for a non linux OS # on /dev/sda1 title Microsoft Windows XP Home Edition magyar root (hd0,0) savedefault makeactive chainloader +1
Inittab / events.d A kernel betöltődése és elindulása után betölti a megadott ramdisk et (initrd) és elkezdi felolvasni az /etc/inittab file t, amely egy nagyon régi szabványt követ. Újabban azonban ez az /etc/events.d/ directory vá alakult át.
id:3:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 1. Ez az első dolog, ami lefut. 3. Hatására elindul pl. a /etc/rc3.d/ könyvtárban található Start sciptek, ha a 3 as runlevel ben vagyunk. # Trap CTRL ALT DELETE ca::ctrlaltdel:/sbin/shutdown t3 r now # When our UPS tells us power has failed, schedule a shutdown for 2 minutes from now. pf::powerfail:/sbin/shutdown f h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 4. console ok indítása: # Run xdm in runlevel 5 x:5:respawn:/etc/x11/prefdm nodaemon 5. kernel által kezelt különleges események paraméterezése. próbáld ki a Ctrl+Alt+1, Ctrl+Alt+2 t 2. Ez szabályozza a runlevelt.
Runlevel Egyes runlevel eken más és más scriptek indulnak el. Szokásosan: Runlevel 0: Halt System To shutdown the system Runlevel 1: Single user mode Runlevel 2: Basic multi user mode without NFS Runlevel 3: Full multi user mode (text based) Runlevel 4: unused Runlevel 5: Multi user mode with Graphical User Interface Runlevel 6: Reboot System
rc5.d A rc.d valójában ezt a script et fogja hívni start és stop paraméterekkel Végrehajtási sorrendre vonatkozó sorszám. A S a startra utal, a K a kill re. A GDM a gnome display manager re utal ami a grafikus login t biztosítja. A cupsys pedig a nyomtató deamon ra. Grafikus eszközöket is használhatunk a linkek manage elésére. Jellemzően a System/Services alatt találunk valami erre alkalmas eszközt.
IP: internet protokoll ISO/OSI szabvány rögzíti 7 rétegű szerkezetét Verziói: IPv4: 4 byte on címezhető az összes gép IPv6: 6x2 byte on címezhető Címtartományai: A/B/C class net addresses Fajtái: TCP / UDP Kiosztása: hierarchikus (InterNIC a legfőbb koordináló szervezet) Rendeljük össze az Interface < > IP cím / netmask / broadcast
IP konfigurálás cím megadás IP cím lekérdezés: (unix) ifconfig, (win) ipconfig IP cím interface hez rendelés, lekérdezés interface root@red:/home/lev# ifconfig lo Link encap:local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:21 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:609 (609.0 b) TX bytes:609 (609.0 b) IP cime és netmask ja Az interface en lezajlott kommunikáció NB: lo loopback interface e minden gépnek van. Ez mindig a 127.0.0.1 es címet viseli.
IP konfigurálás cím megadás Rendeljük az eth0 s interface hez egy lokális IP címet: A 192.168.1.0 as című hálózat mindig lokális hálózatot jelent! root@red:/home/lev# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 root@red:/home/lev# ifconfig eth0 Link encap:ethernet HWaddr 00:03:0D:3D:99:1E inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:185 Base address:0xec00 MAC Address Ezt minden hálózati kártyába a gyártó írja be és egyedi! lo Link encap:local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:21 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:609 (609.0 b) TX bytes:609 (609.0 b)
IP konfigurálás gateway beállítás netmask A gateway szerepe az, hogy a nem lokális IP címekre eljuttassa, továbbadja más hálózatba az IP csomagokat. Az hogy mi lokális és mi nem lokális? A saját IP címből és a netmask ból látszik. Ez a netmask funkciója. Hálózat címe: 192.168.1.0/255.255.255.0 Egy IP csomag a 193.6.225.2 címre A GW gép belső címe: Más hálózatok 192.168.1.0 eth0 eth0 Első gép Második gép 192.168.1.1/255.255.255.0 192.168.1.2/255.255.255.0
IP konfigurálás gateway beállítás Egy gép IP címből 3 dolog látszik: Lokális cím tartománya: ahová nincs szükség GW re Broadcast cím: az erre a címre küldött csomagot mindenki megkapja az hálózaton A hálózati cím minden maszkolatlan bit: 1 A tipikus GW IP cím. (de ez nem kötelező) A hálózati cím minden maszkolatlan bit: 0 Példa: 192.168.1.3 netmask 255.255.254.0 Lokális címtartomány: 192.168.0.0 192.168.1.255 Broadcast cím: 192.168.1.255 A tipikus GW cím: 192.168.0.0
IP konfigurálás gateway beállítás Route ing táblák feldolgozása: Soronként, egymás után! Oszlopai: cél tartomány, gateway cím, mask,..., interface lev@red:~$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 lev@red:~$ route add default gw 193.224.222.1 lev@red:~$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.1 * 255.255.255.0 U 0 0 0 eth0 default 193.224.222.1 0.0.0.0 UG 0 0 0 eth0
IP konfigurálás domain name Kérdések: server Miért kell emlékezzünk az IP címekre? Mi van, ha átveszi egy szerver egy másik szerepét? Hogyan csináljunk terhelés elosztást? A válasz: használjunk name server t. Feladata az IP cím és a nevek összerendeléseinek feloldozása. lev@red:~$ nslookup www.sztaki.hu Server: 195.38.96.31 Address: 195.38.96.31#53 Name server IP címe Non authoritative answer: www.sztaki.hu canonical name = web.sztaki.hu. Name: web.sztaki.hu Address: 193.6.200.73 A válasz
IP konfigurálás domain name server A name server (DNS) címét viszont be kell írjuk a /etc/resolv.conf fájlba. Pl így: lev@red:~$ more /etc/resolv.conf nameserver 195.38.96.31 nameserver 195.38.96.30 Elsődleges DNS cím Másodlagos DNS cím
DHCP Sok munka minden számítógéphez adminisztrálni az IP címét pl. egy nagy vállalatban. Ezért a Microsoft megalkotta dynamic host control protocolt (DHCP), ami minden kliensek gépnek dinamikussan oszt IP címet, konfigurálja fel a gateway ét, és állítja be name serverét. Annak érdekében, hogy egy azon gép minden alkalommal ugyanazt a címet kaphassa ha lehetőség van a MAC address t használják azonosításra. (lásd: indítása: dhclient eth0 )
További azonosítások Az IP egy gépet azonosít, de a szolgáltatások további belső azonosítókkal bírnak, amelyeket portoknak nevezünk. A portok kiosztása standardokat követ. Leírása megtalálható a: /etc/services ben. Néhány nagyon fontos szolgáltatás száma. ssh 22/tcp,udp # SSH Remote Login Protocol www 80/tcp,udp http # WorldWideWeb HTTP pop3 110/tcp,udp pop 3 # POP version 3 pop3s 995/tcp # POP 3 over SSL ipp 631/tcp # Internet Printing Protocol
Tesztelés Ha tudni akarjuk, hogy egy adott szolgáltatás él e és elérhető egy adott gépről, használjuk a telnet parancsot. pl lev@red:~$ telnet 127.0.0.1 ssh Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. SSH 2.0 OpenSSH_4.6p1 Debian 5ubuntu0.1 Ez megpróbál kapcsolódni az adott IP című géphez az standard ssh szolgáltatásnak megfelelő porton keresztül. Ha sikerült ilyesmit látunk a képernyőn.
Samba SMB Az IBM netbiosából kifejlődött microsoft Server Message Block és CIFS protocoljának nyílt forrású implementációja, amely windows tól különböző gépeknek teszi lehetővé az interoperábilitást. Lehet server és kliens is egyszerre, azaz tud file share inget, printer server sharing et és fordítva. Képes Windows Domain Serverrel is együttműködni és tud windows domain server ként is működni egy megfelelő névtárral LDAP megtámogatva. Lásd: http://www.ipszilon.niif.hu/samba/ipszilon_samba.pdf
SMB kliens alkalmazások Legtöbb fájl manager képes erre már.
Secure Shell SSH Titkosított csatorna biztosítása két gép között. 2 komponensből áll: Kliensen: Az ssh client biztosítja a terminal t. Serveren: az sshd (deamon). Használata (linuxról) ssh moria.kefo.hu Windows os kliens a putty.exe
X11 szabvány Protokoll, amelyet akár hálózaton keresztül is használhatunk és biztosítja az alkalmazásaink számára, hogy grafikus elemeket használjon. A megjelenítésért az Xserver felelős. Az Xserver mindig az előttünk lévő gép! Itt X11 protokollú üzenetek folynak. Vegyük észre, hogy a X11 es protokoll vagy a 127.0.0.1 es gépről gépre (az az a saját desktop gépünk) megy vagy egy távoli gépről jön. Ez utóbbi esetben a mi gépünk IP címére küldi a távoli gép a megjelenítő parancsokat.
Egy X11 es távoli alkalmazás futtatása (régi stílus) Lépései: Engedélyezzük az Xserver unknek, hogy végrehajtson távoli X11 hívásokat is. xhost + tavoli.gep.ipcime Jelentkezzünk be a távoli gépbe ssh tavoli.gep.ipcime Irányítsuk át a távoli gép képernyőjét a helyi gépre export DISPLAY=helyi.gep.IPcime:0 Indítsunk el a kívánt alkalmazást a távoli gépen: firefox www.acm.org
Egy X11 es távoli alkalmazás futtatása lev@red:~$ nslookup moria.kefo.hu Server: 195.38.96.31 Address: 195.38.96.31#53 Non authoritative answer: Name: moria.kefo.hu Address: 193.224.222.30 (régi stílus) lev@red:~$ ifconfig ppp0 ppp0 Link encap:point to Point Protocol inet addr:77.234.76.84 P t P:195.38.98.200 Mask:255.255.255.255 lev@red:~$ xhost + 193.224.222.30 193.224.222.30 being added to access control list lev@red:~$ ssh tlevente@moria.kefo.hu tlevente@moria.kefo.hu's password: Linux moria 2.6.15 28 server #1 SMP Thu Feb 1 16:58:14 UTC 2007 i686 GNU/Linux tlevente@moria:~$ export DISPLAY=77.234.76.84:0 tlevente@moria:~$ konqueror
Egy X11 es távoli alkalmazás futtatása (új megoldás) lev@red:~$ ssh tlevente@moria.kefo.hu X tlevente@moria.kefo.hu's password: Linux moria 2.6.15 28 server #1 SMP Thu Feb 1 16:58:14 UTC 2007 i686 GNU/Linux tlevente@moria:~$ konqueror Ez a fontos!
Window Managers Az X11 csak azt biztosítja, hogy meg tudjanak jelenni grafikus primitívek és bitmap ek. Viszont a futó alkalmazások ablakainak elrendezését a képernyőn egy összefogó rendszernek kell ellátnia. Ez a window manager. Ezek rendszerint hoznak magukkal sok sok widget et, amelyek szabályozzák az összes grafikus elem (pl. nyomógomb, stb.) kinézetét is, van benne egy start menü, egy fájl manager és sok specifikus alkalmazás. A három legnépszerűbb ezek közül a GNOME, a KDE és az Xfce.
Az X11 teljes képe KDE, GNOME Qt, gtk x.org Fontos: mi a server > ami az orrunk előtt van. Mi a kliens? A (távoli software).
Vékony kliens koncepció Elképzelés: Néhány erős szerverrel és esetleg régi elavult (avagy speciális erre a célra gyártott olcsó) számítógépekkel (thin client) ki lehet elégíteni a felhasználók növekvő igényeit. A vékony kliens: Nincs winchestere, hálózatról boot ol. (tftp) Csupán egy X server futtatásra képes processzort, memóriát, video kártyát, esetleg USB host ot építenek bele. Legfeljebb fele annyiba kerül, mint egy PC.
XDMCP A server oldalon egy speciális szolgáltatást kell futtatni: X server Display Manager Control Protocol. Con: az XDMCP lehallgatható protokoll! Távoli server ek
CUPS deamon Common Unix Printing Service: Össznépi kezdeményezés egy nyílt szabványra és egyúttal printer driverek fejlesztésére. Javaslom, ha printert vásárlunk ellenőrizzük, hogy benne van e a támogatott printerek listájában. Printer konfigurálása web en keresztül: pl. firefox http://localhost:631/ Ez a port szám!
Realtime rendszerek követelményei Cél a garantált ütemezés teljesítése Időzítésbeli elvárások: Soft realtime: nincsenek valódi garanciák, csak valószínűségi korlátok arra, hogy az előírt ütemezések teljesíthetőek Hard realtime: garanciákat ad az ütemezésre Rendszer működésbeli elvárások párosulnak Minden kernel rutin korlátos időn belül le kell, hogy fusson Minden IRQ lefutásának garantált idő korlátja
Összefoglalás A rendszer indulás megértése fontos, hogy értsük a rendszer komponenseinek együttműködését. Az IP technológia szerves részéve vált a unixoknak és ez látszik a szolgáltatásokon is (pl. cups vagy X11).
Ellenőrző kérdések Egy linux milyen boot lépéseken megy keresztül? Mi a lilo és a grub? Mit szabályoz a runlevel? Mi az UDP és a TCP között a különbség? Hogyan nézzük meg egy gép IP és MAC address címét? Rajzoljon le egy IP route olást. Hogyan állítjuk be egy gép IP címét, routing tábláját, DNS címeit? Rajzoljon le egy távoli Xservert használó alkalmazás működését. Mi az XDMCP, SMB, cups deamon? Jelentkezzen be a moria ra X11 protokoll támogatással! Mi soft és a hard real time között a különbség?