Mi is az a Linux? Nagyon röviden: egy a POSIX szabványokat követő szabadon felhasználható Unix operációs rendszer, amelyet Linus Torvalds kezdett el fejleszteni előbb egyedül, gyakorlatilag a nulláról indulva 1991 végén, majd később egyre több hacker, szakember és egyetemista csatlakozott hozzá az Interneten keresztül. (http://mlf.linux.rulez.org/mlf/alapok.html) 1
És van filozófiája? Igen. Átvette a UNIX alapelveit, hozzátette a szabad szoftver erényeit, és egy újfajta szoftverfejlesztési módszert alkalmaz. 2
A gyökerek: A UNIX 1969-ben Ken Thomson es Dennis Ritchie készítette egy gazdátlan PDP-7 -es gépre. 1973-tól létezik a mai formában, amikor áttírták Ritchie által kifejlesztett C nyelvre. 1974-ben az első nyilvános publikáció szabad szoftver!? 1977-82 között az AT&T egységesítési probálkozások 1983-ban a System V, aktuális változata a Release 4, röviden SYSVR4 Az AT&T egyeduralmát elkerülendő, az IEEE égisze alatt létrehoztak egy szabványtervezetet Portable Operating System Interface (X) - POSIX néven. 3
A UNIX ereje többfelhasználós, több feladatos operációs rendszer erősen támogatja a hálózatokat a későbbi fejlesztők is megértették és betartják az eredeti szerzők filozófiáját 4
A UNIX filozófiája a UNIX fejlesztői maradéktalanul ragaszkodtak néhány egyszerű szabályhoz amit néha nehéz betartani, de hosszú távon mindenképpen megéri. minden file a programok be- es kimenete is file, ami így átirányítható a nagy programok helyett kis, áttekinthető és összekapcsolható segédeszközök a kis programokkal szembeni követelmények legyenek egyszerűek, de általánossan megfogalmazottak Ezekből következik, hogy a szabványos segédprogramok összekapcsolásával bonyolult feladatok is hatékonyan megoldhatók. 5
Szabad szoftver A free szó angol jelentései miatt félreérthető. A free itt nem ingyenest, hanem szabadot jelöl. Többnyire persze ingyenes is a Linux, de igazi lényege az a szabadság, amivel a felhasználó rendelkezik a forráskód hozzáférhetősége révén. Az így kapott elönyök: forrásnyelvű kód adta szabadság fejlesztés sebessége erőforrások, hajtóerők minőség - miböl él a programozó? 6
Fejlesztési stílusok Eric Steven Raymond alapján: Katedrális : emberek kis csoportja tervez és programoz ritka kibocsátások - többnyire legalább fél év a változatok között a csoport maga végzi a hibakeresés és eltávolítás, felhasználói tapasztalatok, igények visszacsatolása lassú 7
Bazár : Egy vagy néhány ember koordinálja a fejlesztést sokan végzik a programozást gyakori kibocsátások (fejlesztői változat), így gyors visszacsatolás népes a tesztelők tábor a tesztelők nagyrésze hibajavítást is végez 8
A Linux alkotóelemei Kernel : Az operációs rendszer magja. A Linux szó maga szabatosan csak a magot jelenti. Disztribuciók : Ahhoz, hogy használni tudjuk, sok-sok dolog kell meg a kernel mellé. Több cég, illetve társaság készit ilyen összeállításokat, ezeket hívjuk disztribúcióknak. A jelentősebbek: Debian GNU/Linux, SuSe Linux, Redhat Linux 9
A verziószámok Idegenek számára misztikusnak és bonyolultnak tűnhetnek. A leg fontosabb a mag (kernel) és a disztibúció: Kernel: formája mindig X.Y.Z alaku. Az X a fo verzió szám. Ha az Y páros (és 0), akkor stabil, ha páratlan, akkor fejlesztői változat. A Z sorszám, a fejlesztői változatnál gyorsan változhat. Jelenlegi aktuális változatok: 2.2.13 és 2.3.28. Disztribuciók: természetesen ennek is van verziószáma, de többnyire fedőneve is. Jelenleg például Debain/GNU Linuxból a 2.1 (slink), a stabil, és a 2.2 (potato) a fejelszés alatt álló. 10
Linux/UNIX filozófia oktatása Az eddig vázolt filozófiát a számítástechnikán túlmutató tanulságai miatt feltétlenül javasolt megismertetni a diákokkal, különösen a műszaki oktatásban. 11
Egy lehetséges tematika: Oktatási hét 1. UNIX kialakulása, felépítése, dokumentáció. Bejelentkezés, terminálok, levelezés. 2. Állományok, katalógusok. Hozzáférési jogok. 3. Mi hol van a UNIX-ban? Állományrendszer. 4. A parancsértelmező (shell), átirányitás, csővezeték 5. Szabványos segédprogramok (grep, find, file, test) 6. Shell programozás 7. Adatfeldolgozás, táblázat kezelés - az awk nyelv 8. awk gyakorlatok 9. Grafikon készítés - a gnuplot 10. gnuplot gyakorlatok 11. Szöveg formázás - a LATEX, LyX 12. LATEXgyakorlatok 13. Internet eszközöz - pine, rtin, ftp, irc, lynx, netscape 14. Programozási módszerek, segédeszközök 15. Számonkérés 12
A gépterem Jelenleg két Linux-os számítógép laborunk van. Oktató terem : volt CAD-es gépek, a munkállomások hardvere: : 8 db 5x86, 64M ram, 17 -os monitor, S3V+ videokártya, 320Mb hdd, 100Mbit-es ethernet hálózati kártya, floppy a munkaállomások szoftvere : boot EPROM a hálozati kártyákban, bootoláskor választási lehetőség: Linux - diskless, DOS - szerverről, vagy NT a helyi diszkről. Office nincs, NT-n csak CAD programok (AutoCAD,Pro E). szerver : pentium 166, 64M ram, 2 db hálozati kártya, 2x6.4G hdd szerver gép, bootp szerver, NFS, NIS, samba az NT-knek 13
(PDC), mars a dos-os klienseknek. egyéb IP Masquerad, órai és névre szoló account-ok külön Gépterem : régi gépek gyűjtőhelye a munkaállomások hardvere : 12 db 386+387, trident 8800-256k videokártya, 14 -os vga monitorok, smc ultra+eprom, floppy, hdd nincs. a munkaállomások szoftvere : boot EPROM-os hálózati kártyák, bootoláskor választási lehetőség: A Linux - diskless, DOS - szerverről. A Linux-os alkalmazások a szerveren futnak. szerver : Pentium 133 128M ram, 2+2G hdd, bootp szerver, NFS szerver, alkalmazas szerver, mars a dos-os klienseknek. egyéb IP Masquerad, órai és névre szoló account-ok külön 14
Tapasztalatok a heti 2 óra nem elegendő, a diákoknak gépet kell biztosítani órán kívül is a gyenge hardver ellenére a rendszer üzemeltethető minden diák felismeri, hogy van alternatíva a szoftvergyártók által diktált hardver-szoftver fejlesztési spirálból nagy terjedelmű műszaki irományok (például gépészmérnöki diploma) kevesebb munkával, megbízhatóbban, gyorsabban és szebben elkészíthető, mint az elterjed irodai programcsomagokkal. kulcsfontosságú a megfelelő példák és önállóan elkészítendő feladatok megfelelő kivalasztása, összeállítása 15
Aki nem érti meg a UNIX filozófiáját, az ugyan úgy akarja hasznáni a Linuxot, mint a UNIX-tól távol álló rendszereket, így nem fogja tudni kihasználni a Linux előnyeit, de tapasztalja a hátrányait. 16