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 bootjá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 MBRből
●
2) kernel image betöltése
●
3) initrd (ram disk) betöltése –
pl. HD kezelő moduleokat 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ő blockja (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ő opsysek közötti választás biztosítása
–
Betölteni a kernel imageet, initrdt
–
A kernelnek 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.1711generic root (hd0,1) kernel /boot/vmlinuz2.6.1711generic root=/dev/sda2 ro quiet splash initrd /boot/initrd.img2.6.1711generic savedefault boot Kernel és initrd helye root deviceon
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 devicet. 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 nonlinux 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 ramdisket (initrd) és elkezdi felolvasni az /etc/inittab – filet, amely egy nagyon régi szabványt követ. Újabban azonban ez az /etc/events.d/ directoryvá alakult át.
1. Ez az első dolog,
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
ami lefut. 3. Hatására elindul pl. a /etc/rc3.d/ könyvtárban található Start sciptek, ha a 3as runlevelben vagyunk.
# Trap CTRLALTDELETE 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 5. kernel által kezelt különleges 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 események paraméterezése. 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 4. consoleok indítása: # Run xdm in runlevel 5
próbáld ki a Ctrl+Alt+1 , Ctrl+Alt+2 t
x:5:respawn:/etc/X11/prefdm nodaemon
2. Ez szabályozza a runlevelt.
Runlevel ●
●
Egyes runleveleken 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 scriptet fogja hívni „start” és „stop” paraméterekkel
Végrehajtási sorrendre vonatkozó sorszám. A S a startra utal, a K a killre. A GDM a gnome display managerre utal ami a grafikus logint biztosítja.
A cupsys pedig a nyomtató deamonra.
Grafikus eszközöket is használhatunk a linkek manageelé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 byteon címezhető az összes gép
–
IPv6: 6x2 byteon 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 interfacehez rendelés, lekérdezés root@red:/home/lev# ifconfig
interface
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 netmaskja
Az interfaceen lezajlott kommunikáció NB: „lo” loopback interfacee minden gépnek van. Ez mindig a 127.0.0.1es címet viseli.
IP konfigurálás – cím megadás ●
Rendeljük az eth0s interfacehez egy lokális IP címet: 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 A 192.168.1.0 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 as című hálózat collisions:0 txqueuelen:1000 mindig lokális RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) hálózatot jelent! Interrupt:185 Base address:0xec00
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)
MAC Address Ezt minden hálózati kártyába a gyártó írja be és egyedi!
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 netmaskból látszik. Ez a netmask funkciója.
Hálózat címe: 192.168.1.0/255.255.255.0
eth0
Első gép 192.168.1.1/255.255.255.0
Egy IP csomag a 193.6.225.2 címre
eth0 Második gép 192.168.1.2/255.255.255.0
A GW gép belső címe: 192.168.1.0
Más hálózatok
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 GWre
●
Broadcast cím: az erre a címre küldött csomagot mindenki megkapja az hálózaton –
●
A tipikus GW IP cím. (de ez nem kötelező) –
–
A hálózati cím minden maszkolatlan bit: 1 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 ●
Routeing 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 192.168.1.0 *
Genmask Flags Metric Ref Use Iface 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 192.168.1.1 * 255.255.255.0 U default 193.224.222.1 0.0.0.0 UG
Metric 0 0
Ref Use Iface 0 0 eth0 0 0 eth0
●
IP konfigurálás – domain name server Kérdések: –
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 servert.
●
Feladata az IP cím és a nevek összerendeléseinek feloldozása. lev@red:~$ nslookup www.sztaki.hu
Name server IP címe
Server: 195.38.96.31 Address: 195.38.96.31#53
Nonauthoritative 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
Elsődleges DNS cím
nameserver 195.38.96.30
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 addresst 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/servicesben. 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 pop3
# POP version 3
pop3s
995/tcp
# POP3 over SSL
ipp
631/tcp
# Internet Printing Protocol
Tesztelés ●
Ha tudni akarjuk, hogy egy adott szolgáltatás éle é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 '^]'. SSH2.0OpenSSH_4.6p1 Debian5ubuntu0.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 windowstól különböző gépeknek teszi lehetővé az interoperábilitást. Lehet server és kliens is egyszerre, azaz tud file shareinget, printer server sharinget és fordítva.
●
Képes Windows Domain Serverrel is együttműködni és tud windows domain serverké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 sshclient biztosítja a terminalt.
–
Serveren: az sshd (deamon).
Használata (linuxról) –
●
ssh moria.kefo.hu
Windowsos 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 X11es protokoll vagy a 127.0.0.1es géprőlgé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 X11es távoli alkalmazás futtatása (régi stílus) ●
Lépései: –
Engedélyezzük az Xserverunknek, hogy végrehajtson távoli X11 hívásokat is. ●
–
Jelentkezzünk be a távoli gépbe ●
–
export DISPLAY=helyi.gep.IPcime:0
Indítsunk el a kívánt alkalmazást a távoli gépen: ●
ssh tavoli.gep.IPcime
Irányítsuk át a távoli gép képernyőjét a helyi gépre ●
–
xhost + tavoli.gep.IPcime
firefox www.acm.org
Egy X11es távoli alkalmazás futtatása (régi stílus) lev@red:~$ nslookup moria.kefo.hu Server: 195.38.96.31 Address: 195.38.96.31#53 Nonauthoritative answer: Name: moria.kefo.hu Address: 193.224.222.30 lev@red:~$ ifconfig ppp0 ppp0 Link encap:PointtoPoint Protocol inet addr:77.234.76.84 PtP: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
[email protected] [email protected]'s password: Linux moria 2.6.1528server #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 X11es távoli alkalmazás futtatása (új megoldás) lev@red:~$ ssh
[email protected] X
[email protected]'s password: Linux moria 2.6.1528server #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 bitmapek.
●
●
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 widgetet, 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 bootol. (tftp)
–
Csupán egy X server futtatásra képes processzort, memóriát, video kártyát, esetleg USB hostot é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 serverek
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 vane a támogatott printerek listájában.
Printer konfigurálása weben 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 unix oknak é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 routeolá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 moriara X11 protokoll támogatással!
●
Mi soft és a hard real time között a különbség?