Szabad szoftver szóbeli - Gyakorlat

HAZAI Géza, LÉGRÁDI Gábor, SALLAI András, SZERVÁC Attila

- GPLv3 CC3-BY-SA -


Tartalom

1. Általános szoftverek haladó alkalmazása
Szövegszerkesztők feladatai
Alapműveletek
Karakter és bekezdésformázás
Szakaszformázások, oldalbeállítás, hasábok
Objektumok csatolása és beillesztése
Táblázatok, stílusok, nagy dokumentumok
Táblázatok létrehozása, módosítása szövegszerkesztővel
Stílusok típusai, jellemzői, használatuk
Nagyméretű dokumentumok összetett kezelése
Tartalomjegyzék és tárgymutató készítés
Táblázatkezelők
Táblázatkezelők jellemzői, munkalap felépítése, alapfogalmak, cellatípusok
Képletek használata, cellacímzési módok, tartományok
Függvények csoportosítása
Diagramkészítés lépései
Adatok kijelölése a diagramhoz
Diagram típusának kiválasztása
Kész diagramok módosítása
A táblázat, mint adatbázis
Szűrők használata
Célértékkeresés
Kimutatás készítés
Az operációs rendszer jellemzői
Operációs rendszer jellemzőinek lekérdezése
A használt operációs rendszer munkakörnyezetének beállításai
Lekérdezések a rendszerinformációkból
2. Az operációs rendszer fontosabb segédprogramjainak ismerete
Lemezkarbantartó és lemezkezelő programok
Lemezkarbantartó és lemezkezelő programok használata
Biztonsági másolat készítése
Partíció menedzser program kezelése
Partíciók, kötetek
Partíció kezelők
Programok telepítése/eltávolítása
Programok telepítése/eltávolítása a Make segítségével
Programok telepítése/eltávolítása csomagkezelővel
Tömörítés
Tömörítési technikák
Tömörítő programok szolgáltatásai
Tömörítő program használata
Vírusok
Vírusok és társaik
Kockázatok, vírusok elleni védelem
Programok telepítése vírusvédelem szempontjából
3. Grafikai és multimédiás információk kezelése
Képek
Képek grafikai jellemzőinek módosítása
Képek vektorizálása, a vektorgrafika lehetőségei
Multimédiás bevitel
Multimédiás beviteli eszközök
Multimédiás beviteli programok használata
Multimédiás kivitel
Multimédiás kiviteli eszközök
Multimédiás kiviteli programok használata
Prezentációk
Prezentációk felépítése, tartalma, készítésének lépései
Animációk, multimédia objektumok beillesztése
Prezentáció-készítő program speciális alkalmazásai
4. Számítógépes kommunikáció ismerete
Számítógépes kommunikáció ismerete (levelezés)
Levelezés
A levél részei
Felhasználói levelező programok (MUA)
Adatállományok csatolása
A levelező programok speciális szolgáltatásai
Üzenetek rendszerezett megjelenítése, kiválogatása
5. Információk keresése
Információ keresése az Interneten
Keresés egy wikiben
Általános webes kereső programok
A találatok arányának szűkítése, keresési feltételek
6. Weblap készítési ismeretek
Weblapok
A weblapok felépítése
Weblap készítése
Kapcsolatok (Linkek)
Weblapok módosítása
Kész weblap tartalmának módosítása
Weblapok programozásának alapjai
További elemek és szabványok
Táblázatok, képek és videó alkalmazása
A HTML lap ellenőrzése (validálása)
7. Hálózati jellemzők
Hálózati alapfogalmak
Hálózati technológiák
Hálózati topológiák
Kategóriák
Protokollok
Alkalmazási protokollok
Címzések
Állományok használata a hálózaton
Nyílt és titkosított elérési módok
Végrehajtás, másolás, átnevezés, áthelyezés, hozzáférés módosítás
Környezet módosítása a fájlrendszer oldaláról
Keresési útvonalak módosítása
Fájlok megosztása felhasználói- és csoportszinten
Környezet módosítása erőforrás oldalról
Jogok szűrése
A jelszó megválasztás fontossága
Rendszer információk, hozzáférési jogok
Rendszer információk, lekérdezése, módosítása
Hozzáférési jogok lekérdezése, módosítása
8. Fejlesztés
Fejlesztői környezet
Munkakönyvtárak
Szerkesztési feltételek
Futtatási feltételek és változók

A táblázatok listája

1.1. Választható diagram típusok
7.1. Hálózatok osztályozása kiterjedés szerint
7.2. Egy példa az ARP táblára

1. fejezet - Általános szoftverek haladó alkalmazása

Szövegszerkesztők feladatai

A szövegszerkesztőknek lehetővé kell tenniük az adatbevitelt és módosítást. Ezen túl különböző szövegszerkesztőknek különböző céljai lehetnek. Az egyszerű szövegszerkesztőkkel hatékonyan elvégezhető például a rendszer 100%-os testre szabása vagy a legegyszerűbb fejlesztési feladatok elvégzése. Ilyen szövegszerkesztő például a nano. Vannak irodai szövegszerkesztők is, mint például az OpenOffice.org Writer. Vannak mind a tartalmat, mind a formát magas szinten kezelő szerkesztők is, melyek magukat is fejlesztik. Ezek legismertebbje az Emacs. Az ilyenek egyfajta szuperszerkesztők.

A szöveg alapvetően bekezdésekre, azon belül sorokra és karakterekre oszlik, bár a legnagyobb egység a könyvsorozat is lehet (bookset). A kettő között az irodai szerkesztők vagy a szuperszerkesztők az oldal vagy szakasz fogalmát is ismerik, főleg e szerkesztőkkel foglalkozunk, bár az alapvető műveletek a legkisebb egységekre vonatkoznak.

Alapműveletek

  • Szövegbevitel: a szöveg bevitelére különböző bemeneti forrásokból nyílik mód. Ilyen például a fájl. Ezt akár már indításkor is beolvashatunk, például: nano Első.xml vagy oowriter Első.xml. (Ne feledjük, hogy egyes programok még ma sem szeretik a Unicode fájlneveket, és esetleges speciális, például szóköz vagy $ karakterek ellen literális ' idézőjel kell).

    A szabvány bemenet (STDIN) alapértelmezetten a billentyűzet. Egyes nem-nyomtató karaktereket a különböző szövegszerkesztők másképp értelmezhetnek. Például az Enter billentyű hatására keletkezőt az irodai szövegszerkesztők új bekezdésnek tekintik; az egyszerű szövegszerkesztők viszont nem feltétlenül.

  • Beszúró mód: a beszúró és felülíró mód közt az Insert billentyűvel válthatunk. A beszúrás (vagy felülírás) helyét a kurzort mozgató nyilakkal, a Home, End, PgUp, PgDn billentyűkkel és más kombinációkkal módosíthatjuk.

  • Szerkesztés, billentyűparancsok: a szerkesztést alapvetően billentyűparancsokkal végezzük, van néhány általános és vannak egyediek.

    Egy a kurzortól jobbra lévő karaktert a Delete billentyűvel törölhetünk. Billentyűkombinációk leírásakor a ^ jel IBM PC stílusú billentyűzet esetén a Ctrl billentyűt jelenti; régen nem volt billentyű a hátratörlésre, de a ^h páros sok régi stílusú programban (például nano, vi) még ma is működik (eredete a 8. ASCII vezérlőkarakter), ma már a legtöbb billentyűzeten egy külön nagy gomb van erre. A ^w sok helyütt töröl szót.

    Sorok, bekezdések esetén már egyediek a parancsok. Például a törlés más a nano, vi, emacs vagy az oowriter esetén. A blokkműveleteknél, melyek ennél is fontosabbak, szintén vannak eltérések. A blokkot minden esetben kijelöljük és vágólapra másoljuk vagy vágjuk, csak a billentyűparancs térhet el.

Karakter és bekezdésformázás

A dokumentumba formázó karakterek vagy karaktersorozatok kerülhetnek. A legegyszerűbbek a nem nyomtató karakterek, például az ASCII szóköz, tab, soremelések vagy más karakterek jellemzően többszörös használatai, ezek képesek bekezdéseket létrehozni vagy azokat formázni, például igazítani, behúzni és így tovább.

A karakterek formázásához már formázó karaktereknek kell kerülniük a dokumentumba. A legrégibb még ma is használt ilyen mód a roff (runoff) illetve annak újabb megvalósításai, így például az nroff vagy a groff. Ma már inkább csak a kompatibilitás kedvéért használjuk például a régi unix-stílusú kézikönyv lapokban.

A korszerű formázások XML-alapúak, ilyet használnak például az irodai szövegszerkesztők, íme a legfontosabbak az OpenOffice.org Writer irodai szövegszerkesztőben:

Minden funkciót megtalálunk a menüben, de a legsűrűbben használt formázásokat az eszköztáron is.

A dokumentum elemeihez formázási stílusokat rendelhetünk. Ez a benne lévő formázások összessége. Az alapértelmezetten kívül korlátlan számú formázási stílust használhatunk. E stílus nevétől jobba állíthatók a benne lévő formázások.

Karakterek

A karakterek legfontosabb formázási jellemzői, a betűtípus-család (betűkészlet) neve (például DejaVu Serif), a mérete (magasság pontban), a betűstílusok, betűhatások és színek (például: bold (félkövér), cursive, italic (dőlt), underline (aláhúzott), körvonalas, árnyékolt, villogó, rejtett és más betűstílusok és hatások, és annak színei).

A karakterek formázásához tartozik még a pozíció - ez lehet normál, vagy alsó illetve felső index, mely utóbbi esetekben meg lehet adni az indexként használt karakterek emelésének vagy süllyesztésének százalékos mértékét, és a relatív betűméretet is, a karakter jobbra vagy balra elforgatása, és az ahhoz kapcsolódó átméretezés, mely az elforgatott karaktert a sorba illeszti, a karakter távtartása (karakterek közti térköz) vagy egy adott karaktersorozat hiperhivatkozássá tétele, mellyel hivatkozhat más dokumentumokra.

Bekezdések

A bekezdések legfontosabb formázásai a vízszintes igazítás, a behúzások, tabulálás és az egy- vagy több-szintű listák.

A bekezdések a 2 behúzáshoz balra, középre, jobbra, vagy többféle módon sorkizártan igazodhatnak. Sorkizárt igazításnál az utolsó sor igazítása külön beállítható. A behúzásnál szintén külön állítható az 1. sor behúzása (a papírspórolás esetét kivéve stílustalan!).

Bekezdéseken belül az alapértelmezett rögzített pozíciók előtt felvehetők tetszőleges méretű rögzített pozíciók és igazításuk a vonalzón, a menüben finomabban szabályozhatók.

A bekezdések több-szintű listákba tehetők, a listák minden szintje lehet felsorolás-szerű vagy rendezett (betűvel, számmal vagy mással).

Listák
    1. Azt állítjuk, hogy a lista elemei bekezdés szintű elemek.

      Valójában lehetnek al-bekezdései

    2. Itt most a 2. szint is rendezett.

    • A listánk 2. elemében viszont egy

    • felsorolás-szerű 2. szintet hoztunk létre.

Szakaszformázások, oldalbeállítás, hasábok

A szövegdokumentumok nagyobb egységei a szakaszok (section) al-szakaszok. A nagyobb dokumentumosztályokban már fejezetek (chapter) és még nagyobb egységek is vannak.

Valójában szöveg a szakaszokon belül tördelődik oldalakra tetszőleges hasábbeállítások szerint, ezért ezek beállításainak módosítása mindig az adott szakaszra vonatkozik. Természetesen a Formátum menüben megtaláljuk az oldal beállításait, ideértve a méreteket, margókat, szövegirányt, elrendezést, hátteret, élőfejet, élőlábat, láblécet és egyebeket.

Új dokumentum szerkesztésekor azt az alapértelmezett szakaszban kezdjük. Új szakaszt beszúrni természetesen a Beszúrás menü Szakasz pontjával tudunk. A szerkesztő nézetben az új szakaszokat vékony, halvány szürke csík választja el egymástól, beléjük lépve a jobb alsó sarokban olvashatjuk az aktuális szakasz nevét,melyben éppen állunk, például: Szakasz1.

A szakaszformázások eléréséhez többek közt használhatjuk a Formátum menü/Szakasz pontját, mely elindítja a szakaszokra vonatkozó párbeszédablakot. E párbeszédablakban kapcsolódhatunk más dokumentumokhoz, védhetjük és rejthetjük a szakaszt, és Beállítások gombjával visszakapjuk a szakaszformázások párbeszédet, amit a szakasz létrehozásakor is láthattunk.

A szakaszra vonatkozó hasábokat, behúzásokat, hátteret és egyebeket is megadhatunk itt. Megadhatjuk a hasábok számát és eloszlását, tehát azt, hogy az egyes hasábok milyen szélesek legyenek és hogyan alakuljanak közöttük lévő térközök.

Az oldalbeállítás értelemszerűen szintén a Formátum menüben található, valamilyen oldalstílusra épül, ami szintén módosítható, például Alapértelmezett, Első oldal vagy más oldalstílusokra. A margók, a páros-páratlan beállítás, a számozás formátuma, a háttér, az élőfej és élőláb tulajdonságai, a szegélyek, a lábjegyzet stílusa és az oldalakra vonatkozó minden beállítás itt adható meg.

Objektumok csatolása és beillesztése

A dokumentumba a szövegen kívül különféle objektumok csatolása és beillesztése lehetséges.

Képletszerkesztő használata

Általános, szövegszerű objektumok a képletek, ennek beillesztésére a képletszerkesztő használata ad lehetőséget.

Képletobjektumot az éppen írt szövegbe legegyszerűbben úgy tudunk beilleszteni, hogy a Beszúrás menüből indítjuk a képletszerkesztőt. A beszúrás helyén egy kis szerkesztőkeret jelenik meg.

A képletszerkesztő (itt a Math) ilyenkor a szövegszerkesztőbe (itt a Writer) integráltan indul el, egyrészt az épp általunk szerkesztett szöveg alatt indul nyílik meg a szerkesztőablaka, másrészt egy kis képletelem ablakot is nyit, a leggyakrabban használt képletelemek könnyű beszúrására. A képlet szerkesztése után a szövegbe visszakattintva a Képletszerkesztő ablak automatikusan eltűnik, és megint a szöveg szerkesztését ismét a szövegszerkesztő ablakának teljes méretében folytathatjuk tovább.

Grafikák és egyéb objektumok szövegbe illesztése

Grafikák és egyéb objektumok szövegbe illesztése is a Beszúrás menüből történik.

Leggyakrabban képet szúrunk be. Ez lehetséges fájlból, vagy lapolvasás, vagyis scanner használatának segítségével. A beszúrt méretét és elhelyezkedését akár húzással is módosíthatjuk.

Lehetőség van bármilyen fájl, vagy konkrétan diagram, mozgókép vagy hang vagy egyéb közvetlenül megjelenő objektum a szövegbe illesztésére is. Utóbbiak közül legfontosabbak az OGG hang vagy videófájlok, mert ezek támogatása bármely platformon minden alapvető program által biztosított, nem csak valamennyi szabad multimédia és kommunikációs szoftver támogatja őket, és nem csak valamennyi szabad irodai szoftver, hanem minden, a modern webes szabványokat, például HTML 5 támogató webböngésző is, így ezek a mozgókép és hangfájlok biztosan és tökéletesen megjelennek minden szabványos, modern platformon és alkalmazásban.

Táblázatok, stílusok, nagy dokumentumok

Táblázatok létrehozása, módosítása szövegszerkesztővel

Létrehozás és módosítás

Táblázatok létrehozása a szövegszerkesztővel legkézenfekvőbben a Beszúrás menü Táblázat pontjával tehető meg. Itt megadhatjuk a táblázatunk nevét, kezdő méretét, és még számos más beállítást a táblázat esetleges címsorára a táblázat egyben-tartására, a táblázat szegélyére és egyebekre vonatkozóan.

A táblázatok létrehozása, módosítása szövegszerkesztővel olyan népszerű, és épp ezért annyira kidolgozott lehetőség, hogy az irodai szövegszerkesztőben, mint amilyen az általunk is használt OpenOffice.org Writer egy különálló fő menü áll rendelkezésre kimondottan a táblázatok módosítására, szerkesztésére valamint bizonyos funkciók az automatikus Táblázat eszköztáron is felbukkannak. Ilyen például a cellák felosztása vagy a táblázat szegélyeinek meghatározása menüpont.

A táblázat módosításának egyik legkényelmesebb módja, mindig az adott táblázat helyi menüje. Itt a legfontosabb pontok az előbb látott tulajdonságok módosítására vonatkoznak, vagyis a táblázat általános jellemzőire, a sorok és oszlopok számára, és így tovább.

Formázások

A táblázatokra vonatkozó formázások szintén elérhetők az előbb említett menük segítségével meghívható párbeszédablakban. A táblázatformátumok közt beállíthatjuk a táblázat igazítását és amennyiben azt nem automatikusra állítjuk, akkor a szélességét, a térközt, a hátteret és szegélyeket, az oszlopok szélességi arányát és a cellákban található szövegek beosztása kezelésének rengeteg tulajdonságát.

Stílusok típusai, jellemzői, használatuk

A stílusok a dokumentum kisebb vagy nagyobb szerkezeti elemeinek tulajdonságait és azok tartalmának különféle formázásait összefogó leírások. A stílusok típusai azok alapján különülnek el, hogy az adott stílus mekkora szerkezeti elemre vonatkozik. Ez alapján vannak például egyszerűbb, karakterre vonatkozó vagy egész bekezdésekre vonatkozó stílusok.

Az irodai szövegszerkesztőkben, például az általánosan használt OpenOffice.org Writer szövegszerkesztőben vannak előre beépített stílusok, de magunknak is készíthetünk ilyeneket, melyek állandóan elérhetők lehetnek. Az előre beépített stílusok elérhetőségének legkedveltebb módja a formázó eszköztár bal oldalán található legördíthető menü, mely mindig az adott tartalomnak megfelelő elérhető stílusokat mutatja.

A rendelkezésre álló formázási stílusok típusai, jellemzői elérhetők a Formátum menü Stílusok pontjában. Itt böngészhetjük a különféle típusú, például karakter- vagy bekezdésstílusuk, helyi menüjük Módosítás pontjával megtekinthetők és módosíthatók az egyes stílusok jellemzői. A módosítás az adott stílus helyi menüjével tehető meg. Új stílus létrehozása szintén itt, a Stílusok és formázás menüben tehető meg, amire 2 lehetőség van. Az egyik, hogy az új stílust egy kiválasztott, meglévő alapján hozzuk létre, a másik, mely szintén elérhető a párbeszédablak helyi menüjével, az új stílus önálló létrehozása. Ekkor a választott stílustípusnak megfelelő stílus párbeszédet kapjuk.

A stílusok használata kétféleképpen valósul meg. Az egyik valamely kiválasztott stílus alkalmazása a kijelölt részre, ez az ablakban az adott stílusra duplán kattintva lehetséges, a másik a stílusok fent látott módosítása.

Nagyméretű dokumentumok összetett kezelése

Az irodai szövegszerkesztők célja nem nagyméretű dokumentumok elkészítése illetve kezelése, nem is igazán alkalmasak, nem is kell, hogy alkalmasak legyenek például könyvek elkészítésére, vannak ugyanakkor olyan rendszerek, mint a DocBook XML, TeX/LaTeX vagy a Scribus és más kiadványkészítő programok, melyekkel akár egész könyvsorozat is elkészíthető. Az irodai szövegszerkesztő így messze nem tud annyit, mint a fent említettek, csak a legegyszerűbb hivatkozásokat ismeri.

A nagyméretű dokumentumok összetett kezelése szempontjából a legfontosabb, mint a POSIX-szabványos operációs rendszerekben a modularitás és újra-felhasználhatóság. Ez azt jelenti, hogy a nagyméretű dokumentumok egyes részeit külön tároljuk, ami biztosítja rendezésük legrugalmasabb módosítását is.

Erre annyi lehetőség áll rendelkezésünkre, hogy fődokumentumot és annak al-dokumentumait használjuk. Szerkesztés alatt álló sima dokumentum a Fájl menü Küldés pontjával tehetünk fődokumentummá, ugyanitt új fődokumentumot is hozhatunk létre. Fődokumentummal dolgozva a Navigáció ablak Beszúrás lehetőségével érhetjük el, hogy a dokumentum adott részét egy másik fájlból olvassa. Az al-dokumentum fájl módosításának hatását ugyanitt a frissítés lehetőséggel jelenítjük meg.

Tartalomjegyzék és tárgymutató készítés

A szerkesztett dokumentumban tartalomjegyzék és tárgymutató készítés is lehetséges. Ezeket a jegyzékeket természetesen szintén a Beszúrás menüvel szúrhatjuk be a dokumentumba.

A párbeszédben kiválaszthatjuk a Jegyzék típusát, mely lehet tartalomjegyzék, tárgymutató, ábrajegyzék vagy egyéb. A Bejegyzés beszúrásával például egy szöveget egy jegyzék számára bejegyzéssé tehetünk és így a dokumentum azon részén, ahol beszúrjuk majd a jegyzéket, az ily módon bejegyzéssé tett elemek megjelennek.

Táblázatkezelők

Táblázatkezelők jellemzői, munkalap felépítése, alapfogalmak, cellatípusok

A táblázatkezelő programok (angolul spreadsheets) arra a célra készültek, hogy segítségükkel -- főképpen -- pénzügyi számításokat lehessen elvégezni. A későbbiekben az alkalmazási területük jelentősen kibővült. Mára ezeket a programokat pénzügyi vagy statisztikai számításokhoz elemzésekhez, vagy előrejelzésekhez is használják, mivel a számítások elvégzésén kívül az eredmények grafikus megjelenítésére is alkalmasak lettek. Ezeken felül az így előállított számítási eredmények más programok (például adatbáziskezelők) számára is befogadható formátumra hozhatók.

A táblázatkezelő program által kezelhető munkaterületet munkalapnak hívják. A munkalap egy olyan táblázatként fogható fel, amelynek sorai és oszlopai vannak, s ezen sorok és oszlopok metszéspontjainál található ún. cellákba tudunk adatokat elhelyezni. A munkalap celláinak (sorainak és oszlopainak) száma eléggé nagy értékeket is fel szokott venni (akár több száz vagy ezer sor és oszlop). Arra is van lehetőség -- ha esetleg egy munkalap nem lenne elegendő, hogy több munkalapot egy ún. munkafüzetté fogjunk össze. Több ilyen táblázatkezelő program már eleve három-négy munkalappal kialakított munkafüzetet ajánl fel a velük dolgozó felhasználóknak.

A munkalap legkisebb kezelhető egysége a cella. A cella egy sor és egy oszlop találkozásánál, az általuk címzett területet jelent. A cellák több típusú adat tárolására alkalmasak, de minden cella csak egyszerre csak egy típusú adatot tartalmazhat.

A cellákban használható adattípusok a következők lehetnek: numerikus (számokat tartalmazó), alfabetikus (betűket tartalmazó), logikai, dátum, függvény, hibaérték.

Képletek használata, cellacímzési módok, tartományok

A munkalap cellájába értékeken kívül írhatunk hivatkozásokat és függvényeket is. A hivatkozások a munkalapon belül más helyen található mezőket címeznek meg, s ezáltal elérhetővé válnak az ott tárolt értékek is. A függvények összetettebb számításokat végeznek. A függvények paraméterezhetők cellák vagy cellatartományok címével is.

A cellákra a sor- illetve oszlopkoordinátájuk megadásával hivatkozhatunk (például A1). A cellák címének használata során több módon is leírhatjuk a cellahivatkozásokat, mely leírások alapvető viselkedési módokat is jelentenek. A viselkedés eltérése a következőkben foglalható össze: alapértelmezetten -- tehát külön jelölés nélkül a cellahivatkozás relatív viselkedésű. Ez azt jelenti, hogy a hivatkozást tartalmazó cella másolása vagy mozgatása esetén a benne tárolt hivatkozás is a másolás vagy mozgatás mértékével megváltozik. Az abszolút hivatkozásnál -- amelyet mindkét koordináta elé ír jellel ($) jelzünk, például $A$1 --, a másolás és mozgatás az ilyen hivatkozásra nincs hatással, mintha az cellahivatkozásértéket fixen rögzítettük volna. Vegyes hivatkozásról beszélhetünk akkor, ha csak az egyik koordinátát (vagy a sor- vagy az oszlopkoordinátát) rögzítjük le (például A$1 vagy $A1). Ekkor értelemszerűen a másolás vagy elmozgatás a rögzített koordinátaértékre nincs hatással.

A cellákat, a könnyebb kezelhetőség miatt összefoghatjuk cellatartományba, melynek nevet is adhatunk. A későbbiekben ezzel a névvel tudunk hivatkozni rá például függvények argumentumaként.

Függvények csoportosítása

A táblázatkezelők az egyes adatokat beépített függvények segítségével is előállíthatják (a felhasználói függvények létrehozása nem témája ennek az anyagnak). A könnyebb érthetőséget biztosítja az, hogy az egyes függvényeket kategóriájuk szerint is lehet keresni.

  • Adatbázis

    Olyan függvényekkel foglalkozik, amelyek akkor használhatók, amikor az adatok olyan rekordokba vannak szervezve, melyek egy sornyi adatot tartalmaznak.

    Adatbázis függvények paraméterei:

    • Adatbázis:

      az adatbázist meghatározó cellatartomány.

    • Adatbázismező:

      az az oszlop, amelyben a függvény működik, miután az első paraméter keresési feltételét alkalmazta a program, és az adatsorok ki vannak választva. Nem kapcsolódik magához a keresési feltételhez. A 0 számmal megadható a teljes adattartomány. Egy oszlopra az oszlop fejlécének nevével lehet hivatkozni, ilyenkor a fejléc nevét idézőjelek közé kell tenni.

    • Keresési feltétel:

      a keresési feltételeket tartalmazó cellatartomány. Ha egy sorban több feltételt megadására kerül sor, akkor azok AND (és) művelettel köthetők össze. Ha feltételeket különböző sorokban szerepelnek, akkor azok OR (vagy) művelettel kerülnek összekötésre. A keresési feltételek tartományában található üres cellák figyelmen kívül maradnak.

    Példa:

    • DCOUNT:

      megszámlálja a számokat tartalmazó sorokat (rekordokat) egy adatbázisban, melyek megfelelnek a megadott keresési feltételnek.

  • Dátum és idő

    Dátumok és időpontok beszúrására, valamint szerkesztésére szolgálnak.

    A dátum alapja, azaz a 0. nap, lehet:

    • '12/30/99' (alapértelmezett)

    • '01/01/00' (StarCalc 1.0)

    • '01/01/04' (Apple szoftverek alapértelmezése)

    Példa:

    • NOW:

      A rendszer dátumát és idejét adja eredményül. Az érték frissül, ha újraszámolja a dokumentumot, vagy minden esetben, amikor egy cellaértéket módosít.

  • Pénzügyi

    A kategória az OpenOffice.org Calc pénzügyi függvényeit tartalmazza.

    Példa:

    • EFFECTIVE:

      Kiszámítja egy névleges kamatlábhoz tartozó éves kamatláb nettó értékét.

  • Információ

    A kategória az információs függvényeket tartalmazza.

    Példa:

    • ISFORMULA:

      igaz” értéket ad vissza, ha a cella képletet tartalmaz.

  • Logikai

    A kategória a Logikai függvényeket tartalmazza.

    Példa:

    • AND:

      igaz” értéket ad vissza, ha minden argumentuma „igaz”.

  • Matematikai

    A Calc matematikai függvényeit tartalmazza.

    Példa:

    • FACT:

      Kiszámítja a szám faktoriálisát.

  • Tömb

    Az adattömbökön, illetve mátrixokon ható függvényeket tartalmazza.A tömb értékeket tartalmazó cellák kapcsolt tartománya a munkalapon. Egy négyzet alakú, 3 sort és 3 oszlopot tartalmazó tartomány egy 3x3-as tömb. A legkisebb lehetséges tömb az 1x2-es vagy a 2x1-es, mely két szomszédos cellát tartalmaz.

    Példa:

    • TRANSPOSE:

      Egy tömb sorait és oszlopait cseréli fel.

  • Statisztikai

    A statisztikai függvényeket tartalmazza.

    Példa:

    • MEDIAN:

      Kiszámítja a számhalmaz középső értékét. Páratlan számú értéket tartalmazó halmazban a középső érték a halmaz közepén elhelyezkedő érték. Páros számú értéket tartalmazó halmazban a középső érték a halmaz közepén elhelyezkedő két érték átlaga.

  • Munkafüzet

    A munkafüzet-kezelő függvények példával szemléltetett leírásai.

    Példa:

    • ADDRESS:

      Egy cella címét (hivatkozását) adja eredményül szövegként, a meghatározott sor és oszlop száma szerint. Meghatározhatja, hogy a címzés abszolút címzésként (például: $A$1), relatív címzésként (például: A1) vagy esetleg a kettő ötvözeteként (A$1 vagy $A1) kerül értelmezésre. Ezen kívül megadhatja a munkalap nevét is.

  • Szöveg

    Szövegfeldolgozó függvények.

    Példa:

    • CHAR:

      Egy számot karakterré alakít át, az aktuális kódtábla szerint. A szám egy, két vagy három számjegyű egész szám lehet.

  • Kiegészítő

    Itt olvasható néhány elérhető kiegészítő függvény felsorolása és ismertetése. Operátorok is használhatók.

    Példa:

    • ISLEAPYEAR:

      Meghatározza, hogy egy évszám szökőév-e.

Diagramkészítés lépései

Egy beszámoló, jelentés száraz adatait látványosan meg lehet jeleníteni diagramokban. Sok esetben a jelentés olvasóját nem elsődlegesen a konkrét értékek, hanem a tendencia érdekli, ezért a képi megjelenítés sokkal hasznosabb, mint számoszlopok megértése (ilyen például a tőzsdei árfolyam, vagy egy vállalkozás árbevétele).

Az irodai szoftverek egyik igen kényelmes tulajdonsága a diagram készítés. Korábban ezt külön programokkal lehetett csak megoldani, amelyek általában fogadtak táblázatkezelőből kiexportált adatállományt (.csv fájlokat), de ez abban az értelemben nehézkes volt, hogy a dimenziókat, az értelmezést mindig definiálni kellett

Az OpenOffice.org viszonylag hamar kialakította a táblázatokból való diagram készítés lehetőségét. Ez megoldható mind a táblázat-kezelőből, mind a szöveges dokumentumokban elhelyezett táblázatokból.

Adatok kijelölése a diagramhoz

Az adatokat kétféleképp lehet kijelölni:

  • a diagram készítést segítő „diagramtündér” meghívása előtti kijelöléssel

  • a diagramtündér egyik lépéseként

Utóbbi eset arra is alkalmas, hogy az eredetileg kijelölt adatterületet utólag módosítsuk.

A diagramtündérrel való diagram előállítás kényelmes és gyors lehetőség (elérhető a „Beszúrás” főmenüpont „Diagram” pontjából). 4 lépésben lehet a feladatot elvégezni. Az egyes szakaszok közt a „Tovább” gombbal lehet váltani, a „Vissza” gombbal lehet az előző lépésre visszatérni, a „Mégse” gombbal a kialakítást megszakítani. A „Befejezés” gomb mindig aktív, így bármikor a beállítást be lehet fejezni (mégha lennének hátra nem kialakított elemek is).

Diagramtípus

A választható típusokból kis ikonokon mintát mutat be a tündér. Erre azért van szükség, mert típusonként eltérő számú altípus létezik, a választás ezzel a módszerrel sokkal könnyebb. Az külön könnyebbség, hogy a diagramtündér ablak felett a választott típus/altípusnak megfelelő diagram fajta a tényleges adatokkal kicsinyítve megjelenik.

1.1. táblázat - Választható diagram típusok

diagram típusokaltípusok száma
oszlop3
sáv3
torta4
terület3
vonal4
pont4
háló3
árfolyam4
oszlop és vonal2


Egyes típusoknál a megjelenés további tulajdonságokkal bővíthető. Például az oszlopdiagramok megjeleníthetőek henger vagy éppen gúla formájú elemekként (természetesen térhatású módban). A vonal (pont) diagramok esetében arra is lehetőség van, hogy ne legyen a diagram szögletes, hanem úgynevezett „simításos” megjelenítés legyen, azaz a burkoló görbe jelenjen meg.

Adattartomány

Amennyiben a tündér behívása előtt nem jelöltük ki a feldolgozandó adatokat tartalmazó területet, akkor itt lehet megadni a táblázat-kezelőben szokásos módon a bal felső és jobb alsó cellák meghatározásával. Ha megadtuk, de utólag módosítani szeretnénk, akkor megtehetjük a beviteli mező melletti ikonra kattintva. Ekkor arra is van lehetőség, hogy a bal felső és jobb alsó sarokra kattintva kijelöljünk egy területet (nem kell feltétlenül beírni).

További beállítási lehetőségek:

  • A kijelölt területen az adatok sorokban, vagy oszlopokban szerepelnek-e?

    Ennek megértéséhez képzeljünk el egy üzlet havi forgalmának adatait havi bontásban. Legyen az első oszlop a bevétel, a második a kiadás. Minden egyes sor egy hónapnak felel meg. Ha a bevétel-kiadás egymáshoz viszonyított arányát szeretnénk megjeleníteni, akkor az adatsorok oszlopokba rendezve szerepelnek a táblázatban (munkafüzetben). Ha azonban a bevételt, illetve a kiadást havonta szeretnénk látni, akkor az adatok ténylegesen sorokban vannak, így ennek megjelölésére a diagramban a teljes (évi) forgalom %-ában jelennek meg az adatok.

  • A kijelölt adatok első sora (oszlopa) legyen címke?

    Ez sem igényel különösebb magyarázatot: ha az első sor az oszlopok nevét tünteti fel, akkor gondoskodni kell arról, hogy ez a diagramban helyesen szerepeljen (azaz ne legyen adatként értelmezve). Ha ez

Adatsorok

Az adattartományok testre szabását lehet itt elvégezni. Egyrészt mód van arra, hogy az adatok sorrendjét megváltoztassuk (az említett példában az oszlopdiagram kezdődhet a „bevétel”-lel, de beállítható, hogy a „kiadás”-sal kezdődjön), másrészt a „Név”, illetve „Y tartomány” leíró területét meghatározzuk. Ezek főleg akkor lényegesek, ha történetesen egynél több sorban (oszlopban) szerepelnek (ilyen a bonyolultabb táblázatok oszlop neveinél szokott előfordulni). Természetesen ilyen esetben a területet kell megadni a szokott módon.

Diagram elemek

Az eddig kialakított ábrát nagy valószínűséggel csak mi fogjuk érteni. Szükséges az ábra elnevezését megadni, célszerű (sőt: elvárás) a tengelyek értelmezését (nevét) feltüntetni, esetleg a színekhez, mintákhoz jelmagyarázatot is érdemes adni a jobb érthetőség érdekében. Utóbbi elhelyezkedése is megválasztható.

Diagram típusának kiválasztása

Táblázatban szereplő adatokból diagram készítése során nagyon fontos, hogy a megfelelő típust válasszuk ki. Ennek eldöntéséhez az ábrázolandó értékek tulajdonságát, időbeli gyakoriságát, az egy diagramban ábrázolnadó adattípusok számát kell vizsgálni.

Ha a diagram csak egy jellemzőt mutat:

  • ha az egyes értékek közötti „távolság” (időtartam) elég kicsi, megfelelő ábrázolás lehet a vonal diagram. Amennyiben az ábrázolandó jellemzőnél az egyes értékek között feltételezhető a folyamatos kapcsolat (azaz a két mért érték között az eltérés feltételezhetően folyamatosan alakul ki), akkor lehetséges a csúcsokat lekerekíteni („simítani”); Ilyen adat lehet hőmérséklet alakulása, számítógép processzor terhelésének mérése rövid időközönként stb.

  • ha az értékek közötti távolság nagyobb, így feltételehezhető, hogy nem lineáris az időszakon belül az összefüggés, a pont diagram a célszerű.

  • ha az ábrázolandó jellemző nem időbeli lefolyást, hanem egymástól független vagy csak részben függő értékeket mutat, jó megoldás a kördiagram. Ha csak kevés adat van, érdemes lehet „torta” diagramot készíteni - látványosabb. Tipikus példa a választásos szavazás (több lehetőség közül csak egy választható ki).

  • ha választásos szavazást szeretnénk ábrázolni, de 4 - 6 értéknél többet kell ábrázolnunk, az oszlop diagram célszerűbb megoldás. Igen nagy 18 - 20-nál több lehetőség esetén áttekinthetőbb a függőleges oszlop diagram, egyébként célszerűbb az oszlopokat vízszintesen elhelyezni.

A több jellemzőt tartalmazó diagramnál általános szempont az, hogy ne legyen túl zsúfolt, az ábrázolandó jellemzők áttekinthetőek legyenek.

  • egy diagramban lehetőleg egymással összefüggésben lévő adatokat célszerű ábrázolni, másképp a diagram érthetősége csökken, adott esetben zavarossá válik. Egymástől független jellemzőkent feltétlenül külön diagramra célszerű bontani

  • több jellemzőt egy diagramban nem célszerű pont-diagramban ábrázolni. Áttekinthetetlen, nehezen értelmezhető

  • sávos diagramban csak olyan adatokat érdemes ábrázolni, amelynél biztosak vagyunk abban, hogy a sávok nem fogják egymást keresztezni

  • egy időszakra szóló két összefüggő adatot (pl. bevétel - kiadás) érdemes oszlop diagramban elkészíteni, de ügyelni kell arra, hogy egy diagramban 10 - 15-nél több páros szlop ne szerepeljen, ellenkező esetben nem lesz érthető

  • speciális forma az oszlop-vonal. Ezt akkor érdemes használni, ha két jellemzőből származtatott adatot kívánunk megjeleníteni, pl. export-import, ennek eredője a külkereskedelmi egyenleg. Ebben a példában a két első oszlop diagramként, míg a harmadik vonalként látható, az érthetőséget nagyben elősegíti

Természetesen számos más szempont lehet még, de a diagram tervezés kiinduló pontja az legyen, hogy az adatok közötti összefüggést nem vagy alig ismerő személy is jól tudjon általa tájékozódni.

A típus kiválasztásának technikai menetét a Diagramtípus rész tárgyalja.

Kész diagramok módosítása

Semmi garancia nincs arra, hogy az elkészült diagram a végleges adatok alapján készült. Az is elképzelhető, hogy az általunk választott megjelenési formát nem, vagy nehezen tudja értelmezni az olvasó/megtekintő. Ilyenkor az utólagos módosítás üzemmóddal lehet élni. Ez a kész „kép”-re való egyszeres kattintással érhető el, ilyenkor a „kép” kerete láthatóvá válik és zöld fogantyúk jelennek a keret mentén.

A kép a szokásos módon méretezhető, másolható. A módosító üzemmódban csak a táblázatkezelőben megjelent diagramban lehet dolgozni, a változásokat azonnal érvényre juttatni, a másolaton nem. A változásokat

  • az adatterületen lévő adatok, címkék módosításával

  • a diagramra (képre) való jobb gomb kattintással - a megjelenő helyi menüben a megfelelő menüpont kiválasztásával

lehet elérni. Minden olyan tulajdonság, sajátosság, ami a diagramtündérben beállítható, utólag módosítható is. Ezen felül lehetőség van a „kép” pozíciójának módosítására a koordináták megadásával. Amennyiben már korábban mozgatással határoztuk meg a „kép” helyét, akkor a megfelelő pozíciók értékei szerepelnek itt. Megadható a méretarányok tartása - erre a méret megváltoztatásakor van figyelemmel a program. Itt határozható meg, hogy a diagramnak mi legyen az alappontja (azaz melyik sarokhoz, oldalhoz, vagy éppen a „kép” közepének koordinátáit kell megadni).

A táblázat, mint adatbázis

Az adattárolási technika fejlődésével előtérbe került a nagyméretű adatbázisok kezelésének kérdése. A házi számítógépek (Home Computer - pl. Commodore sorozat, ZX Spectrum) korszakában gyakorlatilag csak szekvenciális állományok voltak képezhetők. Ezek mérete a mai adatbázisokhoz képest elenyésző (néhány 10 vagy legfeljebb néhány száz KB) volt, ami adódott a lassú perifériák használatából, a körülményes keresési lehetőségekből. Történtek kísérletek valamilyen megoldás kialakítására, de alapvető korlátot jelentett a fájlrendszer kezdetleges volta. Ez ugyanis csak stream-ek (bájt-folyamok) tárolására adott lehetőséget, index-szekvenciális elérésre (ISAM) nem.

Amikor a házi számítógépeken megjelent a lemezes relatív fájl (rögzített hosszúságú rekordokból áll, ezért egy-egy rekord elhelyezkedését matematikai módszerekkel lehet megállapítani), számos programozó foglalkozott keresési eljárások kidolgozásával. Az egyik legsikeresebb megoldás a QISAM (Quasi IndexSequential Acces Method) volt, ami a relatív fájl adottságai alapján már lehetőséget nyújtott a kulcs szerinti keresésre. A megoldás azon alapult, hogy segédállományok sorát hozták létre, amelyben a keresési kulcsot tartalmazó rekord sorszámát tárolták. Legfőbb hátránya azonban a rögzített rekordhossz volt, ami együtt járt a felesleges tárterület foglalással, ráadásul minden adatbázis kialakításnál az egyes mezőknél a legnagyobb tárolási hosszal kellett számolni, és ha ez nem volt elegendő méretű, újra kellett szervezni az adatállományt a segédállományokkal együtt.

A kezdeti táblázatkezelők megjelenésével a tárolható adatmennyiség nem változott ugyan, de modernebb keresési megoldások használatára nyílt lehetőség. A feldolgozási idő azzal gyorsult, hogy a táblázatok adatait a gép operatív memóriájában lehetett tárolni, ha azonban a lemezhez kellett nyúlni ("átlapozás" - a táblázat egyben nem fért a memóriába), akkor jelentős lassulással, vagy éppen feldolgozási ellehetetlenüléssel kellett számolni.

A mai modern táblázatkezelők már lényegesen jobb hatásfokkal dolgoznak, de változatlanul nem képesek a rendelkezésre álló operatív memóriánál nagyobb méretű adatbázis gyors kezelésére. Ez természetes is, hiszen alapvető feladatuk a táblázatok (azaz viszonylag kevés, rendezett adat) kezelése. Mégis fel lehet fogni egyfajta adatbázis kezelőnek, ami vagy saját eszközökkel (beépített rutinokkal), vagy külső adatbázissal együttműködve készít táblázatot/táblázatokat.

Nagyon fontos hangsúlyozni, hogy egy táblázat kezelő, nem adatbázis-kezelő! Azok a lehetőségek, ami nagyobb adathalmazban való keresést, számított érték megállapítást segítik, lényegesen megkönnyítik a velük való munkát, de igazán nagy méretű (több Gigabájtos) adathalmaz kezelésére nem érdemes használni.

A táblázatkezelő egy-egy munkalapját lehet úgy tekinteni, mint egy relációs adatbázis-kezelő tábláit. Lehetőség van az egyes munkalapok közti kereszthivatkozásokra, így egy-egy adathalmaz teljességének legalább részbeni vizsgálatára.

Amennyiben egy táblázatot adatbázisként kívánunk használni, a következő feltételeknek eleget kell tenni:

A táblázatban

  • nem lehetnek üres sorok

    Az egyes sorok egységes kezelését megnehezíti az üres sorok használata. Egy adatbázis kapcsán az a feltételezés, hogy minden egyes rekordja (sora) értékes adatot tartalmaz - egy üres sor nem számít ezek közé.

  • minden oszlopában csak ugyanolyan típusú adat lehet

    A rekordon belüli mezők (oszlopok) egységes kezelést igényelnek. Nem tartozik ebbe a fogalomkörbe, ha egy-egy oszlopon belül keverten jelennek meg a különböző típusok.

  • nem tartalmazhat összevont cellákat.

    Gyakori félreértés ez, hogy ugyanazt az adattípust és ugyanazt az értéket tartalmazó cellákat össze lehet vonni, mert "ugyanarról van szó". A megállapítás helyes, azonban egy adatbázis esetében az összevont cella nem értelmezhető, mert nem állapítható meg, melyik oszlophoz tartozik az összevont cella értéke, így értékre való keresésnél az eredmény nem lesz meghatározott (egyes esetekben meg egyszerűen nem lesz találat).

  • az egyediség (illetve ennek ellenőrzése) a táblázatkezelő saját eszközeivel nem biztosítható, ezért egyedi eszközzel kell erről gondoskodni szükség esetén

    Az adatbázisokban legalább egy táblában szükség lehet legalább egy oszlopban egyedi értékek feltüntetésére. Egy adatbázis-kezelő erre beépített eszközökkel rendelkezik, a táblázatkezelőkben azonban ez nem szokott rendelkezésre állni. Szokásos megoldás az, hogy az adott oszlopon egy olyan - saját készítésű - függvényt definiálnak, amely az egyediséget minden egyes bevitel, módosítás esetén ellenőrzi.

Természetesen lehetne további feltételeket felsorolni, de ezek már mind az előzőekből levezethetőek.

Szűrők használata

A táblázatkezelők egy-egy munkafüzet megjelenítésekor esetenként akár több ezer sort is láthatóvá tesznek. Ennek áttekintése már csak azért sem lehetséges, mert vagy olyan pici karakterekkel jelenik meg, ami olvashatatlan, vagy több (esetleg több 100) lapon keresztül tartanak. Ráadásul egy-egy megtekintés során általában csak a sorok tört részére van szükségünk, így a teljes megjelenítés szükségtelen. Lehetőség van azonban valamilyen szempont alapján a ténylegesen megjelenítendő sorokra szűkíteni a látható tartományt. Legegyszerűbb, és leggyakrabban használt megoldás az automatikus szűrő.

Az automatikus szűrő a főmenüből az "Adat"->"Szűrő"->"Automatikus szűrő" útvonalon érhető el. Ki kell jelölni az automatikus szűrés alá veendő oszlopot/oszlopokat, majd a menüpontot meg kell hívni. Ekkor az oszlop(ok) első sorában a lenyíló menükre jellemző kis nyíl jelenik meg és erre kattintva a legördülő listában az összes választható érték látszik (minden olyan érték, ami legalább egyszer szerepel az oszlopban). Itt a szokásos kijelölési lehetőségek állnak rendelkezésre: egy érték, <Ctrl> billentyűvel több, nem egymás után lévő érték, illetve a <Shift> billentyűvel egy tartomány kijelölése. Ennek következtében csak azok a sorok látszanak, amelyek eleget tesznek a kijelölés szerinti szűrésnek.

Ha az automatikus szűrő be van kapcsolva, a menüpontban a felirat előtt "pipa" látható. Ismételt kattintással a szűrő kikapcsolható.

Másik 2 lehetőség az "Általános" és "irányított" szűrő, amelyeket ugyanezen az útvonalon lehet elérni. A kettő között az a különbség, hogy az általános szűrő a feltételek kitöltésekor (és elfogadásakor) azonnal életbe lép, továbbá legfeljebb 3 feltétel kapcsolható össze, az irányított szűrésnél 3-nál több feltétel is megadható, és az eredmény a táblázat más pontján jelenik meg.

Az általános szűrő esetében az egyes feltételek között logikai kapcsolat teremthető ("ÉS" "VAGY"), magában a feltételen belül konkrét értékre vonatkozó megfeleltetés állítható be (egyenlő, nem egyenlő, nagyobb és így tovább). Mindezeket lenyitható ablakban lehet megkeresni.

Az irányított szűrés során a táblázatban egy "lekérdezés" területen (ez csak fogalmi elnevezés, magát a szót nem kell feltüntetni) kell a feltételeket meghatározni. Ha a feltételek között logikai "ÉS" kapcsolat van, akkor egy sorba kell azokat írni, ha logikai "VAGY" kapcsolat áll fenn, akkor külön sorban kell szerepeltetni. Meg lehet adni, hogy a szűrés eredményét hova helyezze (ha ez üres, akkor az alapértelmezett helyen jelenik meg), ki lehet terjeszteni a feltételeket szabályozott (reguláris) kifejezésként való értelmezésre is. Ez főleg szöveges mezők esetén lehet fontos.

Célértékkeresés

A Célértékkeresés egy sűrűn használt eszköz elsősorban gazdasági, például a várható bevételeink és kiadásaink egyenlegét összhangba hozó tervezéseknél. Természetesen az Eszközök menüben található.

A menüpontra kattintva megjelenik a Célértékkeresés párbeszédablak, melyben 3 adatot kell megadnunk.

  1. Képletcella: itt adjuk meg azt a képletet tartalmazó cellát, melyben új célértéket szeretnénk.

  2. Keresett érték: itt adjuk meg a kívánt célértéket.

  3. Változó cella: itt adjuk meg, mely cellát szeretnénk megnézni, mire kéne változnia a célértékhez.

A párbeszédet jóváhagyva egy ekkor ezt kiértékelő ablak ugrik fel, melynek eredményét jóváhagyhatjuk a változásra kijelölt cellára.

Kimutatás készítés

Az irodai táblázatkezelőben kimutatások (Report) is készíthetők a táblázatokhoz. Ehhez szükséges az irodai táblázatkezelő minden kiegészítőjének telepítése.

Az Openoffice.org irodai programcsomag Calc táblázatkezelője 3.1 verziója esetén ez a lehetőség még nincs beépítve, jelenleg a hivatalos kiegészítők tárából a Sun Report Builder kiegészítő tölthető le, mely a 2.4 verzió óta támogatja a kimutatások készítését. Bár még nem része az alap csomagnak, ez a kiegészítő is teljes értékű szabad szoftver, GNU LGPL licenc alatt.

Az operációs rendszer jellemzői

Operációs rendszer jellemzőinek lekérdezése

Az operációs rendszer megnevezése a /etc/issue fájlban van, ezt kiíratva lekérdezve a Debian GNU/Linux 5.0 formához hasonló eredményt kapunk. Ez tartalmazza az alap operációs rendszer nevét, ami a GNU/Linux és a disztribúciót, ami a Debian 5.0 (kódnevén: lenny) e példában.

Az operációs rendszer jellemzőinek lekérdezése szempontjából természetesen fontos adatokat kapunk az operációs rendszer futás közbeni állapotát leíró /proc/ mappából is. Az operációs rendszer magja jellemzőinek lekérdezése például elkezdhető a /etc/version fájl kiíratásával, ami nagyjából a

Linux version 2.6.26-1-686 (Debian 2.6.26-13) (waldi@debian.org) (gcc 
version 4.1.3 20080704 (prerelease) (Debian 4.1.2-24)) #1 SMP Sat Jan 10 
18:29:31 UTC 2009

eredménnyel jár. Ez a szövegfüzér elég sok adattal szolgál, kezdődik az éppen használt rendszermag (kernel) képfájl nevével, majd zárójelek közt jönnek a disztribúcióhoz kapcsolódó információk, a csomag verziója, a csomag karbantartó illetve a kernel képfájlt előállító GCC veziója és szintén csomag neve, az éppen használt CPU magok száma, az SMP támogatás beépített volta és a rendszermag (kernel) kép fájl előállításának időpontja. Jelen példában azt láthatjuk, hogy az operációs rendszerünk éppen Linux rendszermag felett fut.

Mindez az uname paranccsal is megtekinthető, mely alapértelmezetten az éppen futó rendszermag nevét írja ki. A -a argumentummal kiolvassa belőle a gép típusát, vagyis az al-architektúrát, amelyre ez az éppen futó kép fájl fordítva lett, és az alap operációs rendszer nevét, például i686 GNU/Linux.

Az operációs rendszer jellemzőinek lekérdezése a /etc/issue fájlhoz hasonlóan az operációs rendszer alapvető jellemzőit beállító, a /etc/ mappában található számos más fájl kiíratásával is megtehető. Itt található a gépnév beállítása is és más környezeti változók beállítása is, amelyekről még később szólunk.

A másik legalapvetőbb mappa, mely szól az adott operációs rendszer adott verziójának jellemzőiről a /usr/share/doc/ mappa, ez alatt mindig találunk a szűkebb, esetünkben a GNU/Linux és a tágabb értelemben vett az operációs rendszerünk, a terjesztés, más néven disztribúció jellemzőiről lekérdezhető adatokat. Ez esetben például a Debian operációs rendszer terjesztést használjuk, tehát a /usr/share/doc/ mappában az alap GNU/Linux operációs rendszer GYIK (FAQ) és HOGYAN (HOWTO) dokumentációi mellett megtaláljuk a /usr/share/doc/debian/ mappát, ami tehát megadja a tágabb értelemben vett operációs rendszer jellemzőinek lekérdezése lehetőségét, például azt, hogy az milyen csomagokból épül fel, azoknak milyen alapbeállításai vannak például a /etc/ és /var/ mappákban.

A programok futtatásához elengedhetetlenül szükséges, hogy bizonyos információkhoz jussanak arról, hogy milyen környezetben is futnak, például pontosan milyen CPU-n és így tovább. Az operációs rendszer által környezeti jellemzői által, melyeket terjeszt, lehetőség nyílik arra, hogy úgy lehessen programokat megírni, hogy azokba ne kelljen minden rendszerről szóló információt fizikailag belekódolni, ezáltal a programjaink függetlenek legyenek az adott futtatói- vagy munkakörnyezettől.

Ez a megoldás azzal az előnnyel is jár, hogy a program esetleges módosítása, például funkcióinak bővítése esetén nem kell számtalan helyen a program kódját módosítanunk, hiszen sok információt a programunk majd a környezet jellemzői által fog megszerezni. Ez a megoldás azzal az előnnyel is jár, hogy kisebb lesz a karbantartást igénylő kódrészek mérete.

A használt operációs rendszer munkakörnyezetének beállításai

A használt operációs rendszer munkakörnyezetének beállítási lehetőségei (színek, ablakkezelés, dátum, nyomtató használat stb.) részint jellemzően a grafikus üzemmódú munkakörnyezetre, részint a szabvány héjból is elérhető környezetre, sok esetben pedig mindkettőre vonatkoznak. Nézzük előbb a grafikus munkakörnyezetet.

A grafikus munkakörnyezet beállításai alapvetően felhasználó szintű beállítások. Ezen munkakörnyezetek közös jellemzője, hogy e beállításokhoz nyújtanak egy beállítóközpontot, mely a menüből elérhető. A munkakörnyezet színeit alapértelmezetten témákba rendezve találjuk, ezek között válthatunk, vagy módosíthatjuk őket, újakat hozhatunk létre. Az ablakkezelés, beállítási lehetőségeit is elérhetjük e beállítóközpontokban. A lehetőségek egészen pontosan függenek attól is, hogy az adott grafikus munkakörnyezetben milyen ablakkezelőt használunk. Beállíthatjuk például a munkaterületek számát és azt, hogy hogyan viselkedjenek rajtuk az ablak műveletek, mekkora margójuk legyen és így tovább. A dátum és a nyomtató használat beállítása már nem szigorúan felhasználói beállítás, ezeket általában rendszergazda eszközökkel kezeljük. A dátum alapja a hardveróra (hwclock), melyet értelemszerűen csak rendszergazda joggal tudunk állítani, ha ehhez van a munkakörnyezetnek grafikus beállító felülete, vagy egy olyan x-terminál-emulátorban, mellyel rendszergazda joggal végezzük e beállítást. A megjelenített idő már attól függ, a felhasználó milyen időzónát, esetleg az idő milyen eltolását állítja be magának. A nyomtató használat beállításait a felhasználók a Nyomtatás beállítása párbeszédben szintén beállíthatják és elmenthetik maguknak, például, hogy alapértelmezetten melyik eszközre, milyen papírmérettel és tájolással szeretnének nyomtatni. A nyomtató használat rendszerszintű beállítását minden szabvány IPP protokollt ismerő nyomtatási rendszer esetén környezettől függetlenül beállíthatjuk egy webböngészővel a saját gép 631-es portján, például felvehetünk és megoszthatunk nyomtatókat, amihez természetesen kell majd a rendszergazda jog vagy az lp csoport tagsága.

Az operációs rendszer munkakörnyezetének beállításai mind a grafikus, mint a szabvány héjra vonatkoznak. Itt mindenek előtt a környezeti változókról kell beszélnünk.

A szabvány héjban az operációs rendszer munkakörnyezetének beállításai legkényelmesebben a coreutils csomag env parancsával kérdezhetők le. A környezeti változóknál szokás a nagybetűs elnevezés.

A változók mindig az adott felhasználói munkafolyamatra vonatkoznak. Vagy rendszerszintű beállításokból származnak, vagy egy felhasználói beállító fájl vagy futtatott program állította be őket.

Nézzünk 2 fontos példát. A PATH változó az adott felhasználó számára futtatandó fájlok számára jelenleg keresett mappákat, a LANG változó nyelvi beállítását tartalmazza.

A munkakörnyezet elemeit a coreutils csomag env parancsán kívül több más módon is lekérdezhetjük. Héj (shell) programok végrehajtása esetén az adott parancsértelmező -- legyen akár az akár sima sh vagy ksh, tcsh illetve ezek valamelyik leszármazottja -- mindig rendelkezik olyan úgynevezett belső paranccsal (például set vagy setenv, amely segítségével a munkakörnyezet értékeit tartalmazó környezeti változók aktuális értékei lekérdezhető és esetleg módosíthatók.

Bináris formátumú programok végrehajtása esetén is van természetesen lehetőség arra, hogy a program futása során a végrehajtási környezet jellemzőit lekérdezzük. A C-nyelven megírt programjaink például a setenv() illetve getenv() könytári függvényeket tudják a környezeti változók értékeinek felderítésére használni.

Amennyiben sem a shell, sem pedig a C programozási nyelv nem elegendő arra, hogy az általunk elvégzendő feladatot megoldjuk vele, a további programozási nyelvek, mint például a Perl, Python, Ruby, Java és így tovább szintén adnak arra lehetőséget -- általában a hozzájuk mellékelt függvény- vagy objektum-könyvtárakon keresztül -- hogy a munkakörnyezet paramétereit az elkészített programok megszerezhessék.

Lekérdezések a rendszerinformációkból

Az operációs rendszer jellemzői közé tartoznak a rendszer állapotáról szóló adatok is. Ezek közt van mindenekelőtt a memória és virtuális memória (cserehely, swap) használat, e mellett a CPU használat, az éppen használt fájlrendszerek, lemezek állapota, hálózati beállítások és adatok.

A memória és virtuális memória rendszerinformációk természetesen megjeleníthetők a /proc/meminfo a cat /proc/meminfo paranccsal is. E mellett kiválóan használható a free, vmstat és top parancsok is.

A CPU alapvető információi kiolvashatók a /proc/cpuinfo fájlból. A top parancs ennek használatát is követi (monitorozza).

Az éppen használt fájlrendszerek információi a használati mód állapota a mount paranccsal kérdezhető le. A df (mint disk free) a használat mértékének állapotát mutatja.

A hálózati rendszerinformációk legfontosabbja a hálózati csatolók beállítását mutató /sbin/ifconfig parancs, mely a forgalom adatait is adja. Az útvonalválasztó beállításokat a /sbin/route, a portokat netstat -n mondja meg. A névszolgáltató rendszerinformációk a /etc/nsswitch.con és az általa hivatkozott /etc/hosts /etc/networks és /etc/resolv.conf fájlból olvashatók ki.

2. fejezet - Az operációs rendszer fontosabb segédprogramjainak ismerete

Lemezkarbantartó és lemezkezelő programok

Lemezkarbantartó és lemezkezelő programok használata

Az operációs rendszert, alapeszközeit, segédprogramjait, az alkalmazásokat és a felhasználók adatait 1 (háttér)tárolón (storage) vagy tárolókon tároljuk. Ezek ma jellemzően SCSI lemezekként (SCSI Disc - sd) vagy IDE merevlemezekként (Hard Disc - hd) kezelt eszközök (devices). Ezeket karban kell tartanunk és kezelnünk.

A háttértárakon levő információt logikailag két részre lehet bontani. Az egyik rész tartalmazza a konkrét tárolt adatokat, a másik rész pedig mintegy leírja az előző adathalmazt olyan módon, hogy lehetővé válik annak elérése, írása és olvasása. Ez utóbbi adatrészt leíró adatnak, vagy metaadatnak hívják. Ilyen leíró adat például egy fájl vagy mappa esetén az, hogy a lemezen fizikailag hol helyezkedik el az adott állomány, hol kezdődik, milyen lemezrészek tartoznak hozzá, valamint hogy milyen attribútumok jellemzik (kié a fájl, ki férhet hozzá és milyen műveletet tud vele végezni és így tovább).

A karbantartás szükségességét az is indokolja, hogy az előbbiekben leírt adatok csak úgy maradnak megbízhatóak, ha azokat időnként leellenőrizzük, és -- szükség esetén -- ki is javítjuk.

A metaadatokat tartalmazó bejegyzésekből biztonsági okokból több is található egy adott médián, a lemezellenőrző programok -- mint amilyen például az fsck -- ezeknek a bejegyzéseknek az ellenőrzését (összehasonlítását) is elvégzi, s hiba esetén -- a többségi elv alapján -- a többi metaadatot tartalmazó bejegyzések értékeit figyelembe véve javítja ki a felfedezett hibát. A metaadatok ellenőrzése és javítása után a fájlokat és mappákat is bejárja, s ellenőrzi, hogy azok fizikai helye megfelel-e a metaadatokban leírtaknak.

Ilyen lemezellenőrzést lehet programozottan is elvégezni, például minden rendszerindításnál, de esetileg is végezhetünk ellenőrzést/javítást, ehhez természetesen rendszergazda joggak kall futtatnunk a programot. Fontos, hogy ilyenkor ne használja más alkalmazás a médiát, ezért ezt a karbantartási lépést érdemes egy-felhasználós (single user) üzemmódban elvégezni. Ezt az üzemmódot a rendszergazda tudja beállítani az init nevű parancs segítségével.

A cat összefűző parancs az, amelyikkel ki szoktuk íratni egy szöveges fájl tartalmát, a /proc memóriából felcsatolt mappában pedig a rendszer állapot-adatai vannak, például a disktats és hasonló fájlokból megismerhetjük lemezeinket és a rajtuk lévő partíció és más eszközöket, de akár a dmesg parancs kimenetét is átadhatjuk a grep szabályos kifejezések alapján sorokat nyomtató parancsnak egy szabályos kifejezéssel megmondva, hogy a bejövő sorokból az sd vagy hd szövegrészletet tartalmazókat írja ki: dmesg | grep [sh]d; a grafikus munkakörnyezetben szintén megtaláljuk azokat a programokat, melyekkel a lemezeket lekérdezhetjük, karbantarthatjuk, kezelhetjük.

A lemez-szerű eszközök szektorokból és azok csoportjaiból, úgynevezett blokkokból (a legáltalánosabb fájlrendszerek is blokkokban, klaszterekben gondolkodnak) állnak. A szabvány szektor: 512 * 8 bit. Ezek végleg meghibásodhatnak, ezeket szűri a parancssoros badblocks program. A testdisk program több karbantartási feladatra is képes, mindkettőt úgy tudjuk használni, hogy először megnevezzük a karbantartandó lemezt.

A felhasználói felületen a lemezek legfontosabb részei a fájlrendszerek, ezeknek 3 fő kezelési módja van, egyrészt csatoljuk őket az elérhető fájlok hierarchiájába gyökérként vagy azon belül egy üres mappába (csatolási pont) a mount paranccsal - GNU/Hurd kiszolgálókra épülő operációs rendszer esetén a settrans parancsot használjuk -, hogy a különféle eszközeinken lévő különféle fájlrendszereinken lévő fájljainkat egy egységes hierarchikus szerkezetben lássuk. A magában kiadott mount parancs megmutatja, hogy ez az áttekinthető, egységes szerkezet valójában milyen fájlrendszerekből épül fel. A mount /dev/cdrom2 /cdrom2 parancs például azt jelenti, hogy egy újonnan bekötött CD-ROM kompatibilis eszközbe tett lemez tartalmát a /cdrom2 mappában szeretnénk elérni és kezelni.

Mivel a lemezen lévő fájlokban van minden fontos adatunk, érdemes ezeket időnként ellenőrizni, tekintettel arra, hogy az eszközök kopása során természetesen hiba is keletkezhet rajtuk. A fájlrendszert ellenőrző legfontosabb alkalmazás az fsck keretprogram.

A harmadik ilyen szokásos lemezkezelő program pedig az, amelyik képes létrehozni egy fájlrendszert egy eszközön, vagyis az mkfs program. Itt már természetesen meg kell neveznünk a típust is, hogy milyen fájlrendszert hozzon létre, tehát röviden például az mkfs -t ext3 /dev/sda2 parancsot használhatjuk, amely egy ext3 típusú fájlrendszert hoz létre a mögötte megadott nevű eszközön.

Biztonsági másolat készítése

Biztonsági másolat készítése a lemezről vagy annak részét képező kisebb eszközökről többféle módon is lehetséges, ennek elsődleges célja az, hogy az operációs rendszer és az alkalmazói programok által használt állományokat megőrizzük, s szükség esetén (például rendszer visszaállításnál) a korábban eltárolt változat segítségével a gépünk egy korábbi állapotát visszaállítsuk. Ez a megoldás jóval olcsóbb, mint az adataink (a gépen tárolt információ) újból történő beszerzése, napi áron, külső forrásokból.

A hétköznapi cat vagy más író parancsunk is alkalmas lehet erre, ha forrásként egy eszköznevet adunk meg, de ha (gyakorlatilag mindig) elérhető, legáltalánosabban a dd parancsot használjuk. A dd (neve az IBM JCL "data definition" kifejezésből származik) ugyanis meghatározható szektorokkal, blokkokkal dolgozik, így jóval hibatűrőbben dolgozik a fájlokkal, mint a fájlrendszer elérési rutinjait használó programok.

Külön, szalagra történő mentést parancssorból a dump nevű programmal lehet készíteni. Ez a könyvtárakat és az abban levő fájlokat is kimenti a szalagegységre. A fájlok és könyvtárak visszatöltését ezután a restore nevű programmal lehet elvégezni.

A biztonsági mentés több szinten is elvégezhető. A legalacsonyabb szintű ("nullás") mentésnél az operációs rendszert egy-felhasználós üzemmódba célszerű állítani, majd ezután lehet a mentést megcsinálni.

Arra is van lehetőség, hogy az előző például nullás mentés óta keletkezett adatokat mentsük csak el. Ezt a megoldást növekményes (inkrementális) mentésnek nevezik.

Partíció menedzser program kezelése

Partíciók, kötetek

A háttértár speciális szektoraitól (például 0.) partíciókkal választjuk el az operációs rendszerek által használt területet. A partíció egy adott háttértárolón egy logikai egységként kezelt adatterületet jelent. Ezeken több-több értelmű összerendeléssel vannak kötetek. Egyszerű esetben egy az egyben, de lehetőség van például több háttértároló között több-lemezes (MD, más néven "RAID") eszközöket kinevezni és azokon logikai kötetkezelővel (például: Linux LVM) logikai kötetcsoportokat és azokon belül logikai köteteket kezelni. A köteteken különleges adataikon, például kötet indító rekordjaikon túl tudjuk majd létrehozni az előbbi szakaszban látott fájlrendszereket.

Ahhoz, hogy 1 vagy több operációs rendszert kezeljünk, mindenképpen szükségünk van tehát partíciókra. A partíciók kezelése a rendszergazda feladata, ezt partíciókezelő programok segítségével tudja megvalósítani.

Partíció kezelők

A legalapvetőbb partíció menedzser program az fdisk. Az fdisk partíció kezelő program kezelése először a kívánt lemez átadásával történő indítással történik, például: fdisk /dev/sda vagy fdisk /dev/rd/c0d0 (egy több-lemezes 'RAID' eszköz esetén). Az fdisk egy interaktív parancssort ad, melyben lekérdezhetjük és végrehajthatjuk a műveleteket, partíciókat hozhatunk létre, vagy éppen törölhetünk.

A legáltalánosabb partíció szerkesztő a parted és ennek különféle grafikus felületei, elsősorban pedig a gparted. A parted a partíciók átméretezésére is képes, mely bizonyos esetekben egy alapvető képesség, jellemző például, mikor új operációs rendszer telepítéséhez annak számára helyet szeretnénk biztosítani a háttértárolón.

A sima parted vagy a gparted grafikus felülete beolvassa és egy táblázatban mutatja meg az eszközeinken aktuális partíciókat, azt, hogy melyek érintettek fájlrendszerekben, vagyis e partíciók e fájlrendszereknek milyen lehetőségeket/korlátokat szabnak. A Parted partíció menedzser program legfontosabb feladata, hogy a lemezek felosztását a felmerült újabb igényeknek megfelelően módosítani tudjuk, például megváltoztassuk 2 partíció méretének arányát, hogy az egyiken lévő fájlrendszeren több helyet kapjunk.

Programok telepítése/eltávolítása

Az egyes programok és más szoftverek fájljaihoz 2 módon juthatunk hozzá: forrás vagy úgynevezett bináris csomagfájlban. Így e 2 módon telepíthetjük őket.

Programok telepítése/eltávolítása a Make segítségével

A szoftverek telepítése során több alkalommal is figyelembe kell venni a környezetet, vagyis a szoftvert mind a telepítés előtt, mind utána konfigurálni kell. A forráskódból telepítéskor először a környezet alapján meg kell határozni, hogy milyen tulajdonságokkal bíró telepítendő fájlokat kell elkészíteni, így készíthetjük a forráskódból a számunkra legkiválóbb telepített változatot.

A kibontott forráscsomagban megtaláljuk a telepítés leírását, általában a legelterjedtebb segédeszköz használatára hivatkozik, mely a GNU Autoconf - GNU Automake keretrendszer, íme ennek szokásos használata.

  1. A kicsomagolt forrásában találunk egy ./configure parancsfájlt, ezt lefuttatjuk, ami elkészíti a Makefile-t.

  2. A Makefile fő függvényét, ami elkészíti a telepítendő fájlokat, a sima make paranccsal futtatjuk le.

  3. Az elkészített fájlokat telepíteni/eltávolítani rendszergazdaként a Makefile install vagy uninstall függvényeit meghívva tudjuk, például a su -c 'make install' paranccsal.

Programok telepítése/eltávolítása csomagkezelővel

A tágabb értelemben vett operációs rendszerek, a disztribúciók terjesztői, kényelmes bináris csomagkezelőt is szállíthatnak, melyek egy adott disztribúcióhoz testreszabott, 1 lépésben telepíthető csomagokat tartalmaznak. A 2 legismertebb ilyen alapszintű bináris csomagkezelő közül a Red Hat cég által készített rpm speciálisabb formátumú csomagokat, míg a Debian projekt által készített dpkg a Debian (vagy a belőle származó *Ubuntu és még számos disztribúció) által használt általános (ar archívum) formátumú csomagokat kezel.

A POSIX-szabványos rendszereken azonban a bináris csomagok kezelésének van egy a felhasználók számára rendkívül kényelmes módja, mely a bináris csomagtárolók összetevőin alapul, a legismertebb ilyen technológia, az eredetileg dpkg haladó csomagkezelő rendszer (APT) és annak felületei, ez bináris csomagoktárolókra épülő forrásokat sorol fel a /etc/apt/sources.list fájlban, tükörszerver url-t, disztribúciót és összetevőt megnevezve, és képes arra, hogy e forrásokban éppen található csomagok alapján a gépen egy naprakész adatbázist tartson fent a friss csomagokról, melyek könnyen telepíthetők. A parancssorban kiadott parancsok, például su -c 'apt-get update; apt-get install gnumeric' vagy a munkakörnyezetbe épített csomagkezelő felületek, például a GNOME-munkakörnyezetre épülő Synaptic vagy a 'Programok hozzáadása/eltávolítása' a POSIX-szabványos rendszereken rendkívül kényelmessé teszik a programok kezelését a haladó csomagkezelő felületeken keresztül, hiszen az új és új programok külön-külön megismerése, beszerzése, egyéni telepítési, frissítési, lecserélési módja helyett, mindez 1 felületen egyetlenegy kattintással elvégezhető.

Tömörítés

Tömörítési technikák

Az adatok veszteség-mentesen ismétlődő események alapján tömöríthetők (például GZip, OGG FLAC), ami veszteséggel fokozható az ismétlődő (például OGG Theora) és nem ismétlődő események közti különbségek elhanyagolásával. Algoritmussal határozzuk meg, hogy milyen eseményeket figyelünk, és azokat hogyan tömörítjük, vegyünk például egy olyan fájlt, ami a 98765432123456789-cel osztható egymás utáni 98765432123456789 számot írja le egyenként 97 biten. Kétséges, hogy elférne a Föld bármely adattároló rendszerén, pár tucat biten elfér azonban, ha leírjuk a lépésközt és a lépésszámot. Igen hatékony az az algoritmus, ami a vizsgálatkor képes egy ilyen ismétlődő eseményt észrevenni, a tömörítést tömörítő programokkal végezzük.

Tömörítő programok szolgáltatásai

Tömörítő program az, mely alapértelmezetten valamilyen eseményeket figyel, és a kapott információkat egy adott alapértelmezett leképezéssel tömöríti. A tömörítő programok általában más szolgáltatásokat is adnak. Egyrészt kissé befolyásolható velük a figyelt események és matematikai tömörítésük erősségének szintje (level), a valós- vagy nemvalós-idejű mód (a legtöbb program alapértelmezetten valós-időben dolgozik, nem készít először teljes elemzést, hanem megadott méretenként olvassa a fájlt), a tömörített adat védhető jelszóval, megadhatók más metaadatok, egyes alapértelmezetten veszteséges tömörítő programok veszteség-mentes tömörítési szolgáltatásokat is nyújtanak. Ezen kívül igen sok, általánosan használt tömörítő program integráltan tartalmazza a kitömörítő mód szolgáltatást is. A szolgáltatásokat a tömörítő program különféle felületei használata során vehetjük igénybe.

Tömörítő program használata

A tömörítő programokra, mint minden programra igaz, hogy a legrugalmasabb a parancssori használat, ezen kívül rendelkeznek grafikus felülettel. Az általános tömörítők a veszteség-mentes tömörítők, mint például a GZip vagy az OGG FLAC, alapértelmezetten a megadott fájlból elkészítik a tömörített változatot, például gzip lacamappa.tar vagy flac cc-music.wav. A szabvány -- és - opciókkal jelölhető meg a kitömörítés és a többi fenti szolgáltatás. Mindez a grafikus felületeken is elérhető, mint például az Xarchiver program.

Vírusok

Vírusok és társaik

A vírusok és más rosszindulatú kódok a gyenge biztonságú rendszerek mellékhatásai, melyek azok leváltását indokolják. Ezek a programok, folyamatosan olyan tevékenységeket végeznek gépünkön, mellyel nekünk és szeretteinknek ártanak, adatvédelmi és valós anyagi károkat okoznak.

Kockázatok, vírusok elleni védelem

Az operációs rendszerbe különféle jogú felhasználókkal van lehetőségünk bejelentkezni, egy adott pillanatban a rendszer egy adott azonosító számú (ID) felhasználóját és csoportjogait használjuk. A normál programok, kivételes esetektől eltekintve (setuid, setgid) e jogokkal futnak, azt tehetik a saját vagy a rendszert működtető fájlokkal, amit a felhasználó vagy csoport. Ha rendszergazdaként indítunk egy a forráskód alapján nem ellenőrzött véletlen (hiba a programban) vagy szándékosan rosszindulatú programot, vagy még rosszabb, magától indul egy ilyen program egy gyenge biztonságú rendszeren, onnantól az a vírus vágy más rossz program bármit megtehet, innentől már nem vagyunk urai a saját fájljainknak.

A legnagyobb kárt akkor okozzuk magunknak, ha az interneten gyenge biztonságú rendszert futtatunk, ekkor a rendszergazda joggal futó programokon keresztül biztosan hamarosan megkapjuk a fertőzést és hamarosan találkozunk annak kellemetlen következményeivel. E jelenség egyik legjellegzetesebb következménye a levélszemetek, ráadásul a gyenge rendszereket vírussal továbbfertőző levélszemetek állandó áradata.

A vírusok elleni alapvető védelem, amivel az ezekkel járó adatvédelmi és anyagi károkat el tudjuk kerülni, a biztonságos, ellenőrizhető, tehát nyílt forrású operációs rendszer, például a kedvenc GNU/Linux disztribúció használata. Az ezeken futó rendszergazda jogú programok is ellenőrzöttek, biztonságosak és normál felhasználóként is teljes értékűen használhatók, ezeken a rendszereken pusztán ezzel, a normál felhasználóként való munkával alapban biztosítottuk a vírusok, kémprogramok, trójaiak, reklám- és más rossz programok elleni védelmet, ezek soha nem tudnak automatikusan települni, hogy kárt okozzanak a rendszerben, mi több, nyugodtan nézegethetjük, gyűjthetjük őket :-)

Programok telepítése vírusvédelem szempontjából

Telepíthetünk programokat vírusvédelem szempontjából, nyílt forrású rendszeren önmagában ennek nincs értelme, hiszen alapban védve van a vírusoktól, felhasználhatjuk azonban például arra, hogy már vírus alapján a /dev/null eszközre irányítsuk a levél-szemetet. Zárt forrású rendszert is védhetünk vele, például a ClamAV vírusvédelmi program telepítésével.

3. fejezet - Grafikai és multimédiás információk kezelése

Képek

Képek grafikai jellemzőinek módosítása

A vektorgrafikus rajz, vagy képpont (pixel) kép fájlok különféle jellemzőkkel bírnak. Szerzőt és az általuk alkalmazott licencet leíró metaadatokkal rendelkeznek, leírják az ábrázolás és tömörítés módját, rétegeket és animációs jellemzőket tartalmazhatnak (például SVG, PNG).

A legfontosabbak persze a grafikai jellemzők. Természetesen például egy pixelkép fájl egy adott fázisán és rétegén lévő kép grafikai jellemzői átalakíthatók. Vegyük erre a méltán híres GIMP programot.

A GIMP programban a képek grafikai jellemzőinek átalakítását több helyen is elvégezhetjük, a legáltalánosabban használt funkciók helye az Eszközök/Átalakítószeszközök menü, ahol a kép kivágása, forgatása, átméretezése, perspektívája, tükrözése és még más grafikai jellemzői is módosíthatók. A műveletek természetesen a nélkül is elvégezhetők parancssorban, hogy elindítanánk a GIMP grafikus felületét.

Képek vektorizálása, a vektorgrafika lehetőségei

Előfordulhat, hogy egy rajz, nem eredetileg készített formájában, hanem butított képként (tehát képpontokkal ábrázolva) kerül hozzánk, noha mi azt a rajzot tovább szeretnénk fejleszteni. Rajzolásra főleg a híres Inkscape programot használjuk és ezzel egyben meg is oldjuk a problémát, hiszen az Inkscape programban megnyitott képet azonnal vektorgrafikussá alakíthatjuk a Lánc menü/Bitkép vektorizálása ponttal.

A vektorgrafika a kijelzőre kerülő képet nem ponttérkép, hanem csomópontok láncaiból számolja ki, amelyek pedig irányított görbékből (vektorok) jönnek létre. A vektorgrafika lehetőségei így nagyon tágak, a rajzok rendkívül rugalmasan felhasználhatók például a tartalmat mindig tökéletesen maximalizáló és a méretarányosságot is mindig jól megtartó weblapok kialakításához.

Multimédiás bevitel

Multimédiás beviteli eszközök

A számítógépre különféle multimédiás beviteli eszközök segítségével tudunk bevinni média-tartalmakat, például:

  • Digitális fényképezőgép, digitális kamera: gyors fejlődésen estek át, a korszerűek fájlokba rögzítenek, melyek hétköznapian olvashatók.

  • Hangkártya: Mikrofon vagy vonalbemenet csatlakoztatható rá.

  • Hagyományos scanner: alapvetően egy sík felületen, például egy sima papíron vagy egy fényképen lévő tartalmat világít le.

  • Videókártya: esetenként saját maga tartalmazhat bemenetet, például TV-tunert.

  • Média lejátszók (eszközök): például digitális hanglejátszók (DAP), melyeket magunkkal hordunk.

Multimédiás beviteli programok használata

Mint minden eszközt, természetesen a multimédiás beviteli eszközöket is programok segítségével használjuk:

  • Digitális fényképezőgép, digitális kamera: csatlakoztatjuk őket és ezáltal fájlrendszerüket, így onnan a szokásos módon átmásolhatjuk a gépre másolhatjuk a fájlokat, ahonnan más könnyen elvégezhetjük a szokásos műveleteket.

  • Hangkártya: A megfelelő jogosultság birtokában a /dev/audio eszközre érkező jelet bármelyik, a hangot rögzíteni képes program segítségével a kívánt formában (például OGG Vorbis, OGG FLAC vagy OGG Speex) a gépre rögzíthetjük.

  • Hagyományos scanner: a SANE keretrendszerre épülő önálló vagy integrált programokkal használjuk, legáltalánosabban a GIMP képkezelő program Fájl menü/Külső forrás menüpontjából.

  • Videókártya: Ha tartalmaz bemenetet, például tunert, akkor a megfelelő jogosultság birtokában a /dev/video eszközre érkező jelet bármelyik, a videót rögzíteni képes program segítségével a kívánt formában (például OGG Theora) a gépre rögzíthetjük.

  • Média lejátszók (programok): A legtöbb hang vagy multimédia lejátszó programban (például Aqualung vagy MPlayer) megadhatjuk, hogy honnan olvasson a program (gépen lévő fájl, közvetítés az interneten, egy eszköz bemenete, és így tovább) és hova írjon (például egy eszköz kimenete vagy egy fájl).

Multimédiás kivitel

Multimédiás kiviteli eszközök

A média tartalmakat média/multimédiás kiviteli eszközök által adjuk vissza illetve ezekre küldhetjük. A legáltalánosabb média kiviteli eszközök:

  • Hangkártya: A hangot hangszóró/fejhallgató és/vagy külön vonalkimenetre is tehetjük.

  • Videókártya: A dekódolódó multimédia képi részének a megjelenítő felé való kívánt módú továbbításáért felelős.

  • Nyomtató: az e-papír előtti analóg papírra való drága és rendkívül környezetromboló nyomtatást teszi lehetővé.

  • Média lejátszók (eszközök): Például a digitális hang lejátszók (DAP), melyeket magunkkal hordozunk.

Multimédiás kiviteli programok használata

Mint minden eszközt, természetesen a multimédiás beviteli eszközöket is programok segítségével használjuk:

  • Hangkártya: A multimédia lejátszó programok alapban egy adott hangkártya-kimenetet használnak a multimédia tartalmak hang részének kiviteléért, ez módosítható másra vagy egy adott formátumú kiviteli fájlra.

  • Videókártya: A multimédia lejátszó programok alapban egy adott videókártya-kimenetet használnak a multimédia tartalmak hang részének kiviteléért, ez módosítható másra vagy egy adott formátumú kiviteli fájlra.

  • Nyomtató: Amikor elindítunk egy nyomtatási kérést, akkor a nálunk futó szabvány nyomtató kliens (alapban a CUPS kliens) lekérdezi a lekérdezi a helyben vagy a hálózaton elérhető összes nyomtatót, kiválaszthatunk egyet, és ennek hatására a nyomtatni-valót átadja a megfelelő nyomtató-kiszolgálónak, mely az adott nyomtatót kezeli. Nekünk mindössze ennyi feladatunk van, az adott nyomtató-kiszolgáló átveszi a nyomtatni-valót, az adott nyomtató által kívánt egész pontos formátumúvá alakítja és minden mást elintéz. A legtöbb nyomtató a PostScript szabvány valamilyen nyelvjárását beszéli.

  • Média lejátszók (programok): A média lejátszó programok a beállításaiknak megfelelően képesek valamely eszközre valamilyen formában tenni a multimédia tartalmat. Például egy digitális hanglejátszóra fájlban.

Prezentációk

Prezentációk felépítése, tartalma, készítésének lépései

A prezentációk - bemutatók - egy sorozatot alkotó diákból állnak össze, melyet bemutatunk abból a célból, hogy közlendőnket jobban megértsék. A diák tartalma szöveges, képi és esetleg más multimédia objektumokból áll.

A bemutatók készítésnek kiinduló lépése célszerűen az, hogy világos tervvel kell rendelkeznünk arról, hogy mit, milyen céllal és milyen formában akarunk közölni a hallgatósággal (célközönséggel). Ezt a célt kell adott formába önteni a prezentációkészítő eszköz segítségével.

A prezentáció készítésének további lépései tehát nem mások, mint akár egy sablon alapján a prezentáció szerkezetének, majd látványtervének meghatározása. A bemutatók világa a hálózat nélkül is használható webes megvalósítások felé tart, a hagyományos mód egy irodai alkalmazás használata, mint amilyen például az Openoffice.org Impress bemutatókészítő alkalmazás.

Ezt, vagy a webes bemutatókészítőt indítva első lépésekben tehát létrehozzuk vagy sablonból kiválasztjuk a prezentáció szerkezetét valamint létrehozzuk vagy kiválasztjuk a látványtervet.

E sablon alapján létrejön az első diánk, melyhez hozzárendelhetjük a kívánt szöveget és képet, majd létrehozhatjuk a következő diát a sablon alapján, ehhez is megadhatjuk a tartalmat, és így tovább az utolsó diáig.

Animációk, multimédia objektumok beillesztése

Animációk, multimédia objektumok beillesztése a szokásos módon történik a Beszúrás menüvel, vagy a forráskódban az animált kép illetve más multimédia objektum beillesztésével.

Az animációk, multimédia objektumok beillesztése során, figyeljünk oda, hogy az animált képek, hangok, videók szabványos formátumúak legyenek, például animált W3C SVG vagy PNG képek, OGG hangok vagy videók. A szabványos formátumok használatával törekedhetünk arra, hogy prezentációnk bárhol egészében lejátszható legyen, például egy közönséges webböngészőben minden külső szoftveres összetevő, különféle beillesztések nélkül.

Prezentáció-készítő program speciális alkalmazásai

A prezentáció-készítő program elsődleges feladata, hogy az előadáshoz kapcsolódó diák közt interaktívan válthassunk, de jellegéből adódóan ezen kívül más, speciális alkalmazásai is lehetségesek.

A prezentáció-készítő program speciális alkalmazásai lehetnek például, ha szükség esetén e beépített funkciója révén csökkentett képességű médialejátszónak használjuk, vagy a kimondottan erre szolgáló grafikai programok egyszerűbb helyettesítőjeként különösen alkalmas lehet arra is, hogy egyszerűbb animációkat készítsünk vele.

4. fejezet - Számítógépes kommunikáció ismerete

Számítógépes kommunikáció ismerete (levelezés)

Úgy tartják, hogy a levelezés a kommunikáció alapja. Ha az interneten megszűnne a levelezés, akkor gyakorlatilag megszűnne a kapcsolattartás. Tény, hogy tartós üzenet küldésére legalkalmasabb rendszer a levelezőrendszer, melynek fő összetevő, a levéltovábbító (MTA), levélkézbesítő (MDA) és felhasználói levelező (MUA) programok alapvetően települnek is egy általános operációs rendszeren.

Levelezés

A számítógépes levelezés a hálózati kapcsolattartás egyik legrégebbi módszere (ha nem a legrégebbi). A kezdetek 1965-re nyúlnak vissza, egy nagyszámítógépes rendszer felhasználói üzenhettek egymásnak. Ez a módszer annyira sikeres volt, hogy az internet is átvette annak elterjedésekor.

Az „elektronikus levél” kifejezés az angol „e-mail” (electronic mail) tükör fordítása. Magyarországon elterjedt a „drótposta”, „villámlevél” kifejezés, de szleng-szerűen használják az „emil” megjelölést (Némi szerzői vita van ekörül, Ungvári Tamás azt állítja, hogy ő találta ki, mások viszont korábbi felbukkanására emlékeznek).

A „@” használatára 1972 tájékán került sor. Azóta ez a jelölés mód más területekre is kiterjedt. A modern e-mail cím így két részből áll:

  • a „@” előtti jel a felhasználói név,

  • a „@” utáni jel a gép DNS-ből feloldható neve

A levél részei

A modern elektronikus levelezési rendszer támaszkodik a névkiszolgáló rendszerekre. Ez biztonságosan meghatározza a levél továbbítási útvonalát. Ennek érdekében a levélben speciális információknak kell szerepelni.

A levél általános információit (feladó, címzett, másolatot kapó, tárgy) meg kell különböztetni a levél törzsében szereplő szövegtől.

A levél törzsének olyan kódolással kell rendelkeznie, amelyet a címzett megért (címzett alatt nemcsak a személyt, hanem a fogadó postafiókot is értjük). Ha a szokásostól eltérő formátumban tárolják a levelet, akkor a levélben lévő információk alapján a fogadó oldalon biztosítani kell a konverziót.

Fejléc

Az előbbiekben felsorolt elemek, de ezen felül számos más is szerepelhet a fejlécben. A RFC-2822 az ezzel kapcsolatos szabályozásokat tartalmazza, a leglényegesebb kikötés a szintaxis. Ennek a formája a következő:

<kulcsszó>:<érték>

Ha az érték hosszabb, mint egy sor (általános elvárás ugyanis a sor hosszára a nem több, mint 78 karakter + sorvége jel), lehet a következő sorban folytatni, azonban legalább egy szóköz/tabulátor jellel kell kezdődnie.

A szintaxis egyes elemek esetében az értékekre megkötéseket tartalmaz (pl. az e-mail címek formátumára), míg más esetekben szabad formátumot tesz lehetővé. A kulcsszavaknál az angol megfelelőt kell használni. A következő táblázat ezekre mutat példát:

MegnevezésKulcsszóÉrték
Küldőre vonatkozó adatok
FeladóFrome-mail cím (lista)
KüldőSendere-mail cím
VálaszcímReply-toe-mail cím
Fogadóra vonatkozó adatok
CímzettToe-mail címlista
MásolatCce-mail címlista
Titkos másolatBcce-mail címlista
Azonosítások
Üzenet azonosítóMessage-Idegyedi azonosító sztring
ReferenciaReferencesazonosító sztringek (előzmények)

Természetesen a lista nem teljes, csak kiragadott példák.

Törzs

A levél törzsével kapcsolatos megkötések jóval kisebbek. Ennek alapvető oka az, hogy a szükséges információkat a fejlécben helyezik el, és ezek alapján képes a fogadó oldali kliens a konverziót elvégezni.

A kódolás eredetileg 7 bites ASCII volt. Ez 128 különböző karakter jelölésére alkalmas, ami a nemzeti karakterek megjelenésével szűknek bizonyult, ezért a kliens programok nagy része felismeri a 8 bites kódolást, de erre nincs garancia. Számos megoldási javaslat született, de mindegyik tartalmazta a MIME (Multipurpose Internet Mail Extensions) kódolást, ezért ez jelenik meg a fejlécben. A következő kulcsszavakkal lehet a MIME kódolásra vonatkozó információkat megadni:

  • MIME-Version: a használt MIME szabvány verziószámát jelzi. A gyakorlatban a verziót eleddig nem növelték, így a fejléc értéke még mindig 1.0.

  • Content-Description: az üzenet tartalmának emberi nyelven történő leírása. Ritkán használják.

  • Content-ID: az elküldött tartalom egyedi azonosítója.

  • Content-Type: a legfontosabb!!! Az üzenet törzsének típusát adja meg típus/altípus alakú kóddal. Itt adható meg a szöveg kódolása is.

  • Content-Disposition: Értelmes név adható a megadott fájlnak akkor is, ha az URL-ben csak egy azonosító szám szerepel.

  • Content-Transfer-Encoding: jelzi, hogy a bináris tartalom át lett-e kódolva szövegessé, és ha igen, akkor hogyan.

A karakter készlet megadása a konverziós feladatokat segíti. Így a levél törzse nemcsak az angol ABC betűit tartalmazhatja, hanem a nemzeti karaktereket. Alkalmasabb azonban a MIME kódolást használni a törzsben, a mai kliens programok ezt minden további nélkül a megfelelő karakterré alakítják. A következő sztringet:

Q?=C3=81rv=C3=ADzt=C5=B1r=C5=91_t=C3=BCk=C3=B6rf=C3=BAr=C3=B3g=C3=A9p?=

"árvíztűrő tükörfúrógép" szöveggé alakítja át a rendszer (UTF-8 kódolás esetén).

Felhasználói levelező programok (MUA)

Eredetileg az elektronikus levelek egy gépen, illetve egy „hálózaton” belüli kapcsolattartás céljára szolgáltak. Az operációs rendszerek tartalmaztak egy „mail” programot, ami a célnak tökéletesen megfelelt: meg lehetett adni a címzett(eke)t, a tárgyat, a korai időkben a levél továbbítási útvonalát.

Az igények növekedésével a levelező programok képességei is szélesedtek. A legismertebb szöveg alapú levelező program az elm (ELectronic Mail), ami 1986 végén jelent meg. Davis Taylor (akkor a HP alkalmazottja) készítette, azóta több kézen ment keresztül, jelenleg William Pemberton a virginiai egyetem munkatársa tartja karban. 2005 augusztusa óta nem jelent meg új verzió.

A szabad szoftverek terjedése során főleg a U*x alapú rendszereken nagyon sok alfanumerikus képernyőn működő program jelent meg. Közös jellemzőik a felsoroltakon kívül bizonyos szerény mértékű formázási lehetőségek, illetve a levelek bizonyos szempontok szerinti rendezésének lehetősége voltak.

A legismertebb kliens programok közé tartozik a pine, amit a Washingtoni Egyetemen készítettek. Ma már nem fejlesztik, utódja az alpine nevű megvalósítás, ami az Apache Licence 2-n alapuló szabad szoftver. Állítólag Linus Torvalds is ezt használja. Neve egyfajta szójáték: Pine Is Not Elm (a „pine” erdei fenyőt jelent, de a „pine apple” ananászt).

Meg kell említeni a Muttkönnyed email kliens”-t, ami Michael Elkins alkotása. Az első változat 1995-ben jelent meg. Számos funkciója van, így például jól használ más programokat erőteljesen formázott állományok karakteresen megjelenítésére. Ismeri a „mailbox” és a „maildir” formátumot, képes IMAP szerverhez kapcsolódni, miközben a POP3 protokollt is használja.

A kliensek a leveleket különböző elv szerint tárolják. A legfontosabb az, hogy a tárolás alkalmas legyen a levelek megjelenítési sorrend szerinti rendezésre, levelek hozzáadására, eltávolítására. A két legelterjedtebb módszer a következő:

  • mbox: a leveleket egy nagy fájlban tárolja. Általában a „From” fejléc mezővel kezdődik egy új levél, előtte egy üres sor van. Kezelésüket index fájlok segítik. Az mbox fájlban való tárolásra az RFC 2822 is hivatkozik, bár szépen fejlődnek a mappa-alapú megoldások, az mbox fájl a mai napig a levelek tárolásának de facto szabvány alapja.

  • maildir: A leveleket külön fájlokban tárolja; mindegyiknek egyedi nevet ad. A levelező mappák ténylegesen könyvtárak, amelyekben 3 alkönyvtár van a new/, tmp/ és cur/. Szerepük szerint:

    1. A bejövő levelek először a tmp/ mappába érkeznek. Itt kapnak egyedi nevet.

    2. A beérkezés befejezését követően a new/ mappába kerülnek, ahol szintén egyedi nevet kapnak (ha a tmp/-ben kapott nevű fájl itt már létezik), és mindaddig itt maradnak, amíg a címzett el nem olvasta.

    3. Az elolvasott levelek a cur/ könyvtárba kerülnek szintén egyedi névvel

    Itt is vannak index fájlok, amelyek elsősorban a gyors kezelést segítik, mivel a hozzáadás, törlés egyszerű I/O műveletként végrehajtható.

A grafikus felület általánossá válásával számos nagy tudású kliens program jött létre. Többségük az alap GTK+ eszközkészlethez kapcsolódik, ilyen programok például a Sylpheed vagy a Claws mail, melyek kiváló, gyors, multiplatform megoldások. Egy kicsit kevésbé szerencsés esetben kimondottan valamelyik súlyosabb munkakörnyezethez (például GNOME: Evolution, KDE: KMail) ma már egyre inkább elterjedtek a WEB alapú kliensek (például: (Thunderbird/Icedove). Utóbbiak népszerűségét könnyű használatuk, széles választékú szolgáltatásaik magyarázzák.

Adatállományok csatolása

Az internet megjelenésével ésszerű igénnyé vált a hosszabb levelek, illetve különböző, már korábban elkészített mellékletek, képek küldése. Eleinte ezek méretét behatárolták a levelező szerverek, mivel az adatátviteli sebesség meglehetősen alacsony volt, egy nagyobb méretű levél komoly gátat szabhatott a levél forgalomnak. Ma már ennek nincs különösebb jelentősége, a korábbi élenjáró adatátviteli sebesség többszöröse sem számít ma már átlagos gyorsaságnak. Ennek megfelelően a levelezési szokások is átalakultak, így szokássá vált fényképek, terjedelmesebb iratok elektronikus levélben való küldése.

A csatolásokról a szokványok (RFC-k) eléggé részletesen rendelkeznek. Előírják, hogy a fejlécben jelezni kell: csatolt dokumentum van. Ezt a levél törzsében világosan el kell különíteni a levél törzsétől, itt meg lehet jelölni ugyanúgy kulcsszavakkal, mint a fejlécben a küldemény típusát, kódolását (általában bináris állományt karakteresen kódolnak az átviteli nehézségek kiküszöbölésére).

A levelező programok speciális szolgáltatásai

Általános jellemző a modern klienseknél, hogy a két legelterjedtebb tárolási módszert is tudják kezelni. Ezen felül jó néhány speciális formátumból képesek az importálásra, ami megkönnyíti az áttérést az egyik kliensről a másikra.

Ahogy a hagyományos leveleknél, az elektronikus levelekre is lehet bizonyos külön szolgáltatásokat megadni, például „sürgős”, „fontos”, kérhető feldolgozási visszajelzés (azaz „kézbesítve”, „terminálon megjelenítve” - ez utóbbi körmönfont meghatározásra azért van szükség, mert az, hogy a címzett kinyitotta, még nem biztosíték arra, hogy el is olvasta).

Az elektronikus levelek hitelességének biztosítására digitálisan aláírható a levél. Több módszer van erre, a legelterjedtebb a GpG/PgP. Ugyanezzel a teljes tartalom titkosítható, ami jobban biztosítja a levéltitok betartatását.

Egyre több kliens program ad lehetőséget az automatikus levéltovábbításra, illetve automatikus válaszra, azaz egy beérkező levelet emberi közbeavatkozás nélkül egy előre megadott címre továbbit. Ezt a lehetőséget azonban kevéssé szokták igénybe venni, mert ugyanilyen szolgáltatással a viszonylag egyszerűbb levelező szerverek is rendelkeznek, ezért inkább ott érdemes beállítani, mivel ebben az esetben nem kell az érkezett levelet letölteni. Legjellegzetesebb példa a „Vacation” szolgáltatás, ami távollét esetében küld egy előre megfogalmazott levelet a küldőnek.

Ismert a levelek „szálba rendezése” (thread). Ez azzal az előnnyel jár, hogy egyes levélváltás külön is figyelhető, vagy éppen kivonható a figyelés alól.

Üzenetek rendszerezett megjelenítése, kiválogatása

A modern levelező kliensekkel szemben elvárás, hogy alkalmasak legyenek a levelek meghatározott szempont szerinti rendezésére, annak megfelelő sorrend szerinti megjelenítésére. A rendezés alapja lehet:

  • érkezési időpont,

  • feladási időpont,

  • feladó,

  • címzett,

  • tárgy

szerint. Függetlenül a tárolási megoldástól, a kliens programok ezt index állományok felhasználásával végzik el.

Különleges lehetőség - és a ma forgalomban lévő kliensek szinte kivétel nélkül biztosítják - a szál szerinti megjelenítés. Ez a levél fejlécben található References hivatkozásban szereplő levélhez/levelekhez csatolja a szóban forgó leveleket.

5. fejezet - Információk keresése

Információ keresése az Interneten

Az interneten számos szolgáltatás fut, ezek legnépszerűbbje a web. Így a különféle weblapokon rengeteg információ gyűlik, melyek közt nélkülözhetetlen keresni.

Keresés egy wikiben

A wiki-ötlet (weblap gyors, közös fejlesztése saját magán) megjelenése óta a wiki-alapú tudásbázisok az egyik legjobb információforrások. Legismertebb példájuk a szabad, GFDL és Creative Commons licenc alatti tartalmú Wikipedia. A wiki-webhelyen belül kereshetünk a keresőléc segítségével, a találatok a relevancia szerint rendezett wiki-oldalak. A webböngésző programok általában támogatják a lapon belüli keresést, ami szintén fontos a hatékonysághoz.

Általános webes kereső programok

Vannak olyan weblapok, melyek más weblapokon is keresnek, ilyen például a Wikia Search, vagy a Google. Az ezek mögött lévő végigjárják a webet.

A meglátogatott oldalakat kulcsszavak alapján rendezik. Alapértelmezetten a minket érdeklő kulcssavak alapján kaphatunk találatokat.

A találatok arányának szűkítése, keresési feltételek

A gyakori kulcsszavak sok találatot adnak, ezek számát összetetteb keresési feltételekkel szűkíthetjük a részletes, speciális keresési kifejezések segítségével.

A pontosabb kereséshez sok esetben több kulcsszót adunk meg, például a finom és tej szavakat. Ezeket a keresőlécbe írva sok olyan oldalt dob, melyeken mindkét szó szerepel, de nem feltétlenül párban. Azon szavakat, melyeket egy kifejezésben szeretnénk, idézőjelbe tehetjük, a http://search.wikia.com/search.html#"finom tej" keresés például csak a "finom tej" kifejezést tartalmazó találatokat adja. Számos más speciális kifejezést használhatunk még különböző jelekkel, előtag szavakkal. Egy szóhoz kapcsolódó -előjel például kizárja a keresésből az adott szavakat. Kereshetünk még például tartomány szerint a site: kifejezéssel, például .hu vagy domain.tld, fájltípus szerint a filetype: kifejezéssel, például filetype:.svg vagy például szabad Creative Commons licencű tartalmakat így: as_rights:cc_sharealike.

6. fejezet - Weblap készítési ismeretek

Weblapok

A weblapok felépítése

A weblap -- amely hypertext-alapú dokumentumok egyik fajtája -- olyan információtároló struktúra, amelyben az egyes információleíró egységek (oldalak) között nem áll fenn a "klasszikus" rákövetkezési reláció. Ez azt jelenti, hogy míg például egy könyvben az oldalak rendezett azonosítóval (számozással) helyezkednek el -- és ennek segítségével az elérésük is így sorrendben lehetséges, a weblapok esetén ilyen elérést nem tudunk meghatározni. A következő meglátogatott oldal vagy oldalak más fájlokban, akár más fizikai helyen levő gépen is lehetnek. A weblapokon megjelenő információ (szöveg, kép, hang, további lapok adatai) leírására a HTML vagy XHTML leíró nyelv (eXtended HyperText Markup Language) szolgál.

A weblapok alapja az ISO SGML alap leíró nyelv. Ez közönséges szövegrészekből és más kizárólag egymásba ágyazódó elemekből építkezik, melyeket az elem nevét és esetleg más jellemzőit tartalmazó taggal kell megnyitni, és a legtöbb esetben (bővíthető leíró nyelv belsejében már kötelezően) az elem nevét és előtte vagy utána egy / jelet tartalmazó taggal kell lezárni. A tagokat < > jelzi. A dokumentumtípust leírhatjuk az 1. elemmel, ezt, nem kell lezárni például így:

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>

Ez azt jelenti, hogy ez egy olyan 4.01 verziójú, a webes formátumokra érvényes ajánlatokat kiadó World Wide Web Consortium (W3C) által kiadott HTML nyelvű (hypertext leíró nyelv) dokumentum, amelyet még stíluslapokkal tetszetőssé teszünk és a benne lévő egyes elemeket angol nevükkel jelöljük. Ez utóbbi azt mutatja, hogy elvileg lehetőség lenne az elemeket saját nyelvünkön is megnevezni, de végül sehol nem készültek el a hivatalos honosítások.

Egy HTML-dokumentumnak 2 része van, az 1. része a fejléc, ezt a <head> nyitótaggal nyitjuk meg. A lap tartalmát ez után írjuk le, ez a body elem.

Weblap készítése

A weblap készítése, tehát egy szöveges dokumentum elkészítése, ami egyszerű szövegszerkesztővel is elvégezhető (mondjuk nano, leafpad), vagy bármilyen, ilyen dokumentumot elkészítő alkalmazással. Az 1. elem tehát, amit felvettünk a dokumentumba, egy a W3C által ismert dokumentumtípus. Ami mindenképpen szükséges, az a head elem, és benne egy a webböngésző ablakának címsorában megjelenő dokumentumcím illetve a dokumentum karakterkódolását megadó elem, például:

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> A dokumentum címe <title>
</head>

Az általános meta elemben megerősítettük a webszervertől érkező információt, hogy milyen dokumentumtípus jön, és megadtuk a szokásosan használt utf-8 karakterkódolást, mellyel már elég kényelmesen lehet nemzetközi szövegeket írni, nem kell magunkat körülbelül 200 buta Latin1, Latin2 vagy más karakterre korlátozni, hanem bármilyen speciális karaktert használhatunk több 10.000 számban. Ezután már szabadon felvehetjük a dokumentum törzsének adatait.

Ha a dokumentum törzsét formálisan is elindítjuk, felvehetünk pár, az egészre vonatkozó jellemzőt például:

<body bgcolor="#fefe12">

A szövegszerkesztőhöz hasonlóan, formázhatunk karaktereket, a p elemmel felvett bekezdéseket, csinálhatunk táblázatokat, beszúrhatunk képeket, sőt a HTML 5 nyelvben audio és video elemével a képekhez hasonlóan hangokat és videókat is. Az elemek leírása a W3C oldalán megtalálható.

Kapcsolatok (Linkek)

A web lényege egy hypertext szövegekből álló dokumentumgráf. Ez természetesen akkor működik, ha a dokumentumok kapcsolódhatnak egymáshoz, láncokon (linkeken), keresztül.

Ezt szolgálja az a (anchor, horgony) elem.

<a href="http://debian.org">Debian</a>

Ennek hatása az alábbi lesz:

Debian

A kapcsolatot képviselő objektum nem csak szöveg lehet, mint a fenti példában a Debian szó, hanem kép, vagy bármilyen más elem is.

Weblapok módosítása

Kész weblap tartalmának módosítása

A weblapok használata arra az alapelvre épül, hogy a webkiszolgáló a beérkező igényt fájlok visszaküldésével szolgálja ki. A megjelenítést -- értelmezést -- már maga a böngészőprogram végzi el. A weblapok készítése és szerkesztése tehát valójában programozási munka, és ennek eredménye fog a böngészőben megjelenni.

A weblapot szerkeszthetjük úgy, hogy saját gépünkön van, és még csak mi látjuk. Ahhoz, hogy mások is lássák, mind a weblapot indító fájlt (leggyakrabban: index.html), mind az általa hivatkozott fájlokat fel kell tölteni a webszerverre.

A webhelyen persze nem csak a következő feltöltésig változatlan tartalmú fájlokat, hanem például egy wiki-motort is tarthatunk, mely lehetővé teszi, hogy a megjelenített oldalt a felhasználók közösségi módon szerkesszék. De a fenti, alap megoldás esetében a látogató a weblapot nem tudja módosítani, következő feltöltésünkig mindig ugyanazt a fájlt kapja vissza majd a webhely meglátogatásakor.

A megjelenő tartalmat tehát módosíthatjuk, ha új fájlt töltünk fel, vagy például ha rá tudjuk venni a látogatót, hogy a saját gépén (ügyfél) olyan programot futtasson le, amivel módosítja a szeme előtti tartalmat. Ez általában megy, de nem tudjuk biztosan befolyásolni, ezért ennek összetett lehetőségeit egyelőre nem tárgyaljuk, legismertebb képviselője az ECMA Script (becenevén Javascript), illetve a rá épülő vegyes kiszolgáló-ügyfél technika, az AJAX (ez itt a gmail reklám helye).

Weblapok programozásának alapjai

A weblapokat tehát esetleg tudjuk ügyfél-oldalon programozni (az ECMA Script, becenevén Javascript szinte mindenhol engedélyezve van), de nem biztos. Biztosan el tudjuk azonban érni, hogy a felhasználó egy adott webhelyről mindig friss tartalmat kapjon, úgy, hogy a kiszolgálón írunk programot, ami ezt megvalósítja.

A weblapunk bármely részét beállíthatjuk úgy, hogy azt meglátogatva ne egy előre elkészített fájlt kezdjünk elküldeni, hanem előbb egy program készítse el az aktuális weboldalt és azt küldje el a felhasználónak. Vagyis kiszolgáló oldalon programozunk.

Ennek 2 módja van, az egyik módja, mikor az adott webszerver programba, ha ez lehetővé teszi, beszúrunk egy modult, melynek hatására az adott webszerver program egy fájlt kérve, előbb megnézi, hogy van-e az adott fájlba ágyazva valamilyen nyelvű program, a program kódjait kiértékeli és behelyettesíti, és úgy küldi el a weblapot. Ilyen lehetőség például az Apache webszerver esetén a libapache-mod-perl modul telepítése. A technika valamivel meggyorsítja a fejlesztést, de gyakran okoz problémát biztonság, hordozhatóság és más területeken.

A jobban hordozható illetve általánosabb technika a CGI technika, mely egy általános átjáró felület (common gateway interface) ad a web-, például az Apache webszerver alkalmazás és a rendszerre eleve vagy később telepített programnyelvek között. Szokásos a CGI programokat külön mappában védeni és az URL-ben külön útvonalon hivatkozni rá, ezt megadják a webhelyeink beállító fájljai, például egy hasonló útvonalon: /etc/apache2/sites-available/default. Így például a programunkra a http://localhost/cgi-bin/program1 néven hivatkozhatunk (localhost helyett gyakori a domain.tld példa is). A program az alapértelmezett GET (URL-ben átadott szöveg) vagy POST módszerrel kaphat argumentumokat is, a GET módszernél például így:

 http://localhost/cgi-bin/program1?v=Kis&k=Anna
 

Ezt kapja például a programunk akkor is, ha egy űrlapról hívtuk meg melyben egy k és v nevű sima szövegbeviteli mezőben e szövegeket adtuk meg.

Tegyük fel, hogy a program1 egy Perl nyelvű program, hisz a Perl alapban telepítve van a gépünkön, ugyanakkor elég hatékony is, akkor a program ehhez hasonló:

#!/usr/bin/perl


print "Content-type: text/plain\n\n";

A program a %ENV asszociatív tömbben kapja a formálisan skaláris $QUERY_STRING értéket, mely valójában maga is egy asszociatív tömb az űrlap mezők neveivel és értékeivel. A fenti sorok után tehát a $ENV{QUERY_STRING} értéket az elválasztó = és & karaktereket kivágva az adott nyelv segítségével egy asszociatív tömbbé vágjuk - a Perl nyelvben például egyszerűen a %q=split(/=&/,$ENV{QUERY_STRING}); formában, és innentől kényelmesen használhatjuk, például a programban kiírathatjuk az értéket.

További elemek és szabványok

Táblázatok, képek és videó alkalmazása

A weboldalra táblázatokat és képeket is beszúrhatunk. A táblázatokat a <table> nyitótaggal nyitjuk meg és minimum használnunk kell még a <tr> <td> nyitótagot és persze lezárásukat, előbbivel határozzuk meg a cellasorokat, utóbbiakba kerülnek a cellák adatai.

Képeket az <img> taggal nyitunk meg, legalább 2 jellemzőt használva, az egyik az alt="", ha a kép nem látható, a másik az src="", amelynek értékében megadjuk a képfájl nevét. Számos más tulajdonságot is megadhatunk a kép elemben, a gördülékeny kirajzolás érdekében a megjeleníteni kívánt szélességét és magasságot például kifejezettem érdemes megadnunk.

2009-től, a HTML 5 szabványt már lefedő böngészők, például a Firefox 3.5 és nagyobb verziói, már mind támogatják az audio és video elemet, amellyel ugyanígy, a képekhez hasonlóan be lehet szúrni hangot vagy videót a weboldalba. A weben támogatott hang és videó formátum a jó minőségű és szabadalmi korlátoktól teljesen mentes OGG hang és videó, az OGG formátumot tartalmazó fájlok (például OGG Theora videó, OGG Vorbis zene, OGG Speex beszédfájlok).

A HTML lap ellenőrzése (validálása)

Az informatikában, különösen a hálózati informatikában elengedhetetlen a szabványosság. A jó szoftverek teljesen ISO, W3C és még 1-2 hasonló szabvány alapján működnek, így kell megírni a weblapokat is, és ekkor, csakis ekkor várható el, hogy bármilyen böngészőben helyesen jelenlen meg, ekkor azonban 100% mértékben elvárható ez.

Miután a weben is érvényes ajánlásokat a W3C határozza meg, ezért az általuk minősített szoftverrel tudjuk ellenőrizni, hogy valóban helyesen írtuk-e meg az oldalt, a W3C weblapján is van ilyen ellenőrző, mely a validator.w3.org címen érhető el. Természetesen ez is szabad szoftver, a saját gépünkre is telepíthetjük.

Amikor az oldalunkat megírtuk és ellenőriztük, akkor kitehetjük a webhelyre. Szabványos oldalunk biztosan helyesen jelenik meg és örömet okoz a látogatóinknak.

7. fejezet - Hálózati jellemzők

A számítástechnika ipari szintű megjelenésével együtt jelent meg a hálózatban való munkavégzés igénye. A két számítógép közötti kommunikáció feltételeit az úgynevezett „ OSI modell ” írja le. Ennek szabványát az ISO a 7498-1 jelű szabványában 1984-ben jelentette meg.

A hálózatok elméletének másik nagy mérföldköve a TCP meghatározása. Ez a protokollstruktúra 1983-ra teljesen leváltotta az ARPANET alapjául szolgáló struktúrát. Ez képezte az IP alapját, így a köznapi használatban a „ TCP/IP ” néven terjedt el.

Elmondható, hogy ma már a számítógépek és a hálózati alkalmazásra szolgáló eszközök olyan mértékben terjedtek el és működnek, hogy valóban világhálóról lehet beszélni. De mik azok a lényeges elemek, amelyek a hálózat működéséhez szükségesek, és hogyan lehet ezeket használni?

Hálózati alapfogalmak

Hálózati technológiák

Pont-pont hálózatok

Ebbe a kategóriába tartoznak azok a megoldások, amelyek sok géppárt kötnek össze, egy vagy több csomóponton keresztül. Mivel ennek következtében több útvonal is elképzelhető, ezért lényeges az optimális útvonal kiválasztásának kérdése.

A pont-pont (point-to-point) megoldást szokás még „egyesutas”-nak (unicasting) is nevezni.

Adatszórásos hálózatok

Ennél a megoldásnál egy kommunikációs csatorna (broadcast) van. A működési elv a következő: a küldő gép a saját és a fogadó gép címével ellátott rövid üzenetet elküldi a közösen használt csatornára, azaz az összes gép megkapja. Minden olyan gép, amely nem szerepel a címzettek között, nem csinál semmit. A tényleges címzett feldolgozza. Ez a broadcasting üzemmód.

Mód van arra, hogy ne minden gép kapja meg az összes ilyen üzenetet egyes rendszerekben. Ennek az az előnye, hogy lényegesen kisebb a zaj a hálózaton, emellett csökken a gépeknek az a tevékenysége, hogy a nem nekik szóló csomagokat eldobják. Ezt nevezik multicasting szórásnak. Az is lehetséges, hogy az egyes gépeknek meghatározzák az érdekeltségi körébe tartozó címcsoportjait (de ez akár az összes is lehet), ilyenkor abból a tartományból, amely nincs így megjelölve, nem érzékeli a csomagokat.

Hálózati topológiák

Csillag

A hálózat egy központi elemből és a többi, hozzákapcsolódó elemekből áll (az elem lehet számítógép, switch, HUB vagy ezek kombinációja). Ebben a megoldásban a periférikus elemek a központi elemmel állnak kapcsolatban, ennek megfelelően a kommunikáció csak ezen keresztül történhet. Ha egy periférikus elem meghibásodik, akkor az kiesik a kapcsolatok közül, azonban ez a többi működését nem befolyásolja.

Busz

A kliensek egy kommunikációs vonalon (a buszon) vannak összekapcsolva. A csatorna mindkét vége le van zárva. Ha egy kliens meghibásodik, a hálózat megbénul. Ha bárhol kábelszakadás keletkezik, szintén.

Lánc

A hálózati csomópontok között egy kapcsolat van csak. Az elemek közvetlenül csak a szomszédjukkal kommunikálhatnak, „távolabbra” szóló kapcsolatban - bár passzívan - a lánc közbeeső elemei is részt vesznek. Ha egy elem meghibásodik, a lánc két részelemre esik szét.

Gyűrű

Ez olyan lánc topológia, amelynek az első és utolsó eleme össze van kötve. Ez kismértékben növeli a biztonságot, ugyanis minden elem két irányból érhető el, ezért egy kábel vagy egy elem meghibásodása még nem jelent két szigetre való szétesést (a gyűrű-elv miatt a másik irányból még elérhető a cél elem). Két elem és/vagy kábel meghibásodása a két hiba közti elem/elemek elérését hiúsítja meg.

Hurkolt

Jellemzően a gyűrű topológiánál használják, de elképzelhető lánc kialakításon is, illetve bizonyos korlátokkal a többi megoldáson. A lényege az, hogy két perifériás elem nemcsak a topológiának megfelelő módon, hanem közvetlenül is össze van kötve. Ez növeli a biztonságot, mivel az érintett elemek (és ezen keresztül a többi részes elem) több útvonalon is elérhetőek, azaz csökken a hibák által keletkezett elszigetelődés veszélye.

Hibrid

Olyan hálózatok, amelyekben a többféle megoldást együttesen használják:

csillag - busz

olyan csillag topológiájú hálózatok, amelyek központi elemeit buszon kötik össze. Tipikus megvalósítása az olyan telephelyek közötti hálózat, ahol a két telephely között fizikailag is létező kábellel kötik össze a telephelyi központi switch-eket.

csillag - gyűrű

több csillag topológiájú hálózat központi elemeit gyűrűbe fogják. Ilyenek lehetnek például a lakótelepi kábeltelevíziós hálózatok (egy-egy ház központi vevőkészüléke a csillag közepe, ezeket gyűrűbe fogják. Más kérdés, hogy a való életben ennél bonyolultabb a szerkezet).

Teljes kapcsolat

Az összes elem páronként össze van kötve. Ez általában igen drága megoldás (25 elemnél már 600 kapcsolatot jelent, aminek a kiépítése nemcsak bonyolult, de költséges is), viszont kimagaslóan biztonságosak. Ennek következtében jellemzően a katonai hálózatokban terjedtek el.

Kategóriák

A hálózatokat a kiterjedésük szerint is lehet kategorizálni:

7.1. táblázat - Hálózatok osztályozása kiterjedés szerint

Processzorokelnevezés
közötti távolságelhelyezkedése ugyanazon a(z)
1 - 10 masztalonszemélyi hálózat (Personal Area Network - PAN)
10 - 100 mhelyiségbenlokális hálózat (Local Area Network - LAN)
100 - 1000 mépületben
1 - 10 kmintézményben
10 - 100 kmvárosbanvárosi hálózat (Metropolitan Area Network - MAN)
100 - 1000 kmországbannagy kiterjedésű hálózat (Wide Area Network - WAN)
1000 - 10000 kmföldrészen
> 10000 kmbolygóninternet

Protokollok

A hálózati technológia fejlődése során számos protokoll jelent meg. Ezek között voltak, amik rövid életűnek minősültek, vannak, amelyek mára már kiszorultak. A következőkben ABC sorrendben soroljuk fel a ma leggyakrabban használtakat:

Bluetooth

Két számítástechnikai elem közötti kis hatótávolságú vezeték nélküli kapcsolat, ami kevésbé érzékeny a kommunikációban részt vevő elemek közötti tereptárgyakra. Ténylegesen a világon mindenütt elérhető 2,45 Ghz-es rádió frekvencián kommunikál. Az 1.2-es változat 723 kbit/s, a 2.0-ás 3 Mbit/s névleges adatátviteli sebességet biztosít. Hatótávolsága az eszköz teljesítményétől függően 10 - 100 m. Legismertebb alkalmazási területe: személyi asszisztensek (PDA) egymás közti és számítógéppel való adatátvitel, szinkronizálás.

Ethernet

Három, a számítástechnikában vezető gyártó (DEC, Intel, Xerox - „DIX”) által kifejlesztett hálózati protokoll. A számítástechnikai eszközök között kábelen, mint közvetítő közegen, áramlanak az adatok. Mára a vezető technikai megoldás lett, amely jelenleg a 10 Mbit/s adatátviteli sebességtől a 10 Gbit/s-ig terjedhet. Az eredeti elképzelésnek megfelelően a klasszikus Ethernet a busz (illetve gyűrű) topológiát támogatta, a Giga-ethernet azonban a pont-pont kapcsolatot részesíti előnyben.

Az ethernet illesztő kártyák hálózati címét (MAC address) a szabvány 6 oktettben határozza meg. Az első 3 oktetten a gyártó egyedi azonosítója szerepel, a hátsó 3 oktetten pedig gyártón belül a sorozatszám. Ezzel elvileg minden ethernet hálózati csatoló egyedi MAC címmel rendelkezik.

Internet Protokoll (IP)

Mára a legelterjedtebb hálózati protokoll, ami az internet-alapú hálózatokon a számítástechnikai elemek azonosítására szolgál. Egyszerűsége és robusztussága miatt kiszorította az ATM-et. Sajátossága, hogy nem építi fel a kapcsolatot, hanem minden egyes csomagot irányít. Mivel az OSI modell 3. (hálózati) rétegében működik, szükséges a megbízhatóságot más protokoll bevonásával növelni.

Token-Ring

Magyar megfelelője a vezérjeles gyűrű, tartalmilag is ezt jelenti. A hálózatban részt vevő elemek logikailag egy gyűrűt alkotnak, amelyen az adatokat sorosan a következő állomásra egy vezérjellel ellátva küldi a rendszer. Fizikailag viszont egy csillag topológiás hálózat, amelynek középpontjában egy aktív elem van, ehhez csatlakoznak a kliensek egy oda-vissza vezető hurokkal. A vezérjel (token) 3 bájtos és körbeutazik a teljes gyűrűn. Eredetileg 3 Mbit/s adatátviteli sebességet biztosított, mára a 12 Mbit/s a gyakoribb.

TCP

Az internet kialakulásának korai szakaszában megjelent az az igény, hogy az adatátviteli megbízhatóság csökkenését ellensúlyozzák. A TCP (Transmission Control Protocol - átvitel vezérlési protokoll) erre szolgál. A szállítási rétegben működik; minden elküldött csomagot sorszámmal lát el, és pozitív visszajelzést vár. Ha ez nem történik meg, a megfelelő csomagot újraküldi. Ugyanakkor a fogadó oldalon a sorszámok alapján ellenőrizhető az érkezett csomagok sorrendisége.

Az IP-vel együttműködve megbízható kapcsolatot biztosít, ezért is szokás a kommunikációt TCP/IP alapúnak nevezni.

USB

Igen elterjedt megoldás az univerzális soros busz (Universal Serial Bus). Ezt elsősorban annak köszönheti, hogy teljes körűen Plug and Play, gyakorlatilag minden operációs rendszer támogatja. Üzemszerűen működik a 2.0 verziójú megvalósítás, amelynek átviteli sebessége 480 Mbit/s, de még található 1.1 is, amely 12 Mbit/s sebességet biztosít.

UDP

Az internet egyik alap-protokollja a User Datagram Protocol. Akkor használják, amikor a gyorsaság fontosabb a megbízhatóságnál, ugyanis nincs biztosíték a csomag megérkezésére. Tipikus felhasználási területe a DNS kérés és a BOOTP.

Wi-Fi

Az IEEE (Institute of Electrical and Electronics Engineers) fejlesztésében megvalósított vezetők nélküli (Wireless Local Area Network - WLAN) mikrohullámú kommunikáció. A megoldásokat az IEEE szabvány számával is szokásos jelölni (például 802.11g). A 2,4 és 5 GHz-es frekvenciát használja, hatótávolsága 1 métertől legfeljebb 5 km-ig terjed (megvalósítástól, teljesítménytől és akadályozó tereptárgyaktól függően). Tipikus felhasználási területe: nyilvános helyeken (repülőtér, vendéglő, egyes országokban utcán, telefonfülkék közelében) biztosított hozzáférési lehetőség, amellyel kapcsolódni lehet egy wi-fi útválasztón keresztül a világhálóra.

Alkalmazási protokollok

Amíg a „Protokollok” pontban a szállítási és adatkapcsolati rétegben működő protokollokkal foglalkoztunk, ebben a pontban az alkalmazási rétegben megjelenő megoldások szerepelnek.

FTP (File Transfer Protocol)

TCP/IP környezetben működő, fájl átvitelre szolgáló szabvány. Az egyik legrégebbi alkalmazási protokoll, ami mára kezd veszíteni jelentőségéből. Ennek elsőrendű oka biztonsági sebezhetősége.

Amennyiben a saját számítógépünkre töltünk állományt, letöltést (download), ha máshová küldünk állományt, feltöltést (upload) végzünk. Ezt kliens - szerver architektúrában végezzük, és lényeges, hogy a két helyen lévő operációs rendszernek nem kell megegyeznie. Amennyiben a fájl tárolási metódus a két rendszer között eltér (természetesen fizikai értelemben értve és nem a kódolást érintően), a megfelelő konverziót a kliens és/vagy a kiszolgáló program elvégzi.

Az FTP kombinálható más alkalmazási protokollokkal, legjellemzőbb az „FTP over HTTP” - minden valamire való böngészőből lehet FTP kapcsolatot építeni.

HTTP (HyperText Transfer Protocol)

A legnépszerűbb alkalmazási protokoll. A TCP/IP felett helyezkedik el, de nem függ tőle. Emiatt implementálható más megbízható átviteli réteg felett is.

Kliens - szerver architektúrában működik, de szokták kérés - válasz protokollnak is nevezni, mivel működési mechanizmusának lényege az, hogy a kliens kezdeményez, kérdez, a szerver reagál. A klienseket szokás user agent-nak (felhasználói ügynöknek) nevezni; ezek általában - de nem kizárólagosan - a web böngészők.

A HTTP szintén nem biztonságos kapcsolat, de két megoldás lehetősége is biztosítva van. Ebből ténylegesen az adatfolyam titkosítását biztosító SSL/TLS réteget alkalmazó HTTPS protokoll működik. Ez szintaktikailag megegyezik a HTTP-vel.

Másik megoldás az „upgrade header”, amit az 1.1 verzióban definiáltak, de jelenleg egyik kliens sem támogatja még.

IMAP (Internet Message Access Protocol)

Elektronikus levelekhez való hozzáférést biztosító protokoll. A POP-tól eltérően a leveleket nem kell a kliensre letölteni, sőt, az IMAP4 natívan támogatja a titkosított bejelentkezést, magát az adatfolyamot is képes titkosítva kezelni (de ilyenkor más porton kommunikál). Különböző jelzőket képes a kliens a szerveren tárolni, amivel megkönnyíthető a levelekben való keresés, rendszerezés. A modernebb levelező kliensek (mutt, alpine, cone, sylpheed, claws, thunderbird, evolution, kmail és így tovább) alapértelmezetten támogatják. Több postafiókot is lehet kezelni, ilyenkor a postafiókok mappának látszanak, és értelemszerűen mappaként lehet a különféle jogokat beállítani.

IRC (Internet Relay Chat)

Igen népszerű csevegő protokoll. Kliens - szerver architektúrájú nyílt megoldás, ami TCP/IP-n alapul. Eredeti formájában nyílt szöveges kommunikáción alapult, ami könnyen lehallgatható volt.

A szerveren számos csevegő csatorna nyitható, amin akár több százan is folytathatnak írásos „beszélgetés”-t. A modern kliensek és szerverek ismerik a SSL/TLS titkosítást, ezért a csevegés nagyobb biztonságban folytatható.

POP3 (Post Office Protokoll version 3)

A POP3 az elektronikus levelek letöltésére szolgáló protokoll. TCP/IP-n alapul, és lényegében alapszolgáltatásnak számít. A kliens kérést intéz a szerverhez, amelyről aztán letölthetővé válnak az új e-mail üzenetek. Különböző lehetőségek adottak, így például letöltést követően a levél törlése a kiszolgálón, vagy olvasatlan jelző beállítása. Ezeket a kliens utasítás formájában jelzi a szervernek és a szerver a végrehajtást, illetve annak státus kódját visszajelzi.

Elődei a POP, illetve a POP2 voltak. Eredetileg az időszakos kapcsolatok (behívás - dial-up) időszakában alkalmazták, amikor a korlátozott idejű távoli kapcsolat alatt kellett a leveleket kezelni. A letöltést követően helyben lehet a leveleket olvasni, szerkeszteni. Arra is van lehetőség, hogy a letöltést követően a levelek a szerveren megmaradjanak, a kliens program feladata, hogy „megjegyezze”, mit töltött már le, elkerülendő a többszörös letöltést.

A levélküldés másik protokollon történik.

SIP (Session Initiation Protocol)

Két vagy több résztvevő közötti kommunikációs protokoll. Az IP telefóniában kapott nagy szerepet, ezért szabványként is megjelent néhány éve. A protokoll csak a kapcsolat felvételhez nyújt segítséget, a továbbiakat már más protokollok intézik.

Saját címzési metódussal rendelkezik, ami hasonlít a http protokollhoz: sip:user@domain, ezt lehet a telefonszámmal is kombinálni: sip:+36-1-1234567@domain.

A VoIP (Voice Over IP) standard protokolljává válhat, mert a készülék gyártók ezt támogatják. A harmadik generációs mobiltelefonok multimédia támogatásának is ez a protokollja.

SMTP (Simple Mail Transfer Protocol)

Az elektronikus üzenetek (= levelek) továbbítására szolgáló protokoll. Tekinthető szabványnak, ténylegesen „csak” szokvány (az ajánlásnál erősebb: a résztvevők között kölcsönös megegyezésen alapuló, magukra nézve kötelezőnek tekintett elv).

Az elektronikus levelezés alapvetően ezt a protokollt használja. Olyan mértékben elterjedt, hogy a DNS bejegyzések MX rekordja jelzi a levelező szerver jelenlétét. Ennek megfelelően a küldő oldal (ez lehet egyenesen a kliens) közvetlenül címezheti a fogadó oldalt, de lehetőség van átmenő szerverek használatára (olyan szerver, ami szolgáltatónál fut és fizikai adottságai lehetővé teszik nagy forgalom kiszolgálását).

Ez a lassan 30 éves protokoll az alapja számos levél továbbító (MTA - Mail transfport Agent) ügynök programnak: sendmail, exim4, postfix. Eredetileg szöveges alapú kommunikációt biztosított, a fejlődés során kiterjesztették bináris adatátvitelre is (MIME kódolás). Ma már minden valamire való levelező szerver támogatja a 8BITMIME-t (8 bites MIME kódolás).

SNMP (Simple Network Management Protocol)

A hálózat menedzselésének eszközéül szolgáló protokoll. Eredetileg is bővíthetőre tervezték, támaszkodik a MIB-re (Management Information Base), ami a különböző eszközökre külön-külön létezik. Ugyanakkor ez is fejleszthető, mert a MIB egyes objektumai írhatók, mások csak olvashatók.

Kialakítása kliens - szerver architektúrájú. A figyelt eszközön fut egy démon program - ez a szerver - amit a kliens kérésekkel szólít meg. Mivel az SNMP-n keresztül éppen a hálózat menedzselése zajlik, kevésbé biztonságos, mert nincs erős hitelesítő megoldása (ezt a környezetnek kell biztosítania).

SSH (Secure Shell)

Két számítógép közötti titkosított kommunikáció protokollja. Kliens - szerveres kialakítású. Létrejöttét az az igény generálta, hogy a távoli bejelentkezési protokollok (telnet, rsh, rlogin) hasznáslata esetén a jelszavakat, adatokat egyszerű hallgatózással meg lehetett szerezni. A hitelesítéshez nyilvános kulcsú titkosítást használ, ami azt jelenti, hogy a résztvevők létrehoznak egy kulcspárt (titkos és nyilvános). A kommunikáció során a bejelentkezéskor a szerver publikus kulcsával titkosított információk jutnak el a bejelentkezési adatok a kliensről a szerverhez. Ha ez nem áll rendelkezésre, az első kapcsolatfelvételnél a szerver elküldi. Ezt követően a kliens generál egy 256 bites véletlenszámot, amit a kiszolgáló alkalmazás nyilvános gép- és szerver kulcsával titkosítva elküld a kiszolgálónak. Ettől kezdve ez lesz a „forgalom titkosító kulcs

A protokoll az adatkommunikáció kevésbé biztonságos megoldásait hivatott kiváltani, így a telnet (rsh, rlogin) helyett ssh, az ftp helyett sftp, a mára már alig használt távoli másolás (uucp) helyett scp felületet biztosít. A távoli gép címzése az IP címmel, illetve a nevével is történhet. Az interneten szokásos címzés (user@domain) is alkalmazható.

TELNET (TELecommunication NETwork)

A hálózati kapcsolatok egyik legrégebbi protokollja. Még 1969-ben fejlesztették ki (az első RFC leírásnak 15 a száma!), célja két számítógép közötti interaktív kapcsolat kiépítése volt. Nem rendelkezik semmilyen titkosítási és hitelesítési megoldással, ezért a szerver oldali megvalósítás mára szinte teljesen eltűnt - illetve különféle burkolókkal (SSL/TLS) használják.

Kliens oldali program gyakorlatilag minden operációs rendszerben fellelhető. Ennek az a magyarázata, hogy számtalan más protokoll, kapcsolat modellezhető vele (pl.: HTTP, POP3, SMTP), a telnet kliens meghívásával a megfelelő porton.

Címzések

Ebben a részben csak azokkal a megoldásokkal foglalkozunk, amelyek az internet használata során elterjedtek. Meg kell azonban említeni, hogy számos egyéb megoldás is létezik, bár többsége nem tudott úgy elterjedni, hogy használatra alkalmas változata kialakuljon, így már karbantartása sem folyik (ilyen pl.: DECNET, IPX).

Ethernet

A hálózati eszközök közül az ethernet kártya tekinthető a legelterjedtebbnek. Az eredeti elképzelés szerint olyan azonosítóval rendelkeznek, ami a világon egyedülálló és a kártyába beégetett adat. A számítástechnika fejlődése során azonban kialakult a címhamisítás, így ma már ez sem megbízható adat.

Egy ethernet cím 48 bitből áll. Az első 24 biten a gyártó azonosítója szerepel, míg a második 24 biten egy olyan egyedi azonosító, ami a gyártón belüli azonosításra szolgál. Ezt a címet MAC (Media Access Control) vagy hardver címnek nevezik. Szokásos írásmódja: aa:bb:cc:dd:ee:ff (vagyis a 6 bájt értéke hexadecimálisan kettőspontokkal elválasztva).

A MAC cím fizikai cím, ezért szükségessé vált az IP cím és a MAC cím közötti megfeleltetéshez egy „fordító” tábla. Ez az ARP (Address Resolution Protocol), ami IP címeket feleltet meg MAC címnek, illetve a RARP (Reverse Address Resolution Protocol), ami ennek az ellentettjét végzi. Linux alatt az ARP tábla könnyen lekérdezhető és ehhez hasonló kimenettel szolgál:

7.2. táblázat - Egy példa az ARP táblára

AddressHWtypeHWaddressFlagsMaskIface
192.168.100.1ether00:19:E0:4E:C9:08C eth0
192.168.100.101ether00:07:87:44:4E:01C eth0
192.168.1.101 (incomplete)  eth0

(az utolsó sor egy nem létező - pontosabban: nem bekapcsolt - gépre megkísérelt ping következménye)

A RARP lehetőségének a kernelben szerepelnie kell, ellenkező esetben a fordított megfeleltetés nem kérdezhető le. Munkaállomásoknál ez nem is lényeges, mivel az elsőrendű az ARP-tábla, a RARP megfeleltetést elsősorban a switch-ek, routerek használják.

IP cím

Az interneten és az internet alapú hálózatokon az egyes elemek azonosítására szabványos címeket használnak. A címzés kérdése jelenleg átalakulóban van, ezért a két (jelenleg használt és a leendő) címeket is tárgyaljuk. Az IP cím egyszerűsége és robusztussága gyakorlatilag egyeduralkodóvá tette a megoldást.

IPv4

Először is az elnevezésben rejlő félreértést tisztázzuk: bár „v4” szerepel, ami a szokás alapján 4. verziót jelentene, de itt ténylegesen a 4 bájtos verzióra utal (habár egyes dokumentumok 4. verzióról beszélnek). A félreértés valószínűleg abból adódik, hogy a leendő megoldást IPv6-nak jelölik, ami viszont nem 6, hanem 16 bájtos. Az IPv5 más célokat szolgál, ezért lett az új megoldás neve (verziószáma) IPv6.

Az IPv4 32 biten ábrázolja egy megcímzett elem IP címét. Az eredeti elgondolás szerint a cím 2 részre oszlik: a hálózati azonosítóra és a gép (hoszt) azonosítására. A szokásos és bevált jelölés szerint bájtonként és 10-es számrendszerben írják le a címet (ún. „doted decimal” formátum): x.x.x.x, ahol az „x” helyén egy 0 - 255 közötti szám szerepel (a határokat is beleértve).

IPv6

A korábban említett robbanásszerű Internet fejlődés „eredményeképp” fellépett IP ínség megoldására számos elképzelés született. A legtartósabb az IPv6 maradt, és ez vált az új szabvánnyá. Egy IPv6 cím 128 bitből áll, azaz a hossza az IPv4 négyszerese. Ez 3,4 x 1038 lehetséges cím[1], ami elegendőnek látszik. De nemcsak ez a formai különbség van köztük, hanem maga a protokoll tartalmaz fontos elemeket, például a többesküldést (multicasting). A protokoll biztonsági megoldást is magába foglal, része az IPsec (IP biztonság).

A cím 2 részből áll:

  • 8 bájtnyi alhálózati maszk

    Ezzel kapcsolatban még több elképzelés él. Egyik lényegesebbnek tartott megoldás szerint ez a rész tartalmazná a területi kódot (ország kódot), bár ez jelen állapot szerint nem lenne egyszerű, mert most is léteznek olyan „kihelyezett” IP címek, amelynek szolgáltatója nem az igénybe vevő ország (sőt kontinens) területén van.

  • 8 bájton a gazdagép azonosítója

    E körül is megoszlanak a vélemények. Az egyik elgondolás szerint az ethernet kártya MAC címét helyeznék ide (de arról nem szól a fáma, hogy az ethernet kártya cseréje esetén mi történne). A másik szélsőséges megoldás szerint egyszerű sorszám lenne.

A címet a következő szabályrendszer szerint kell megjeleníteni:

  • az egyes értékeket hexadecimálisan kell megadni,

  • 2 bájtonként kettőspontot („:”) kell tagolásra használni; a vezető nullák elhagyhatók

  • Több egymást követő „0000” rövidíthető "::" megadásával (double-colon: ezt újabban négyespontnak nevezik), ez azonban csak egyszer alkalmazható

  • A hálózati maszkot CIDR[2] jelöléssel kell megadni; természetesen itt a legnagyobb érték 128

Ahogy az IPv4 esetében, az IPv6-on belül is vannak foglalt címek. Az IPv6 tulajdonságaiból adódóan több célt jelölnek:

  • ::/128: Határozatlan cím, fogalmilag IPv4-ben 0.0.0.0/32-nek felel meg. Arra használható, hogy szoftverekben egy interfésznek még nem megadott címét jelöljék

  • ::1/128: A localhost címe (megfelel IPv4-ben a 127.0.0.1-nek)

  • fe80::/10: Az ún. „link-local” cím (IPv4-ben a 169.254.0.0/16-nak feleltethető meg

  • fc00::/7: egyedi helyi cím (unique local address - ULA) csak együttműködő helyekkel route-olható. Lényegében egy kiterjesztett privát címként használható, egy 40 bites ál-véletlen számot ad a route-oláskor

  • ff00::/8: többesküldés címek (multicasting addresses)

  • ::ffff:0:0/96: az IPv4-re kapcsolt címekre (PIv4 mapped addresses) fenntartva

  • 2001::/32: A „Teredo Tunneling” számára fenntartva (IPv6 csomagok becsomagolva IPv4 UDP csomagokba és így közlekedtetve)

  • 2002::/16: „6to4” (IPv6-ról IPv4-re) címzésre fenntartva

  • 2001:10::/28: „ORCHID” (Overlay Routable Cryptographic Hash Identifiers - beburkolt routolható kriptografikus hash azonosító)

  • 2001:db8::/32: Dokumentációs célokra

  • ::/96 és fec0::/10: elavult, nem ajánlott címek

Állományok használata a hálózaton

Amióta egynél több számítógép létezik, mindig felmerül az a kérdés: „hogyan tudnám az egyik gépen lévő állományt a másikról elérni?”. A válasz még ma sem egyszerű. Ahogy a technika fejlődik, úgy fejlődik vele a rosszindulatú állomány hozzáférés (vagy legalábbis ezek kísérletei), így mindig újabb és újabb védelmi módszereket kell kitalálni, majd azok biztonsági lyukainak foltozása a feladat, mert a rosszindulatú hackerek (ne felejtsük el: a hacker alapvetően bütykölő, fejlesztő szekértő, tehát tisztességes, de van köztük rosszindulatú is) hamar megtalálják ezeket és kihasználják a lehetőségeket.

Számtalan helyen olvasható, hogy a legnagyobb veszélyforrás maga az ember. Ez így igaz, és természetesen a gépek közötti kommunikáció során erre kiemelten figyelemmel kell lenni.

Mindezek akkor kerülnek előtérbe, amikor az állományok kezelésére kerül sor. Ma már a „bizalmi elv” (megbízunk a kommunikációban résztvevőkben és a harmadik személyekben is) nem működik, nem is működhet. Ez természetesen alapvetően befolyásolja a munkavégzést, de a biztonsági elemek alkalmazása elkerülhetetlen.

Nyílt és titkosított elérési módok

Amint azt korábban is említettük, a hálózatok kialakulása időszakában, de a korai megvalósítások idején is elegendő volt azokat az alkalmazásokat igénybe venni, amelyek egyszerű, bárki által lehallgatható módon végezték az adatok küldését, fogadását. Legjellemzőbbek az ftp és a telnet voltak. Ezek az adatkapcsolat során egyszerű, nyílt adatokat tartalmazó csomagokat küldözgetnek (telnet esetén a képernyőképekben is kiolvasható a képernyő tartalma), ami egy megfelelő programmal könnyen „lehallgatható”. Ez késztette a fejlesztőket, programozókat, hogy valamilyen kriptográfiai eljárásban gondolkozzanak. Ma már szinte önálló iparággá vált a titkosítás, számos módszert ismerünk. Van köztük könnyen visszafejthető („gyenge”), de van olyan megoldás is, amit egyelőre nem tudtak „feltörni” (így nevezik a jogosulatlan visszafejtést).

Mindenképpen érdemes megemlíteni, hogy az egyszerű telnet ma már szinte teljesen kiszorult, ugyanakkor az ftp-t még sok helyen alkalmazzák. Ennek elsőrendű oka az, hogy a kódolás/visszafejtés időt vesz igénybe, de a közlekedtetett információk nem tartalmaznak érzékeny adatokat. Legjellemzőbb példa erre a program forráslisták, így például a Linux kernel is ftp-vel érhető el. Más kérdés, hogy megbízhatóságukat különböző ellenőrző mechanizmusok lehetőségével növelik (például md5 összeg számításával).

Egy félreértést mindenképpen tisztázni kell: önmagában az, hogy az elérés felhasználó név - jelszó pároshoz kötött, még nem jelent titkosított elérést, csupán elérési korlátozást. Ténylegesen titkosított elérés az, amelynek során már ezek az adatok is kódoltan közlekednek.

A titkosított elérések legjobban fejlődő és kellően biztonságosnak tartott megoldása az SSH (Secure SHell). A korábbiakban közölteken kívül alagút építésre (tunneling) is használják, hisz erősíti a benne lévő protokoll biztonságát, szélsőséges eset, amikor a telnetet burkolják ssh alagútba.

Szintén közkeletű a PGP (Pretty Good Privacy), a gyakorlatban ma már elsősorban az OpenPGP protokollok használata. Szabad szoftverként ezt például a GNU Privacy Guard vagyis a GPG valósítja meg. Ez egy program, ami titkosításra és hitelesítésre alkalmas. Elsősorban elektronikus levelek kódolására és aláírásra alkalmazzák.

A TLS (Transport Layer Security), illetve elődje a Netscape SSL ( Secure Socket Layer) 3, mint neve is mutatja az OSI modell szállítási rétegében működő kriptográfiai protokoll. Csak a szerver kötelezően hitelesített, a kliens hitelesítetlen marad(hat). A TCP/IP felett működik, így is használják számos helyen, például web böngészés, elektronikus levél kapcsolatban (de nem a levelek titkosításánál), VoIP (Voice over IP) kapcsolatokban és így tovább.

Végrehajtás, másolás, átnevezés, áthelyezés, hozzáférés módosítás

Az állományok használata ténylegesen a fejezetcímben felsorolt műveleteket jelentik. Ezek közül azonban ki kell emelni a végrehajtást, mert az különleges körülményeket igényel, emellett biztonsági okokból számos megkötés érvényes rá.

Végrehajtás hálózaton

A „végrehajtás” fogalom sokféleképp értelmezhető. Hálózatos környezetben (azaz több gép viszonylatában) általában azt érdemes értelmezni, hogy a saját gépről kiindulva a távoli gépen lévő parancsfájlt, programot hajtatunk végre. Ha ez a távoli gép memóriájában történik (azaz a saját gép pusztán tétlen szerepet játszik és csak a képernyő kimenetet kezeli), akkor csak egy távoli munkavégzésről van szó, ez nem ennek a résznek a témája. Ha azonban a távoli gép programját futtatjuk a saját gép erőforrásainak használatával, akkor a következőkre kell figyelemmel lenni:

  • egy végrehajtható program számára azokat a feltételeket kell biztosítani, amit a távoli gép a számára biztosít,

  • gondoskodni kell arról, hogy a távoli program rendelkezzen a helyi erőforrások megfelelő elérésével

  • ezek mellett arra is gondot kell fordítani, hogy a távoli program ne tudjon kártékony tevékenységet folytatni

Távoli program futtatása ma már gyakorlatilag csak elvétve fordul elő. Ennek elsősorban az az oka, hogy a rosszindulatú kód már nem ritka, vagyis a rendszer védelme kevésbé biztosított.

Lényegében ugyanez elmondható a saját végrehajtható program távoli gépen való futtatásáról.

Más a helyzet, amikor szkript futtatásáról van szó. Ennek egyik legjellegzetesebb példája a böngészőben egy internetes lap meglátogatása. Ebben az esetben ugyanis a távoli gép (szerverként) kimenetet ad a helyi gép képernyőjére, amin a helyi gépekről utasítás adható. Ezt dolgozza fel a távoli gép és az ennek megfelelő kimenetre változtatja a képernyőt. Természetesen itt is fennáll a veszélye a rosszindulatú kód megjelenésének, ennek elhárítására azonban többé-kevésbé kialakult módszerek vannak.

Elérések

Ezzel a gyűjtő fogalommal a felsorolt tevékenységeket jelöljük meg.

Minden elérés a helyi gépről kezdeményezve történik - pontosabban a kliensről. A kapcsolat típusát is a kliens oldalról történt kezdeményezés minősége, fajtája dönti el

  • egyszerű elérés: ebben az esetben semmilyen kódolási, titkosításai eljárás nincs. Általában állományok feltöltésére, letöltésére az ftp programot használják. Ez alkalmas minimális menedzselésre (például törlésre) is, de ehhez a szerver oldalon a megfelelő jogosultságokkal kell rendelkezni.

  • (be)burkolt elérés: utóbbi időben elterjedt eljárás, amely annak érdekében született, hogy a felhasználó az előzőben vázolt egyszerű elérésnél megszokott módszereit alkalmazni tudja. Lényege az, hogy mielőtt a tényleges program (ftp) elindulna, a két számítógép között titkosított csatorna épül fel. Az esetek többségében a felhasználó ezt nem is érzékeli. Ennek számos módozata van, a leggyakrabban alkalmazott megoldás az SSH

  • titkosított kapcsolatfelvétel: legismertebb formája az SSH. Ez biztosít egyrészről egy interaktív kapcsolatot (telnet kiváltása), másrészt állományok fel-, letöltésére lehetőséget (scp parancs). Bár burkolóként (wrapper) ftp felett is alkalmazható, tartalmaz egy biztonságos ftp: sftp parancsot is.

  • megosztott erőforrás igénybevétele: ez egy igen nagy témakör, felöleli a SaMBa alkalmazását, az sshfs és más fájlrendszerek használatát. Annyit érdemes róluk megjegyezni, hogy olyan technikai megoldásról van szó, ami korlátozott elérést biztosít olyan távoli gép megadott mappáihoz, amit a távoli gép rendszergazdája engedélyez

  • távoli rendszer meghajtójának (meghajtóinak) RAID-szerű bekötése: ez egy más alapokon nyugvó technika. A lényege az, hogy a nagy-sebességű hálózati kapcsolatok megjelenésével igényként merült fel távoli gép háttértárolóinak lokálisnak látszó elérése. A RAID beállításai, illetve egyes operációs rendszereken maga a rendszertechnikai program biztosítja az elérés lehetőségét, illetve korlátozását - például a kernel a kéréseket „lefordítja”" olyan formára, hogy a chmod számára is értelmezhető és végrehajtható legyen.

Környezet módosítása a fájlrendszer oldaláról

Keresési útvonalak módosítása

A programok végrehajtása során az operációs rendszer, vagy a parancsértelmező a végrehajtandó programokat adott rendszer szerint keresi meg. Ez a rendszer azt feltételezi, hogy a végrehajtandó programok elsődlegesen a PATH nevű környezeti változó által meghatározott helyen illetve helyeken vannak. A PATH változó mappák neveit tartalmazza, adott szeparátor karakterrel elválasztva.

A programra való hivatkozásnál, például héjprogram futtatása során -- ha nem írjuk ki pontosan a program teljes elérési útját a gyökérkönyvtártól kiindulva, vagy az aktuális könyvtárból relatív hivatkozással -- a rendszer a PATH rendszerváltozóban tárolt mappákat fésüli át a program után. Ha megtalálja, s van joga is hozzá elindítja.

Amennyiben a program nem található meg a PATH felsorolásban, úgy a rendszer nem tudja végrehajtani, hibaüzenetet ad.

Fájlok megosztása felhasználói- és csoportszinten

A fájlok rendelkeznek olyan jellemzőkkel (attribútumokkal), amelyek segítségével a tulajdonosuk megoszthatja másokkal a fájlokhoz való hozzáférést (írás, olvasás, végrehajtás). A megosztás vonatkozhat a tulajdonos felhasználóra (user), a tulajdonossal egy csoportba tartozókra (group), többiekre (others), illetve mindenkire (all).

A megosztási tulajdonságok beállítására elsődlegesen a chmod> parancs szolgál. Ennek egyik paramétere a megosztási szintet jelző érték -- ezt korszerűbb implementációkban karakteres szimbólumokkal is helyettesíthetjük --, valamint annak a megnevezése (akár reguláris kifejezéssel megadva, amire a beállítás vonatkozik.

Környezet módosítása erőforrás oldalról

Jogok szűrése

A hálózati jogokat két oldalról lehet értelmezni:

  • a kezdeményező (kliens) felől

  • a fogadó (szerver) oldaláról.

Mindkét esetben a helyi szokványok, előírások (például IBSz - Informatikai Biztonsági Szabályzat) határozzák meg a követendő eljárást.

Technikailag lehetőség van arra, hogy egyes protokolloknál a felhasználók eltérő jogokat kapjanak. Jellemző példa az ún. „anonymous ftp”, amely csak olvasási jogot biztosít az alkalmazónak, míg szerver oldalról írási jog adható nevesített felhasználónak.

Szokásos megoldás, hogy egy webhelyet az szerver lehetőségein belül is védenek, csak felhasználó/jelszó párossal lehet belépni. Hasonló megoldás az SMB protokoll alkalmazásánál is előfordul.

A példaként megjelölt protokollok közös jellemzője, hogy ezekhez nem kell a szerver oldali gépen felhasználói fiókkal rendelkezni, hanem különböző nyilvántartási állományok léteznek, amelyekben fel van sorolva a lehetséges felhasználók hozzáférési neve, a jelszó, egyes fejlettebb megoldásoknál (pl. a proFTP szerver hozzáférési konfigurációs állománya, vagy a Samba fiók és jelszó állománya) ezekben az állományok a hozzáférési jogosultság is megadható.

Meg kell még említeni a csoportok szerinti jogok beállítását. Számos esetben előfordulhat, hogy a felhasználók száma több 10, nagy rendszereknél több 10 is lehet. Ilyenkor egy felhasználói körre jellemző általános hozzáférést határoznak meg, majd az ugyanilyen jogokkal operáló felhasználók ennek a csoportnak a tagjává teszik. Egy felhasználó esetleg több csoport tagja is lehet, ennél a megoldásnál azonban ügyelni kell a jogosultság kezelőjének arra, hogy egymásnak ellentmondó jogosultságú csoportnak ugyanaz a felhasználó ne legyen tagja (pl. egyik csoportban adott könyvtárra írási jog van, a másikban nincs, akkor a belépés során az utóbbi felülírhatja az előzőt (általában a később definiált jogok lépnek életbe, de van olyan protokoll, amelyben mindig a szűkebb hozzáférés lép életbe).

A jelszó megválasztás fontossága

A bejelentkezés biztonsága alapvető fontosságú. A rendszerbe való bejelentkezést a felhasználói név és a hozzátartozó jelszó segítségével lehet megvalósítani.

A bejelentkezés egyben hitelesítés is, abból a szempontból, hogy biztosítania kell azt, hogy csak a megfelelő jogosítványokkal rendelkező személy tudjon bejutni a rendszerbe. A megbízhatóság mértéke az, hogy az illetéktelenek mekkora ráfordítással, milyen mennyiségű erőforrás segítségével tudnak a rendszerhez hozzáférést szerezni.

A felhasználó nevet ritkán változtatják meg, a jelszó az amelyet akár a felhasználó is meg tud változtatni. A jelszóban -- hogy elég nehéz legyen feltörni -- célszerű kis- és nagybetűket, számokat, valamint egyéb más nyomtatható karaktert is felhasználni.

Rendszer információk, hozzáférési jogok

A rendszer információk lekérdezésének jelentősége elsősorban a helyi gépen van. Esetenként azonban a távoli gépről, illetve szolgáltatásról is szükséges lehet adatokat megtudni, vagy információkat szerezni. Ezek az esetek döntő többségében a fejlesztési szakaszban elengedhetetlenek, de karbantartásnál, hibakeresésnél is felmerülhet szükségességük.

Rendszer információk, lekérdezése, módosítása

A rendszer információkat a távoli gépen csak akkor lehet lekérdezni, ha

  • rendelkezünk belépési lehetőséggel (account), akkor távoli terminálos üzemmódban beszerezhetjük a bennünket érdeklő adatokat,

  • a távoli gép üzemeltetője az adott szolgáltatás adatait és/vagy a rendszertechnikai adatok hozzáférhetőségét biztosítja; ilyen például egy WEB szerveren a phpinfo függvény, aminek kimenete számos lényeges információt ad a futó szolgáltatásokról (operációs rendszer, WEB szerver, adatbázis, php verzió és változói és így tovább.

Nem győzzük azonban hangsúlyozni, hogy ezeknek a lehetőségeknek a biztosítása mindig valamilyen biztonsági kockázatot jelentenek, ezért a lehetőség biztosításánál igen körültekintően kell eljárni!

Hozzáférési jogok lekérdezése, módosítása

Ahogy ez előző pontban tárgyalt témakörre, ezekre a kérdésekre fokozottabb mértékben igaz, hogy általában nem beszerezhető információkról van szó. A különbség alapvetően az, hogy a távoli gép rendszergazdájának - egy-két esetet kivéve - lehetősége sincs ebben a témakörben engedélyezni. Alapul kell venni a helyi gépen végzendő hasonló jogokat: lekérdezni csak azt lehet, amihez a jogosultságot a rendszergazda biztosította, például egy fájl tulajdonosát, csoporttagságát csak akkor ismerhetjük meg, ha ez a beállítás megfelelő.

Hálózaton, azaz távoli gép/szolgáltatás jogosultsági lekérdezésére ez fokozottabban igaz. Amennyiben lehetőségünk van az adat kinyerésére, akkor sem a feltételezett jogosultsággal tehetjük ezt meg, hanem csak a rendszergazda által biztosított korlátok között. Szokás és ajánlott gyakorlat, hogy a távoli bejelentkező csak olyan csoportnak tagja, aminek szűk a mozgástere.

A jogok módosítása még szigorúbb feltételekhez kötött. Interaktív bejelentkezésnél ugyanaz a lehetőség (illetve korlát) áll rendelkezésre, mint az előzőekben leírtak, míg például ftp-vel való kommunikáció esetén a kiadható parancsok köre eleve korlátozott (és természetesen a felhasználó jogaihoz kötött.



[1] leírva: 340 000 000 000 000 000 000 000 000 000 000 000 000

[2] Classles Inter-Domain Routing

8. fejezet - Fejlesztés

Fejlesztői környezet

Munkakönyvtárak

Fejlesztői környezetek megkönnyítik az általunk írt forrásprogramok futtatható programmá alakítását. Egyik ilyen programozók számára készült szövegszerkesztő a jed. A szerkesztő munkakönyvtárának a beállítása a mentéssel együtt történik. A fordítás, összeszerkesztés és a futtatás mindig a mentés helyén fog végrehajtódni.

Grafikus felületen jó választás lehet az Anjuta nevű fejlesztői környezet. A munkakönyvtár beállítását új projekt létrehozásakor az automatikusan elinduló varászlóban a "Projektbeállítások" ablakban tehetjük meg.

Szerkesztési feltételek

A fordítás és szerkesztés feltételeit jed szövegszerkesztő esetén a "System" menü "Compile" menüpont választásával állíthatjuk be, a fordítási parancs begépelésével, például a gcc -o main main.c formában. Makefile használata esetén ez lehet egy make parancs.

Az Anjuta a program fordításához és összeszerkesztéséhez automatikusan generál egy Makefilet. A Makefile szerkesztése a baloldali "Fájlok" ablakban a fájl nevére dupla kattintással lehetséges. A Makefile az Anjuta ablakában egy külön fülről elérhető lapon fog megjelenni. A szerkesztési beállítások után a fordítás és az összeszerkesztés az "Összeállítás" menüpont "Fordítás" menüpontjából indul.

Futtatási feltételek és változók

A jed programban külön ablakot nyithatunk a lefordított és összeszerkesztett program kipróbálásához. A "System" menü "Shell window" menüpontot választva, egy parancssort kapunk, ahol elindíthatjuk programunkat. Például a szabványos ./programom formában.

Az Anjuta fejlesztői környezetből a program indítása az "Összeállítás" menü "Program futtatása ..." menüpontból kezdeményezhető. Az előugró párbeszédablakban beállíthatjuk a program futtatandó program paramétereit, a "Paraméterek:" feliratú szövegdobozban.