Debian desktop kialakítása

Tartalomjegyzék

Előszó

Jó pár debiannal foglalkozó dokumentáció létezik (pld.: http://qref.sf.net/, ami kötelező olvasmány), a célom a telepítés teljes bemutatása egy "kulcsrakész" desktop környezet kialakításáig. Természetesen ez csak egy ember útja, de biztosíthatlak, hogy a végén egy nagyon jó rendszert fogsz kapni, aminek a saját ízlésedhez igazítása a közben szerzett ismeretek alapján már könnyen fog menni. Leginkább olyanoknak készül a dokumentum, akik nemhogy debiant, de általában semmilyen linux rendszert nem használtak még, ezért igyekszem mindent részletesen bemutatni (lásd: "kitérők") és megismertetni minden kis trükköt (pld.: auto-apt). Az elején még elég sok elmélet lesz, ha akarod ezeket ugord át, de egyszer mindenképp olvasd el.
(A dokumentum eredeti változatát fellow (http://fellow.linuxforum.hu/) követte el.)

Fontos!
Ha ez az első debian telepítésed (vagy az első ezen írás alapján) akkor nagyon ajánlott először vmilyen virtuális gépen ([virtual machine]) legalább egyszer a 2. pontig végigpróbálni, hogy ne érjen később kellemetlen meglepetés. Továbbá nagyon ajánlott egy biztonsági grub floppyt ('grub-install /dev/fd0') és egy rescue cdt (megfelel a debian telepítő cd, de ajánlott pld. a http://freshmeat.net/projects/recoveryispossible/ ) kéznél tartani, mert egy bootképtelen rendszer elég kellemetlen tud lenni.

jelölések:
kitérő (téma): röviden és velősen egy-két elméleti témáról szólnak;
FIXME: nem ismerem / nem használom, ha van infód írd meg;

mire lesz szükséged? (részletek később)

  1. telepítő cd (debian-30r2-i386-binary-1_NONUS.iso)
  2. szabad hely a merevlemezen (min 500 mega, de egy igazi rendszerhez kb 2gb kell)
  3. cirka 3-4 óra
  4. jó net kapcsolat (dsl)

Bevezetés

kezdjük egy kevés elmélettel:

kitértő (a "Debian GNU/Linux" feloldása): debian a disztribúció neve, a szó a project elindítójának (Ian Murdock) és (leendő) feleségének (Debra) nevének kombinációjából született; a debian project célja egy teljesen szabad és szabadon felhasználható / terjeszthető disztribúció létrehozása (lásd: dfsg);
a GNU projectet Richard M. Stallman (RMS) indította el durván 20 évvel ezelőtt (eredti bejelentés (http://groups.google.com/groups?hl=en&selm=771%40mit-eddie.UUCP)), célja egy teljes értékű és teljesen szabad free software operációs rendszer létrehozása; a kernel (hurd) a mai napig nem alkalmas a végfelhasználásra, de a köré épülő programcsoport (gnu software (http://en.wikipedia.org/wiki/GNU#GNU_software), pld.: gcc, glibc, toolchain, ...) képezi minden disztribúció alapját; a debian disztribúció minden tekintetben megfelel a GPLnek, ezért szerepelhet a nevében a GNU kifejezés;
végül a linux arra utal, hogy a debian ezen portja a linux kernelt használja; ezt azért kell kiemelni mert létezik hurd, *bsd kernelt használó debian is debian nonlinux (http://www.debian.org/ports/index.hu.html#nonlinux); elméletileg teljesen ugyanazt a környezetet nyújtják (majd egyszer), csak a kernel más;
(megj.: sokkal részletesebben tárgyalja a debian alapjait a "debian-history" csomag (/usr/share/doc/debian-history/en/index.html), valamint a "doc-debian" (/usr/share/doc/debian/FAQ/index.html))

kitérő (debian +/-): legnagyobb erősségei a nagyon jó csomagkezelő rendszer és a disztribúciók közt kiemelkedő mennyiségű hivatalos csomag (stable ~8000, unstable ~14000) érhető el hozzá (http://www.debian.org/distrib/packages ); mivel non-profit alapon működik, ezért bárki beléphet a fejlesztők közé (persze bizonyos kritériumoknak teljesülnie kell), nyitott fejlesztési modell jellemzi (pld.: http://packages.qa.debian.org/ ) és nem mehet "csődbe" (fejlesztői információk: http://www.debian.org/devel/ ); a dfsg miatt gyakorlatilag jogilag korlátlanul lehet felhasználni és terjeszteni; nem utolsó sorban szinte minden lényeges architektúrára portolták és szinte mindenre képes önmagában, amire mások külön disztribúciót készítenek; ne vesd el ezeket az érveket! a telepítő kivitelezése vagy a csomagok frissessége elsőre sokkal lényegesebbnek tűnhet, de hosszabb idő után derül csak ki, hogy egy-egy feladat elvégzését mennyiben képes segíteni a disztró, mennyire kézreálló a működése;
hátárnyai részben az előnyeiből származnak: a hatalmas csomagmennyiség, a tucatnyi támogatott architektúra és a non-profit alap rengeteg hiba _lehetőséghez_ vezet, ugyanakkor a hibák keresése és javítása az elsődleges feladatok közé tartozik és külön csoport foglalkozik ezzel (http://www.debian.org/security/ ); rengeteg fejlesztő van, akik nem főállásban végzik a munkájukat, ezért előfordulhat, hogy egy csomaghoz nem jelenik meg egy ideig (esetleg fontos) frissítés (ennek kiküszöbölésére született meg a nmu, erről az 'apt-listchanges'nél lesz szó) vagy roszabb esetben "elárvul (http://www.debian.org/devel/wnpp/orphaned)"); a dfsg miatt néhány programból sohasem lesz hivatalos csomag; valójában az egyszeri felhasználó számára ezek a problémák eltörpülnek az előnyökkel szemben, de nem tagadhatjuk le őket;

kitérő (mennyire "felhasználóbarát" a debian?): a debian nem "felhasználóbarát";
meg kell különböztetni a server és a desktop disztribúciót. Az előbbi célja a lehető legnagyobb stabilitás és kompatibilitás, valamint, hogy az elérhető legnagyobb szabadságot biztosítsa a felhasználónak, de cserébe alaposan ismerni kell a működését. Az utóbbi lehetőleg legtöbb dolgot megcsinál a felhasználó helyett, még ha ezzel lecsökkenti a beavatkozás lehetőségét is;

kitérő (a "debian-30r2-i386-binary-1_NONUS.iso" feloldása): "debian" ugyebár a disztró neve; "30" 3.0 verzió, a legutolsó stable kiadás; "r2" azaz 2. release azaz a fő változat, második - biztonsági hibákat és bugokat javító - kiadás; "i386" mert erre a processzora lett lefordítva; "binary" csak adott architektúrára lefordított csomagokat tartalmaz, nyers forráskódot nem (de -dev csomagokat igen); "1" a teljes woody kiadás 7 cdből áll, ez az első cd, ami a telepítőt és az alaprendszert tartalmazza (kernel, alaprendszer, X, stb.), a többi cd tartalma utólag könnyen elérhető neten keresztül, és nem lesz szükséged mindre; "NONUS" az amerikai egyesült államok törvényei tiltják a túl erős biztonsági eljárásokat alkalmazó programok exportját, ezt kikerülendő a csomagok egy része nem érhető el az itt elhelyezett szerverekről;

kitérő (miért csak 386ra lett optimalizálva?): jelenleg több mint 14 ezer csomag létezik 3 fő ágra (http://www.debian.org/distrib/packages ) és több mint egy tucat platformra ( http://www.debian.org/ports/ ) készülnek csomagok; minden új elem bevezetése rengeteg plusz fordítási időt és szabad helyet igényelne; 386, mert a lehető legjobb kompatibilitás a cél;

kitérő (miért pont ezt?): rengeteg megoldás létezik a debian telepítésére (http://linuxmafia.com/faq/Debian/installers.html ), de egyedül ez hivatalosan támogatott; vannak más telepítő programot használók, de az eredeti egyáltalán nem bonyolult; vannak kisebb netinstall megoldások, de ha több száz mega csomagot letöltenél, annyi erővel egy teljes isot is letölthetsz; ezek gyenge érvek? imho semmit sem nyersz, ha más telepítőt használsz, ez egy tipikusan olyan dolog, amit saját kárán tanul meg az ember;

kitérő (debian nickek): a stabil kiadásokat a toy story (http://en.wikipedia.org/wiki/Toy_Story) különböző szereplőiről kapják nevüket, erről a linkeknél kapsz bővebb információt;

kitérő (debian ágak):
csomagok állapota szerint:
incoming = auditálásig ide kerülnek a csomagok; csak erre jogosult ember emelhet át innen csomagot a hivatalos debian csomagok közé ( http://incoming.debian.org/ )
experimental = tényleg nem végfelhasználóknak szánt csomagok, belső tesztelésre ( ftp://ftp.debian.org/debian/dists/experimental/ )
unstable* = végfelhasználóknak szánt, de még csak kevéssé tesztelt csomagok ( ftp://ftp.debian.org/debian/dists/unstable/ )
testing proposed updates = ezek a csomagok fognak hamarosan bekerülni a testing ágba ( ftp://ftp.debian.org/debian/dists/testing-proposed-updates/ )
testing* = ha az unstableban komoly hiba nélkül eltölt egy időt egy csomag, akkor töltik át ide; problémája a dependency hell ( ftp://ftp.debian.org/debian/dists/testing/ ) és a hiányos biztonsági támogatás
frozen = a stable kiadása után 1-2 évvel lezárják a testinget az új csomagverziók elől és csak hiba / biztonsági javítások kerülhetnek bele ( ftp://ftp.debian.org/debian/dists/frozen/ )
stable proposed updates = a következő stable releaseben ezek a csomagfrissítések fognak belekerülni ( ftp://ftp.debian.org/debian/dists/stable-proposed-updates/ )
stable* = ha a frozenben a bugok száma elérte a kritikusan alacsony szintet ( http://bugs.debian.org/release-critical/ ), akkor a csomagokat átemelik ide és hivatalos kiadássá válik; csak ehhez van security.debian.org támogatás (http://www.debian.org/security/faq.hu.html#testing ); hátránya, hogy kiadásakor is min 1 éves verziókat tartalmaz, és új program ill. újabb verzió nem kerül bele, csak hibajavítások ( ftp://ftp.debian.org/debian/dists/stable/ )
(a csillaggal jelöltek valódi, önmagukban használható ágak; a többi az alatta lévő csillagosra támaszkodik)
(dependency hell = egy csomag úgy kerül feltöltésre, hogy nincs minden függősége teljesítve; magyarul nem telepíthető; http://ftp-master.debian.org/testing/update_excuses.html )
(a stable jelenlegi nicke woody, a testingé sarge lesz, az unstablet sidnek (still in development ill. hasonló nevü toy story szereplő) is nevezik)
az hogy stablet, testinget vagy unstablet fogsz használni, megszokás kérdése; imho egy jó netkapcsolattal érdemes a unstablet favorizálni;

dfsgnek megfelelés szerint:
main = teljes mértékben megfelel a dfsgnek;
contrib = olyan csomagtól függ, ami non-free;
non-free = nem felel meg a dfsgnek, de terjeszthető;
non-US = ezekben a csomagokban alkalmazott titkosítási eljárást tilos exportálni az usából, ezért más országokban elhelyezkedő szervereken vannak; (megj.: ez a csoport folyamatosan kerül át a "main"ba)

ez elsőre kicsit sokk lehet, ezért röviden és egyszerűen: http://www.debian.org/distrib/packages/

kitérő (hol kapok segítséget?):
hírlevél:
http://www.debian.org/News/weekly/ - debian weekly news
levlista:
http://lists.linux.hu/mailman/listinfo/debian - magyar debian felhasználók
http://lists.debian.org/debian-l10n-hungarian/ - debian magyarítása
fórum:
http://www.hup.hu/modules.php?name=Forums&file=viewforum&f=12
http://www.linuxforum.hu/ipbmb/index.php?showforum=7
irc:
irc.freenode.net #debian.hu
(megj.: a félreertések elketülése végett nem árt ezt átolvasni: http://esr.fsf.hu/smart-questions_hu.html )

Fontos!
messziről kerüld el a nem hivatalos csomagokat, binárisokat, forrásokat, mert bizonytalan a támogatásuk (hiba- és biztonsági javítás, új verziók) valamint bizonytalan, hogy a név fedi-e a tartalmat (magyarul a kártékony tartalom gépbe juttatásának egyik leggyszerűbb eszköze); kivétel ez alól az adott program készítőjének hivatalos csomaglistája (pld.: kde);

Telepítés

töltsd le vmelyik tükörszerverről (http://www.debian.org/CD/http-ftp/index.en-gb.html#stable ) a debian-30r2-i386-binary-1_NONUS.iso állományt, égesd ki és bootlod be;

amennyiben a gép képtelen cdről bootolni, boot floppykat kell készíteni:
1. a cd '/install' könyvtárából a 'rescue.bin' (telepítés és karbantartás) és a 'root.bin' állományokat egy-az-egyben ki kell írni lemezre (linux alatt erre jó a 'dd', dos/win környezetben a 'rawrite');
2. természtesen a gép előszőr floppy driveról próbáljon bootolni;
3. boot a 'rescue.bin' lemezről, a promptnál enter (a "default linux" opciót inditja, tehát a telepítést), majd a 'root.bin' lemez jön, végül a cd;
megj.: ez a módszer teljesen egyenértékű a cdről bootolással, apró különbségekkel: nem lehet 2.4 és egyéb spec. telepítést választani (ilyenkor a 'root.bin'helyett a 'bf24.bin', stb. imaget kell használni a 'rescue.bin' utánn), nem lehet telepítési nyelvet választani és a billentyűzetválasztó képernyő egy kicsit máshogy néz ki;

rengeteg dologról (pld. telepítés hálózatról) nem fogok írni, mert a cél, hogy a lehető leggyorsabban és legegyszerűbben kapjunk egy minimális futó rendszert, amit már egyszerű alakítgatni;

még egyszer kiemelném, hogy ha eddig még nem telepítettél debiant, akkor először vmilyen virtuális gépen (virtual machine) próbáld végig a folyamatot, a kellemetlen meglepetések elkerülése végett;

betöltés után kapunk egy "boot:" promptot; érdemes elolvasni az f1-f10 elérhető információkat, különösen fontos az f5 és f6 átnézése, mert ha az ezeken az oldalakon szereplő hardwarerel rendelkezel, akkor módosítani kell a boot paraméterezését a megfelelő működés érdekében;
feltételezve, hogy minden rendben van, a következő paranccsal indítsuk a telepítőt: 'bf24 video=vga16:off'
a "bf24" az alapértelmezett 2.2 kernel helyett a 2.4-est fogja betölteni, mivel a telepítés során így hozzáférhetőek lesznek a naplózó állományrendszerek; a "video=vga16:off" kikapcsolja a framebuffert, amely lehetővé tenné a grafikus megjelenítést az X használata nélkül (ez adott esetben hasznos, de egy karakteres telepítőnél fölösleges); megj. abs kezdőknek: pillanatnyilag a billentyűzeten az angol kiosztás az aktív, ezért a "=" az ó helyén van, a ":" pedig a shift+é segítségével érhető el;

ezután a kernel kicsomagolódik és elindul, fellövi magát, a hardwaret, elindulnak az init scriptek és végül telepítőprogram;

kitérő (a telepítő karakteres): a debian hivatalos telepítője jelenleg karakteres felületet használ, egyrészt azért, mert az írói fontosabbnak tartják a lehető legvisszafogottabb hardware igényt, mint a látványos megoldásokat, másrészt, mert minden plusz funkció potenciális hibalehetőségeket rejt magában;

kitérő (a telepítő és a magyar nyelv): a telepítő jelenlegi változata csak félig-meddig lett magyarra fordítva, a következő generációs telepítőnél már nem lesz ilyen probléma;

tehát elindult a telepítő, az első lap a "Release Notes": egy kis általános infó a debianról, enter;

pár szó a telepítő kezeléséről: a fel/le nyilakkal lehet mozogni az elemek közt, a látszat ellenére lent/fent folytatódhat a lista (magyarul nincs scrollbar), enter kiválaszt/végrehajt; egyébként a lent felsorolt telepítési lépéseket nem kell külön macerálni, minden sorra fog kerülni a maga idején;

Nagyon fontos!
míg vannak olyan telepítők, amelyek a konkrét változtatásokat csak a teljes folyamat összeállítása után kezdik végrehajtani, ez a telepítő _azonnal_ és visszavonhatatlanul végrehajtja, ha vmire utasítják (pld.: partíciós tábla kiírása)

"Configure the Keyboard": az alap billentyűzet-kiosztás betöltése, amit a telepítő fog használni és később a futó rendszer (ezért felel a 'console-data' csomag; boot idejére szól a 'console-common'); a "qwertz/hu" az alap 102/105 gombos magyar billentyűzet, a 101 gombos magyar a "qwerty/hu", ami itt nem szerepel, de utólag berakható;

"Partiton a Hard Disk": most kezdődnek az izgalmak:
ki kell választani a megfelelő csatolási pontot, ahol az áldozatnak szánt merevlemez van: hdx = ide merevlemez (Hard Disk), az "a" a primary master, "b" primary slave, stb.; sdx = scsi merevlemez (Scsi Disk) jelöli;

lehetőségek a partíciónálásnál:
1. van egy üres merevlemez; erről fogok lentebb írni;
2.a. nem üres, de törlünk pár partíciót; cfdiskkel töröljük őket;
2.b. nem akarunk partíciónálni, de van egy partíció a debian számára; a cfdisken belül az adott partíció "Type"ja 82 legyen és ugorj a "Initialize a Linux Particion" részhez;

"LILO Limitations": a lilo csak akkor működik helyesen, ha a bios támogatja az 1023 cylinder feletti címzést; ez a '98 előtt gyártott alaplapoknál lehet probléma, a biosban ellenőrizni lehet, hogy támogatja-e az LBA / Large módot (utóbbi csak ~8gb-ig oké, részletek: http://www.win.tue.nl/~aeb/linux/Large-Disk-4.html ); ezt ki lehet kerülni, ha a merevlemez elejére teszel egy kicsi (5-10 mega) partíciót a boot loader és a /boot könyvtár számára;
imho ha ismeri a bios az lba / large módot, akkor ezzel nem kell foglalkozni; "Continue"
"Note on additional space for the ReiserFS Journal": a reiserfs állományrendszer belső naplója 32 megát foglal el, ezt vedd számításba a particionálásnál, ha ezt az állományrendszert választod; "Continue"
ha egy teljesen tiszta merevlemezre telepítünk (semmilyen partíciós tábla nincs rajta, pld. mert frissen vettük) megkérdezi, hogy elkészítsen-e egy teljesen üres táblát ("Do you wish to start with a zero table [y/N]?", mert különben nem tud mit particionálni az fdisk; igen a válasz;

kitérő (partíciók): hasznos lehet, ha két partíciót csinálsz: az egyik tartalmazza a rendszert, ennek mérete min 500mega, de 4-5gigánál csak akkor kell több, ha pld. sok forrást tartasz kéznél; a maradék szabad helyen az adatokat tartalmazó partíció legyen (backup, iso, források, 73lab, stb.); ha vmi katasztrófa történne a rendszerrel, akkor sem vesz el minden dolgod;

a "cfdisk" kezelőfelülete jön elő; ne hagyd, hogy elsőre elbátorítson, nagyon egyszerű és hasznos program;
üres 4gb merevlemeznél alkalmazandó lépéseket írom le: "New" (új partíció); "Primary" (elsődleges partíció, illik így csinálni, bár linuxnak teljesen mindegy); meg kell adni a méretét, esetünkben (2*1024=)2048 (2 gigát akarunk, neki megabyte az alapegység, váltószám ugyebár 1024); "Beginning" (a szabad hely elejére rakja); kész az első partíció, nyomjunk rá még egy "Bootable"t (ez csak egy jelzés, de ártani nem árthat); az "FS Type" értéke "Linux", ez oké, csak egy azonosító kód ("Type" alatt megnézhető), a konkrét állományrendszer késöbb jön; második partíció: álljunk a kijelölő sávval az "Free" részre, "New", "Logical", méret oké (ugyebár ez lesz az adatok számára); a "Name" oszlopban érdemes megjegyezni a nevüket, pld. nálam: hda1 = első ide merevlemez első partíciója, hda5 = első ide merevlemez második partíciója;
ha minden oké: "Write", figyelmeztet, hogy épp most semmisítjük meg a merevlemezünk eddigi tartalmát; rendben, ezt akarjuk;
"Quit"

kitérő (swap): a swap kétféleképp oldható meg linux alatt: swap-partition és swap-file; előbbi egy egész partíciót fenntart (tehát fix méretű), utóbbi egy állományt; természetesen nemcsak egy swap terület használható, hanem több is összefűzhető; imho most ne foglalkozz ezzel (a telepítő meglesz nélküle), hanem telepítés után hozz létre egy swap állományt, erről majd akkor írok; elég memória esetén megoldható a swap nélküli élet, de ártani nem árt meg;
DE ha 32 vagy kevesebb ram van a gépben, akkor mindenképp kell egy swap partíció, különben a csomagok telepítésekor szétfagy;

a következő üzenet a swap partíció hiányára figyelmeztet, válasszuk a "Do Without a Swap Partition"t; még egyszer figyelmeztet, "Yes";

mivel a partíciók jelenleg teljesen üresek, nem árt állományrendszert tenni rá: "Initialize a Linux Particion": mivel 2.4 kernelben bootultunk, ezért itt több lehetőség is van: Ext2 (az eredeti linuxos séma, bővíthető tudással), Ext3 (az előző naplózással kiegészítve), ReiserFS (modernebb, naplóz és jobb teljesítményt nyújt, főleg sok kis méretű állomány esetén); válasszuk ki azt, amit rootfsként (elsődleges partíció, ahol a rendszer lesz) használni akarunk;
(megj.: a "reiserfs" hibája, hogy az "Ext2"nél sokkal érzékenyebb a hardware minőségére; egy hibás memória, túlhúzott proci, régi ide kábel könnyen okozhat indokolatlan állományrendszerbeli hibákat; ez általában nem probléma, de ha a syslogban indítványozza az 'fsck' használatát, akkor érdemes lefuttatni a memtest (http://www.memtest.org/)et, stb.;)
imho nyugodtan válaszd a reiserfst mindkét partícióra, megbízható és jobb mint az Ext2; megkérdezi melyik partícióra tegye, válaszd ki; "Scan for Bad Blocks" (ellenőrizze, a partícióhoz tartozó minden merevlemez blokkot, hogy nem hibásak-e), "Yes"; "Are You Sure?" (meg fog semmisülni a partíció teljes előző tartalma), "Yes"; lefut a badblocks teszt, majd elkészül az állományrendszer; "Mount as the Root Filesystem?" (ezt a partíciót fogjuk rootfs-ként használni, ezt csatolja automatikusan a kernel a hardware fellövése után, innen történik az initializáció, stb.), "Yes";
amennyiben az általam javasolt két partíciós rendszert játsszuk meg, mielőtt továbbmennénk készítsük fel a másik partíciót is: válasszuk a lenti listából az "Alternate: Initialize a Linux Particion" pontot, majd állományrendszer és inicializálni kívánt partíció, stb.; mivel rootfs már van, telepítő érdeklődik, hogy a másik partíciót milyen célra akarjuk használni; ennek oka, hogy elkülönítve nagyobb biztonság és/vagy teljesítmény érhető el (ez igazán szervereken számít): /boot (a boothoz szükséges állományok különválasztása, erről fentebb már volt szó), /usr (az minimális alaprendszert kiegészítő programok ide települnek, pld. ezt különválasztva lehet read-only root partíciót csinálni, vmennyire biztonságosabb), /var (adatbázis, levelező szerverek esetén egy külön, gyorsabb partícióra helyezve növelhető a teljesítmény), /home (a felhasználók biztonságban legyenek egymástól és tőlünk), Other (egyéb cél); mivel én a mount pontokat az lapfelállástól eltérően rendezem (erről majd késöbb), ezért Othert és a mount pont: pld. '/mnt/adat' legyen;

"Install Kernel and Driver Modules": van partíciónk már, most már egy kernel is kéne, ami élteti majd a rendszert; igen:
"Found a Debian CD-ROM" mivel csak a telepítőcdről fogunk telepíteni, ezért hagyjuk jóvá, hogy a továbbiakban ezt használja a telepítés lebonyolításához; "No" esetén válogathatunk hálózat, mountolt állományrendszer, stb. közül; FIXME
feltelepít egy minimális kernelt, majd választhatunk: "Configure Device Driver Modules" (további modulok telepítés), "Configure PCMCIA Support" (FIXME), "Install Foreign Modules" (külső médiumról modulok telepítése; FIXME)
válasszuk az elsőt, imho most csak azokat a modulokat piszkáljuk amikről tudjuk, hogy nélkülük nem települ rendesen a rendszer; a modulokkal késöbb is lehet foglalkozni és fogunk is;
lépjünk tovább: "Configure the Network": hostname beállítása, legyen vmi egyedi; "Automatic Network Configuration" (dhcp) egy telepített rendszeren ez sokkal egyszerűbb, ezért erre a kérdésre "No", a többit okézzuk le;
"Install the Base System" megkérdezi, hogy honnan szedje a csomagokat az alaprendszer telepítéséhez, továbbra is "cdrom";
most telepít egy minimális alaprendszert, ami elég a rendszer bebootolásához;
"Make System Bootable" ezt hagyjuk ki, mivel grubot akarunk és nem lilot, tehát "Reboot the System";

a rendszer bebootolása a telepítőcdről: a "boot:" sorba: 'rescbf24 root=/dev/hda1 video=vga16:off vga=ext'
tehát karbantartó bootolása 2.4 kernellel az hda1 partíción lévő root rendszernek framebuffer nélkül; "vga=ext" 80x50be kapcsol, hogy lássunk is vmit;

"Debian System Configuration"; most be kéne állítani az alapokat:
"Time Zone Configuration", ha más operációs rendszert is akarunk használni a gépen, akkor "No" azaz a lokális időre állított órát használjuk; ki kell választani a lehető legjobb pontossággal, hol van a gép;
"Password setup": az md5 jelszók biztonságosabbak, "Yes"; a shadow password segítségével nem közvetlenül kezeli a rendszer a jelszavakat, ezzel biztonságosabb, "Yes"; root jelszó, lehetőleg ne legyen egyszerű (a rendszer telepítése után a pwgen csomag használható, mint jelszógenerátor); létre kell hozni egy alap felhasználót, mivel nem egészséges mindig rootként használni a rendszert;
"Shall I remove the pcmcia packages?" ha nincs pcmcia a gépen: "Yes";
akarunk-e pppn keresztül telepíteni? inkább ne, most menjen fel az alaprendszer cdről, a többi még ráér;
"Apt Configuration": a csomagkezelés alapbeállítása: "Scan another CD?" ha több cdt is leszedtünk, akkor pakoljuk be azokat is; ha hálóról / másik merevlemezről / stb. akarunk telepíteni állítsuk be; "Add another apt source?" nem, majd késöbb; "Use security updates from security.debian.org?" erről késöbb a csomagkezelésnél lesz szó. most "No", mivel net kéne hozzá;

(a következő lépés lenne a rendszer kibővítése további csomagokkal, de a 'tasksel'nek problémája, hogy rengeteg felesleges csomagot telepít fel, ami egy átlag gépen csak a helyet foglalná; a 'dselect' kezelése meg elsőre nem egyértelmű; ezeket szintén elintézzük késöbb; továbbá van egy kis bug, mert ha nem indítjuk el a 'tasksel't, akkor a telepítő elfelejti feltelepíteni az alap csomagokat;)
"Run tasksel?" igen, de ne válasszunk ki semmit, "Finish"; "Run dselect?" nem;
most feltelepülnek az alapcsomagok ...

... és feltesznek néhány kérdést:
"Configuring Binutils": frissebb 'binutils' már nem kompatibilis a régi kernelekkel; rendben;
"Configuring Less": akarjuk, hogy a 'less' kezeljen minden olyan állományformátumot, amihez nem rendeltünk hozzá programot? nem;
"Configuring Locales" kell en_US, hu_HU; alaprendszer hu_HU legyen;
"Configuring Nfs-common" network file system, leszedjük úgyis;
"Configuring Ssh": igen, csak az új protokollt akarjuk; és suid oké, a megfelelő működéshez; de sshd szerver nem kell, mert nem szervert futtatunk;

telepítés közben még pár kérdés:
ibritish: melyik legyen az alapszótár? egyenlőre 1, majd felteszünk magyart;
letöröljük a letöltött csomagokat? igen, úgyis sidre váltunk;
exim beállítása ("I can do some automatic (...)"): mivel egy desktop rendszert rakunk össze nincs szükség ilyen fejlett levelezőre; 5 azaz nem állítjuk be; (majd késöbb 'ssmtp'vel kiváltjuk);

gratulálok van egy alap debian woody rendszered (200 mega, ha mindent úgy csináltál, ahogy írtam), ami még nem sok mindenre jól, de működik;
(megj.: még nincs fenn boot loader, ezért a 2.b pontban ismertetett grub telepítésig a telepítő cdről kell bootolni a rendszert)

Alaprendszer kialakítása

Alapvető lépések

nagyon röviden az alapokról:

rögtön elénk tárol egy karakteres felület (CLI), ez a mai grafikus világban (GUI) szokatlannak (esetleg elavultnak) tűnik, de nagyon hatékony és sok mindent csak így lehet elintézni, ezért jobb gyorsan megszokni; (késöbb x alatt terminál emulátorok segítségével lehet tovább kavarni)

legfontosabb alapparancsok:
ls = könyvátrak listázása; ls -l = minden infó, ls -R = rekurzív;
cd = lépés könyvtárak közt; cd - = előző könyvtár, cd ~ = user home könyvtára;
cp = másolás;
mv = mozgatás;
rm = törlés; rm -r = rekurzív törlés (pld. könyvtár);
less = szöveges álloány megnézése; zless = gzippel tömörített szöveg közvetlen megnézése; bzless = ua, de bzip2;
cat = egy szöveg stdoutra küldése; zcat = gzippel tömörített szöveg kezelése; bzcat = ua, de bzip2;
find = keresés; find ./ -name *allomany* = allomany megkeresése;
ln -s vmirol vmire = vmirol vmire mutato symlink készítése;
file foo = a foo állománytípusának meghatározása; stat foo = minden elérhető információ a fooról;
su = váltás a felhasználók közt; passwd = jelszó megváltoztatása;
halt = rendszer leállítása; reboot = újraindítás;
további infók az adott 'man' oldalon (pld.: 'man ls');

pár speciális karakter:
? = joker, egy karakter helyett; * = jokaer, több karakter helyett; & = egy program a háttérben fusson (pld.: 'updatedb &'); && vagy ; = több parancsot elválasztva egymás után futnak (pld.: 'ls; sleep 2'); | = az első parancs kimenető karaktereit a második parancs bemenő karakterként használja (pld.: 'cat lista | wc'); > = az első program kimenő karaktereinek átirányítása; < = ua fordítva;

kitérő (bash kiegészítés és programozható kiegészítés): a bash alatt végzett feladatok jelentősen megkönnyíti, hogy a bash shell képes kiegészíteni a kiadandó parancsokat, ha megfelelő mennyiségű információ áll rendelkezésére; pld az "mk.:di" begépelése után egy tabot nyomva kiegészíti "mkdir"ig (jelölése: "mkdi[TAB]"), de ha most kétszer tabot nyomunk, akkor kiad minden lehetséges variációt ("mkdir mkdirhier"); a bash programmable completion még többre képes, pld. dpkg és apt esetén kiegészítheti a csomag nevét; ennek bekapcsolásáról majd késöbb;

további infók: http://www.lme.hu/meh/pingvinfuzetek.html (pingvin füzetek), http://debian.inf.elte.hu/linux_doksi/dolgozat.htm (kicsit elavult, de rendkívül alapos), http://tldp.org/LDP/abs/html/ (bash programozás)

kitérő (könyvtár-struktúra): ha még nem találkoztál unix szerű rendszerrel, akkor egy 'ls /' eredménye különös lehet; röviden a '/bin', '/lib' és '/sbin' alatt vannak az alapvető binárisok és libraryk, az '/usr' alatt a rendszer működéséhez nem elengedhetetlen dolgok, az '/usr/local'ban a csak erre a gépre jellemző állományok (ez hálózatban gondolkodva érthetőbb), az '/usr/share' a felhasználók közt megosztható állományok (doksik, ikonok, stb.), az '/usr/include' a programfordításhoz szükséges állományok (headerek nagy részt), '/boot' rendszerindításhoz nélkülözhetetlen dolgok, '/dev' unix specialitás, a hardwaret (nagyrészt) ezen keresztül éri el a rendszer (lásd pld.: 'mount'), '/proc' információk a futó gépről és rendszerről, '/etc' rendszerszintű beállítások, '/home' felhasználók könyvtárai, '/root' root könyvtára; ezek a nagyon alapvető könyvtárak, további infók: http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard és http://www.pathname.com/fhs/

két fő editor érhető el alapból:
nano = nedit, pine, stb. klón, ennek használata egyértelmű lesz;
nvi = az eredeti vi hű mása; ez egy több évtizedes múltra visszatekintő, rendkívül hatékony editor, amely a ma elterjedt programoktól teljesen eltérő működése miatt könnyen elijeszti a kezdőket; ne tévesszen meg a látszat, ha megtanulod kezelni (gyorstalpaló (http://www.silverwraith.com/papers/vi-quickref.txt)) azon fogsz csodálkozni, hogy eddig miért nem ezt használtad; késöbb érdemes felrakni a nagyobb tudású vim változatot, aminek 'vimtutor'ja mindenre megtanít; (az emacs nem része az alap telepítésnek, de szintén egy bejáratott, fantasztikus editor)

ki- és betömörítés röviden:
kitömörítés: 'tar xvfz foo/bar.tar.gz -C utvonal/'
magyarázata: kitömörítünk ("x") részletes kimeneti üzenetekkel ("v", opcionális) egy állományt ("f"), ami gzippel lett összetömrítve ("z"), az elérési útvonala (könyvtár neve) "foo/", a neve "bar.tar.gz" és az "utvonal/" könyvtárba akarjuk kitömöríteni ("-C", opcionális)
betömörítés: 'tar cvfj foo.tar.bz2 utvonal/'
magyarázata: betömörítünk ("c") bzip2 eljárással ("j"), a leendő arhivum neve "foo.tar.bz2" lesz és az "utvonal" könyvtár fogja képezni a tartalmát.
megj.: természtesen gzippel is lehet tömöríteni és bz2 is kicsomagolni, stb.; az "x" helyett "t"-t alaklmazva teszteli az arhivumot.
további infók: 'man tar'

most használandó csomagkezelési utasítások:
(késöbb lesz gyorstalpaló)
apt-get install csomag = telepítés; ha a "telepíteni: csomag - megjegyzés" jelzést látod, akkor ezt a parancsot add ki;
apt-get remove csomag --purge = teljes törlés; ha a "eltávolítani: csomag - megjegyzés" jelzést látod, akkor ezt a parancsot add ki;
dpkg-reconfigure csomag = újrakonfigurálás; ha a "újrakonfig: csomag - megjegyzés" jelzést látod, akkor ezt a parancsot add ki;

jelentkezzünk be (usernév + jelszó), majd lépjünk át rootnak, mert a most végzendő lépésekhez ez a jogosultsági szint kell;

mielőtt bármit tennél:
újrakonfig: debconf - kimenetnek "Dialog"ot használjon (ez működik karakteres felületen és elég könnyed), a "low" szintű kérdéseket is feltegye és ne kérdezzen rá a már megválaszolt kérdésekre;

magyar billentyűzet:
újrakonfig: console-common - (boot idején bill.) "Select keymap from arch list" (architektúrák szerinti osztályozás), "qwertz" (102+ magyar ilyen), "Hungarian"
újrakonfig: console-tools - (általános bill.) automatikusan átveszi az előző beállításait;
(ahhoz, hogy helyes magyar betűk jelenjenek meg szükség van még a 'fonty' csomagra, de sid alatt utf-8ra fogunk áttérni, ami ezt nem támogatja)

alap biztonsági lépések:

van egy alaprendszerünk, előszőr szedjük le a felesleget és tegyük biztonságosabbá:
'netstat -taep', ezek kifelé nyitott portok, általában semmi szükség rájuk vagy le lehet cserélni sokkal biztonságosabbra, ezért szedjük le a következő csomagokat: 'ftp' (felesleges, van biztonságosabb), 'lpr' (nyomtató, nyitva hagy portot; a '/var/spool/lpd' eltávolítását engedélyezd), 'mtools' (dos szerű parancsok, felesleges), 'nfs-kernel-server', 'nfs-common' (network file system, desktopra felesleges), 'pidentd' (felesleges, nem biztonságos), 'portmap' (nem biztonságos, desktopra felesleges), 'ssh' (nem árt, de ha nem használjuk, akkor nem kell), 'telnet' (nem biztonságos + ssh jobb),
újrakonfigurálni: 'netkit-inetd' ("Disable (...) services?" igen); ezzel még nem vagyunk teljesen kész: '/etc/inetd.conf' állományban szúrjunk be egy # jelet (=megjegyzés) minden sor elejére, ahol még nincs; majd újraindítjuk ezt: 'invoke-rc.d inetd restart' (a daemonokról késöbb még lesz szó);
újra 'netstat -taep' gratulálok, ezzel többet már nem kell foglalkoznod;

"inetd" biztonságosabbá tétele:
'/etc/hosts.allow':

 ALL: LOCAL
'/etc/hosts.deny':
 ALL: ALL
 ALL: PARANOID
 ALL: UNKNOWN

minimális jogok az usernek:
add hozzá a telepítéskor létrehozott felhasználót a következő csoportokhoz: disk, cdrom, floppy, audio, video, games ('adduser felhasznaloi_csoport_neve adott_group_neve')

a logot a 8-as virtuális konzolra (ctrl+alt+f8) küldeni:
'/etc/syslog.conf' a "I like to have messages displayed on the console, but only on a virtual console I usually leave idle." részt követő részt #teleníteni;

ha zavar a hosszú motd (message of the day, helye: '/etc/motd') a bejelentkezéskor: 'touch ~/.hushlogin'
(a 'touch' képes megváltoztatni egy állomány utolsó módosítási / - elérési dátumát; használható egy kis trükkre: ha egy nem létező állományt jelölünk ki célnak, akkor azt létrehozza üres tartalommal);

(megj.: alaposabb doksi a biztonságról: http://www.debian.org/doc/manuals/securing-debian-howto/index.en.html )

A boot loader telepítése

a rendszernek szüksége van egy boot loaderre, ami a merevlemez master boot recordjában vagy egy partíció elején elhelyezkedve a gép bekapcsolásakor betölti a linux kernelt a memóriába megfelelően felparaméterezve;

előszőr elérhetővé kell tenni a telepítő cd tartalmát:
érdemes feljegyezni a mount pontokat: 'cat /proc/ide/hda/media' a válasz lehet "disk" (merevlemez) vagy "cdrom"; próbáld végig abcd (általában 4 ide pont van);
ezután mountold fel: 'mount /dev/hdx /cdrom'

majd telepítsd fel a 'grub' csomagot;
ha az itt leírtak nem elég egyértelmüek, akkor telepítsd a 'grub-doc' csomagotn, ami az '/usr/share/doc/grub-doc/html/'ben teszi a doksit;

ezután létre kell hozni a konfigurációs állományt: '/boot/grub/menu.lst'

 timeout 5

5 másodpercet várjon mielőtt autómatikusan indítja...

 default 0

... a 0. (tehát első) menüpontot;

 title Debian GNU/Linux
 kernel (hd1,0)/vmlinuz root=/dev/hda1 ro video=vga16:off vga=ext

"kernel" = linux kernelt kell tölteni; "(hd1,0)" = második merevlemez első partíciójáról, a "/vmlinuz" egy symlink a '/boot'ban található megfelelő kernel imagera (ha debian kernel csomag van fenn); "root=/dev/hda1" = a rootfs helye, csak olvasható módban ("ro"); "video=vga16:off vga=ext" = erről már volt szó;

egy win betöltése így néz ki:

 title Windows
 chainloader (hd0,0)+1

"chainloader" átadja a boot folyamatot egy másik boot managernek, ami első merevlemez első partícióján van, az első sectorban (a "+1" csak a winre jellemző);

megj.: a grub számára az a 0. merevlemez, amire fel van telepítve, utána a hda az 1. (persze ha nem ő a 0.), hdb a 2., stb.; a rendszert tartalmazó partíció kiderítéséhez indítsd a 'grub' parancsot, majd: 'find /vmlinuz"; win partíció: 'find /autoexec.bat';
megj.2: a winnek mindenképp a primary master merevlemezen kell lennie, ezért, ha nem ezen van a grub, akkor a "chainloader" rész előtt át kell mappolni a két merevlemez közt:

 map (hd1) (hd0)
 map (hd0) (hd1)

grub telepítése: 'grub-install /dev/hdX'
(megj.: a "/dev/hdX" annak a meghajtónak a '/dev'beli csatolási pontja, aminek mbrjébe akarod telepíteni a grubot; a lehetséges csatolási pontokat az 'fdisk -l' listázza ki)
mindig mbrbe menjen, ne partíció elejére, mert gubanc lesz; és ha megoldható ne a wint tartalmazó merevlemezre, biztonsági okokból;
érdemes egy floppyra is ('/dev/fd0') kiírni, vész esetén jól jön;
(ellenben, ha nincs floppyd, akkor told meg a 'grub-install't egy '--no-floppy'val, így nem is próbálkozik vele;

reboot után már a grub menüje jelentkezik be, ha kivárjuk a visszaszámlálást, akkor a default menüpont töltődik be, de a fel/le gombbal válaszhatunk mást is; érdemes megjegyezni a "c" gombot, amivel a grub shellbe jutunk (az itt elérhető parancsokat a 'help' listázza ki) és az "e"t, amivel egy adott menüpontot szerkeszthetünk át idéglenesen (részletek az on-line helpben); ez utóbbi hasznos új kernel vagy boot paraméter kipróbálására (pld. acpinél), mielőtt véglegesítünk egy változást;

most már nyugodtan eltávolíthatod a 'lilo' csomagot;

rossz beállításból fakadó hibák:
hiba: "Error 15: File not found"
probléma: nem találja a kernelt a megadott partíción;
megoldás: hívd elő a konzolt ("c"); majd keresd ki, hogy melyik meghajtón és hol van a kernel image ('find /vmlinuz' vagy 'find /boot/vmlinuz'); az eredményt (pld.: "(hd0,0)") írd fel és indítsd újra a gépet ('reboot1); újra a grub menüben a megfelőle opciót nyisd meg idéglenes szerkesztésre ("e"), majd a kernel boot sorát szerkesztd ("e") át úgy, hogy megfeleljen az előző teszt ereményének (pld.: "kernel (hd0,0)/vmlinuz (...)"); itt végezhetsz egy gyorstesztet: közvetlenül a "/vmlinuz" után pozícionáld a kurzort és nyomj egy [TAB]ot, ha minden oké, akkor kiad egy "Possible files are:" listát; most lépj ki a szerksztő módból ("enter") és próbálj meg az új beállításokkal bootolni ("b"); ha minden oké: írd át a '/boot/grub/menu.lst' állományt a helyes értékekre és telepítsd újra a grubot;

hiba: "(... boot eleje rendesen fut ...)
pivot_root: No such file or directory
/sbin/init: 424: cannot open dev/console: No such file
kernel panic: Attempted to kill init"
probléma: rossz a rootfs beállítása ("kernel (...) root=/dev/hdxy" rész);
megoldás: fentebb leírt módon a grub konzoljában olvasd ki az fstabból a rootfs helyét (pld.: 'cat (hd0,0)/etc/fstab') és javítsd ki a boot paramétereit;

grub tuning 1.: boot védelem
régen könnyen lehetett root jogokat szerezni azzal, ha a boot paraméterezésekor hozzáillesztettünk egy "single" (vagy egyszerüen "1" vagy "S") kifejezést: ennek hatásásra single mód init scriptjei futottak le (minimális karabantartó felület) és hipp-hopp root jogok; ma már ennek kivédésére szolgál az 'sulogin' beléptető (a 'sysvinit' csomag resze)
de létezik még egy módszer: szintén a boot paraméterezésekor az "init=/bin/sh", mert ekkor a kernel - miután a rendszer legalapabb feladatokkal végzett - ennek a programnak adja át a boot további lebonyolításást (az 'init' program helyett) és így az alapértelmezett shell töltődik be jelszó nélkül, root jogokkal;
még egy érdekesség: a grub command line állománykezelési része természetesen nem tudja a jogi beállításokat érvénybe léptetni, így pld. 'cat (hdx,y)/etc/ppp/pap-secrets';
az ilyen rosszindulatú lépések megakadályozására érdemes az interaktív módokat (console, menü szerkesztés) jelszóval védeni:
1. indítsd el a 'grub-md5-crypt' programot, majd kódold le a leendő jelszót (lehetne sima szöveg is a jelszó, de az a 'menu.list'ből könnyen kiolvasható);
2. '/boot/grub/menu.lst' elejére copy&paste (az uj_grun_jelszo helyett): password --md5 uj_grub_jelszo
3. 'grub-install', reboot és ezentúl a "p" gombbal és a jelszó megadásával lehet elérni a interaktív módokat;

grub tuning 2: grafikus grub
az eredeti grubból még hiányzik ez a feature, de a debian változatban már benne van; egyenlőre korlátozott a tudása: képes az alap vga (640x480x16) módban betölteni egy háttérképet (csak 14 szín hasznáható, mivel két szín le van foglalva a fontnak);
1. a kép konvertálása: convert leendo_hatter.formatum -colors 14 -geometry 640x480! grub_backg.xpm
2. ezt még begzippelni: gzip grub_backg.xpm
3. a 'menu.lst' szerkesztése: az elejére tedd be ezt a sort: splashimage=(hdx,y)/boot/grub/grub_backg.xpm..gz
4. ha kell változtasd meg a karakterek színét a jobb olvashatóság érdekében (hex, RRGGBB):
foreground = ffffff
background = 000000
5. 'grub-install', reboot;
(megj.: a 'grub-bootsplash' csomagban találsz pár előre elkészített háttérképet, a '/boot/grub/splasimages/' könyvtárba települnek;)

megj.: ha a reiserfs típusú rootfs szabálytalanul lett leállítva, akkor drasztikusan megnőhet a grub betöltési ideje, amíg a napló nincs visszapörgetve;

Fstab

unix alapú rendszereken minden állományrendszert fel kell csatolni ('mount'), hogy el lehessen érni (tehát egy audió cdt nem és cd íráshoz sem, mert előbbihez magát a cdt olvassa, utóbbiban pedig írja);
a csatolást két úton lehet végezni: autómatikusan ("automount") és kézzel ('mount /dev/mit /hova'); az első variáció jól hangzik, de még nem eléggé kiforrott, ezért debian alatt pillanatnyilag az utóbbi az alapértelmezett (mint általában a kényelemnél fontosabb a kompatibilitás);
az '/etc/fstab' állományban szereplő csatolási pontokat autómatikusan felcsatolja a rendszer indításakor (lásd "/swapfile"), illetve az itt lefektetett szabályok megkönnyítik a gyakran használt eszközök csatolását (lásd "/dev/fd0");

előszőr nézzük meg a partíciós táblát:
'fdisk -l'

példa:

 Disk /dev/hdc: x.x GB, x bytes
x heads, x sectors/track, x cylinders
Units = cylinders of x * x = x bytes

   Device Boot      Start         End      Blocks   Id  System
   /dev/hdc5            2612        5222    20972826    b  W95 FAT32

   Disk /dev/hdd: x.x GB, x bytes
   x heads, x sectors/track, x cylinders
   Units = cylinders of x * x = x bytes

   Device Boot      Start         End      Blocks   Id  System
   /dev/hdd1   *           1        1246    10008463+  83  Linux
   /dev/hdd2            1247        4982    30009420    f  W95 Ext'd (LBA)
   /dev/hdd5            1247        4982    30009388+  83  Linux

ehhez egy '/etc/fstab' példa:

 # /etc/fstab: static file system information.
 #
 # <file system> <mount point>   <type>  <options>               <dump>  <pass>
 /dev/hdd1       /               reiserfs        defaults        0       0
 /swapfile       none            swap    sw                      0       0
 proc            /proc           proc    defaults                0       0
 /dev/fd0        /mnt/floppy     auto    users,noauto,sync   0       0
 /dev/dvdrom     /mnt/dvdrom     iso9660 ro,users,noauto             0       0
 /dev/cdrw       /mnt/cdrw       iso9660 ro,users,noauto             0       0
 /dev/hdd5       /mnt/adat2      ext3    errors=remount-ro       0       1
 /dev/hdc5       /mnt/adat       vfat    defaults,users,uid=0,gid=6,umask=0003,codepage=852,utf8,noatime,quiet 0   0

részletes magyarázat az 'fstab' és 'mount' man oldalán;
(megj.: mivel a "hda" nálam a cdíró, így egyszerűség kedvéért elhelyetem egy "cdrw" symlinket: 'ln -s /dev/hda /dev/cdrw')
ezután a csatolási pontokat megkreálni: 'mkdir /mnt/adat' stb.; ha mind kész, akkor az usernek is írhatóvá tenni: 'chmod a+w /mnt/*'
távolítsd el a '/floppy' és '/cdrom' könyvtárakat; de kompatibilitási okokból kell egy symlinket csinálni, pld.: 'ln -s /mnt/dvdrom /cdrom'

megj.: az "ext3" és a "reiserfs" állományrendszerek ismerik a "data=journal" opciót, amely teljes naplózást eredményez; de ehhez a legfrisebb 2.6 kernel ajánlott)
megj.2: a partíciós típusát a 'disktype /dev/hdxy' kérdezi le, de ez csak sid alatt érhető el

Swap gyártás

az fstabban már van swap bejegyzés, ideje elkészíteni:

általános stratégia a swap méretére: a memória kétszerese legyen, de egy desktop gépen 256 megánál nem kell több (már eleve, ha swappol, akkor vmi gond van, 256 pedig többszörösen elég);

konkrét utasítások 256 megára:

 dd if=/dev/zero of=/swapfile bs=1024 count=262144
mkswap /swapfile
swapon /swapfile

magyarázat:
a 'dd' egy nagyon hasznos eszköz, egy-az-egyben másol vhonnan ("if=") vhová ("of=") és opcionálisan konvertál is; a '/dev/zero' szintén unixból származó specialitás, bármennyi nullát lehet belőle "kivenni"; a "bs" blokk méretet jelent, a "count" mennyiséget; további infók a 'man' oldalán;
a 'mkswap' előkészít egy partíciót vagy állományt a swapként használatra;
'swapon' és 'swapoff' fel- ill. lecsatolja a swap partíciót / -állományt;

érvényesítsük a negváltozott 'fstab'ot:
'umount -a'
'mount -a'

most érdemes nyomi egy 'reboot'ot, hogy eddig minden rendben van-e (grub, fstab, ...);
ha nem bootol, semmi vész: "grub" alatt egy "c" hatására kapunk egy shellt hasznos parancsokkal (pld.: 'find /autoexec.bat' = melyik (hdx,y) van a win; 'find /vmlinuz' és a linux); az "e"vel pedig egy adott menüpontot lehet ideiglenesen átszerkeszteni, de az ekkor használható parancsokról folyamatosan tájékoztat;

Kernel modulok kezelése (hardware beállítása)

kitérő (kernel modul): a linux kernel alapvetően monolitikus felépítésű (http://en.wikipedia.org/wiki/Linux_kernel#Architecture ), de a futó kernel képességeit bármikor ki lehet egészíteni kernel modulok (a kód ugyanaz, mint statikus kernelnél, de külön állományba fordítva) betöltésével (http://en.wikipedia.org/wiki/Module_(Linux) );

gyorstalpaló (kernel modulok kezelése):
'lsmod' = betöltött modulok listája;
'modprobe modul' = elérhető modul betöltése, ha szükséges paraméterezhető; (bash programmable completion ezt is kiegészíti)
'rmmod modul' = betöltött modul eltávolítása; (nem lehet olyan modult eltávolítani, amit vmi használ)
'modinfo modul' = a modul elérési útja, rendeltetése;
(megj.: az összes betöltött modul infójának kigyűjtése: 'modinfo $(lsmod | grep -v Module | cut -b1-20) | less' )

debianos módszer a 'modconf', ami egy guit biztosít a fenti parancsokhoz;
(megj.: a 'modconf' gyakran lassú, még modern rendszereken is; légy türelmes és várd meg mindíg a felület visszatérését, ha dolgozik vmin)

a gépben lévő hardwareről információt szolgáltat az 'lspci', ami alapján össze lehet válogatni a szükséges modulokat; sid alatt elérhető a 'dmidecode', ami tényleg minden infót összegyűjt a gépről;

Fontos, főleg kezdőknek:
a folyamat megkönnyítésére debian alatt is léteznek hardware felismerő programok: 'kudzu' (by redhat) és 'discover' (by mandrake)
elöbbi a 'kudzu' parancs hatására összveti a hardware információkat a betöltött modulokkal, és javasol modul telepítést vagy eltávolítást;
utóbbnál a 'discover-modprobe' felismerést és telepítést végez;

Hálózat beállítása

előszőr tisztítsuk meg a rendszert a telepítő beállításaitól:
'/etc/network/interfaces': a "The first network card (...)" követő részt #elni;
'/etc/resolv.conf' - eredeti bejegyzést törölni, nem innen lesz dns;
'/etc/hosts' - "127.0.0.1 localhost debian általad_választott_domain_név" (utóbbit 'hostname' lekérdezi), a másikat (192.168.1.1) #elni;
most nem árt egy reboot, hogy érvénybe lépjenek;

milyen kapcsolat esetén mit kell állítani?
(természetesen előszőr nem árt meggyőződni arról, hogy a hálókártáyhoz ('lspci') megfelelő kernel modul be van-e töltve ('modconf'))

1. pppoe (pld.: m*t*v *x*l*r*):
ppp kernel modulokat töltsd be;
alapból fenn van a 'pppoeconf' csomag, egy 'pppoeconf' paranccsal lehet elindítani a beállítását;

2. dhcp (pld.: *pc ch*ll*)
ehhez 'dhcp-client' csomag kell;
beállítás:
az '/etc/network/interfaces'be két új sor:

 auto eth0
 iface eth0 inet dhcp
(megj.: ha woody alatt 2.6 kernelt használsz és egy "Unrecognized kernel version" üzenet mellett nem indul autómatikusan a dhcp-client, akkor az '/sbin/dhclient' állomány "2.[12345].*)" osrát írd át így: "2.[123456].*)")

3. modem
ppp kernel modulokat töltsd be;
'pppconfig' a csomag és a konfigurációs felület neve;
kapcsolódás: 'pon szolgaltato', lekapcsolodas: 'poff'

4. isdn
ppp és megfelelő isdn (kártya, protokoll) kernel modulokat töltsd be;
legalább az 'ipppd' csomagra szükség lesz (érdemes megnézni az 'isdnutils't);
(megj.: linux alatt a com1 = ttyS0, com2 = ttyS1, stb.)

5. wlan
a linux kernelhez alapból az "orinoco" driver jár, ha ez nem válik be próbáld ki a "hostap"ot (http://hostap.epitest.fi/ );
szükség lesz a "wireless-tools" csomagra, ebből az 'iwconfig' segítségével lehet beállítani a kapcsolatot (adótorny, stb. ezt megadja a szolgáltató); (újabb kártyáknál lehet, hogy ez a beállítás már automata);
ha dhcpt használsz, annak beállítása feljebb; ha fix,pt akkor az '/etc/network/interfaces' kell kitölteni;
(megj.: a device neve vagy '/dev/wlanx' vagy '/dev/ethx', az x alapból 0, de magasabb, ha több kártya van)
(megj.2: alapos leírás: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html )

FIXME: egyéb kapcsolatok?

ha ppp van szedd le nyugodtan a 'dhcp-client' csomagot, ha dhcp, akkor a 'ppp';
reboot, majd 'ifconfig' kimenetében ellenőrizni, hogy él-e a kapcsolat;

(amennyiben vmwarerrel próbálod a telepítést: a "Network Adapter" típusa "NAT" legyen, debian alatt pedig a dhcp megoldást használd)

Csomagkezelés (alapok)

kitérő (mi az a csomag): a legtöbb disztribúcióban a programok (és egyebek) kezelése csomagok szintjén történik; egy csomagban lehetnek bináris, library, script, konfigurációs állomány, dokumentáció, kép, hang, stb.; egy program lehet több csomagba szétrakva (pld. külön a bináris, a library, a doksi) és egy csomagban lehet több program is; debian alatt külön bontják a lib* csomagokat, amik érthető módon librarykat tartalmaznak, a *-dev csomagok nem teljes forráskódot tartalmazzák, hanem csak annyit, ami a fejlesztéshez szükséges (headerek, dokumentáció, stb.);

kitérő (mit tartalmaz egy debian csomag): a fentiek a CONTENTS könyvtárban vannak; a DEBIAN könyvtárban pld. 'conffiles': a konfigurációs állományok helye (a '--purge' ezeket szedi le), 'control': a legfontosabb információk a csomagról (lásd 'apt-cache show csomag'), 'md5sums': a csomagot képező minden állomány tartalma alapján generálódik egy azonosító, amellyel ellenőrizni lehet a telepített állományok sértetlenségét ('debsums -a'); 'preinst', 'postinst', 'prerm', 'postrm': karbantartó scriptek a telepítés / leszedés előtt / után futnak le; az "INFO" a csomagkezelőnek tartalmaz információkat (csomag neve, fontossági szintje, stb.), ezek közül a függőségek ("Depends") legfontosabbak: szinte minden csomagnak szüksége van olyan állományokra, amelyek más csomagok részét képezik, ez jelentkezik telepítéskor és eltávolításkor is; egyszerű példa, hogy bármelyik c nyelven írt program futásához elengedhetetlen van a "libc6" csomag meglétére, ami a legalapvetőbb függvényeket tartalmazza;
(megj.: ha a gyakorlatban is érdekel egy debian csomag tartalma, akkor az "ar" tömörítővel lehet szétpakoli ('ar x csomag.deb'), 3 állományt kapsz: control.tar.gz (csomagkezelő scriptek), data.tar.gz (csomagot képező állományok), debian-binary (debian csomag verziószám);)

kitérő (a debian csomagnevek feloldása): példa: grub_0.91-2_i386.deb = grub a csomagnév, a 0.91-es programverzió 2. debian változata, i386 architektúra ("all" a besorolása az architektúra független csomagoknak, pld.: dokumentáció);

további infók: http://en.wikipedia.org/wiki/Package_management_system

gyorstalpaló (csomagkezelés debian alatt):
(csak a gyakran használt eszközök)

dpkg:
alacsonyszintű eszköz, a csomagkezelés alapja; képes telepíteni / eltávolítani csomagokat és az ehhez szükséges feladatokat elvégezni (konfigurálás, függőségek ellenőrzése); csak felmountolt állományrendszerből képes telepíteni, net elérésre és hasonló magasszintű feladatokra jó pár frontend létezik; használatát megkönnyíti a bash programabble completition és a joker karakterek;

használata:
'dpkg -i csomag'
csomag telepítése; ha a telepítéshez hiányzik egy komponens, azt kiírja, ilyenkor lehet, hogy egyszerre több csomagot kell megadni;
'dpkg -r csomagnév'
csomag eltávolítása; csak a csomagban szereplő állományokat szedi le;
'dpkg --purge csomagnév'
ez eltávolítja a konfigurációs állományokat is; utólag is kiadható;
'dpkg-reconfigure csomagnév'
újrakonfigurál egy csomagot; néha hasznos;
'dpkg -l'
telepített csomagok listázása;
'dpkg -L'
egy telepített csomag tartalmának kilistázása;

apt:
az apt valójában egy függvény-gyűjtemény, amely a dpkgra támaszkodik; a csomagokat az '/etc/apt/sources.list'ban felsorolt forrásokból veszi és fejlett a függőség-kezelő rendszere; sok program épül rá, leggyakrabban használt az 'apt-get' és 'apt-cache'; szintén támogatja a bash programabble completitiont és a joker karakterek; (pld.: 'apt-ge[TAB] ins[TAB] csomagn[TAB]')

használata:
'apt-get update'
frissíti a csomaglistákat és a függőségeket a 'sources.list' alapján;
'apt-get upgrade'
összehasonlítja a feltelepített csomagok listáját a rendelkezésre állókéval és ha van vmelyikből frissebb, azt frissíti;
'apt-get dist-upgrade'
az olyan csomagokat is frissíti, amik újabb változatának telepítéséhez új csomagokat is kell telepíteni;
'apt-get install csomagnév'
amennyiben szerepel a csomaglistában felteszi;
'apt-get remove csomagnév'
eltávolítja az adott csomagot; kezeli a '--purge' tagot;
'apt-cache show csomagnév'
alapvető információk a csomagról;
'apt-cache search kulcsszó'
keresés a csomagleírások közt;
'apt-get -f install'
vmilyen hiba miatt félbemaradt telepítést / eltávolítást megpróbálja folytatni;
(megj.: a '-s' esetén csak szimulálja az adott feladatot;)

megj.:
csomag = gdm_2.2.5.5-2_i386.deb
csomagnév = gdm

Áttérés sidre

a csomagforrások beállítása:
'apt-setup': honnan érhetőek el a debian csomagok? "ftp", melyik ág? "unstable", akarsz non-US csomagokat? "yes", akarsz non-free csomagokat? "yes", contrib? "yes", melyik országból kérsz tükörszervert? "Hungary", melyiket? a kfkit vagy eltét szoktam (de talán a legmegbízhatóbb a germany - de.debian.org); most letölti a csomag listákat; akarunk más úton is deb csomagokat? "no", security.debian.org? "no" (csak stable támogatja);
most szabaduljunk meg pár címtől:
'/etc/apt/sources.list': a "deb cdrom(...)" és a "deb-src" elé #, mert cd már nem kell és egyenlőre nem akarunk forrásból csomagot pakolni;
'apt-get update', hogy érvényét vegyük;

pár lépés, amik megkönnyítik a frissítést:
telepíteni: libc6 libc6-dev locales - minden alapja; az új libc6 telepítésénél figyelmeztet, hogy pár csomag nem fog megfelelően működni újraindításig, de ezeket még raktuk fel;
újrakonfig: locales - kell: en_US, hu_HU, hu_HU.UTF-8, utóbbi legyen az alapértelemezett; az ékezetek szétmennek a következő rebootig;
reboot, hogy a libc6 váltás rendben legyen;

telepíteni: debconf debsums debconf-i18n dpkg apt - csomagkezelés legyen friss; debsums autómatizálásra nincs szükségünk;
telepíteni: modconf modutils module-init-tools - kernel modulok kezelése;
telepíteni: harden-clients harden-servers - megakadályozza, hogy feltelepíts nem megbízható csomagokat;

telepíteni: ssmtp - az eximet lecseréljük egy kisebb tudású de céljainknak megfelelő mail-transfer-agentre; kérdések: ki kapja az 1000 userid feletti leveleket? (létező emil cím), mailhub neve? (létező smtp szerver, pld. a netszolgáltatónké), smtp port? 25, masquerade? (hagyjuk üresen), hostname? (írjuk be), átírja a fejléceket? (hagyjuk üresen),
még helyezzünk el az '/etc/ssmtp/revaliases'ben egy sort: "root:(létező emilcím):(létező smtp szerver)"; így a rootnak küldött leveleket is megkapjuk;
(ugyan az 'ssmt' telepítése leszedi paz 'exim'et, de az utóbbit nem árt még utólag "purge"olni)

'apt-get dist-upgarde' - alaprendszer frissítése, kb 50 megát fog leszedni és eltart jó ideig;
(ha kiakad a frissítés: 'apt-get -f install', majd 'apt-get dist-upgrade', amíg nem oké)
kérdések:
Do you want system wide readable home directories? no; (így biztonságosabb)
Should man and mandb be installed 'setuid man'? no; (így biztonságosabb)
Should mandb build its database now? yes;
Type of automatic serial port configuration to use? autosave once; (így stabilabb)
Are you sure you want to upgrade flex? yes; (nem találkoztam kompatibilitási problémákkal)

May I update your system? yes; (a 'base-passwd' frissítésekor rákérdez, hogy frissítheti-e a rendszert)

érdemes újratelepíteni a grubot, hogy érvényesüljön az új verzió ('grub-install /dev/hdx');

reboot

Csomagkezelés (problémák)

(megj.: a legtöbb teljesen akkor jön helyre, ha nyomsz még egy 'apt-get update' és 'apt-get -f install' párost)

1. probléma: egy csomaghoz tartozó konfigurációs állomány megváltozott az előző telepítés óta és a dpkg felülírná az új változattal;

példa:
Setting up module-init-tools (3.1-pre5-3) ...

 Configuration file `/etc/modprobe.d/aliases'
  ==> Modified (by you or by a script) since installation.
  ==> Package distributor has shipped an updated version.
    What would you like to do about it ?  Your options are:
     Y or I  : install the package maintainer's version
     N or O  : keep your currently-installed version
     D     : show the differences between the versions
     Z     : background this process to examine the situation
  The default action is to keep your current version.
 *** aliases (Y/I/N/O/D/Z) [default=N] ?

megoldás: előszőr érdemes "d"vel megnézni, mi fog változni; ha semmi jelentős, akkor érdemes engedni ("i"); (megj.: a biztonság kedvéért a régi változatot is megtartja .dpkg-old kiterjesztéssel, tehát ha vmilyen változást az új változatban is kéne eszközölni, akkor az ebből kinyerhető)

2. probléma: nem lehet egy csomagot telepíteni, mert nincs telepítéshez kijelölve;

példa:

 # apt-get install openoffice.org-help-hu
 Csomaglisták olvasása... Done
 Függőségi fa építése... Done
 Package openoffice.org-help-hu is not available, but is referred to by another package.
 This may mean that the package is missing, has been obsoleted, or
 is only available from another source
 E: A openoffice.org-help-hu csomagnak nincs telepítéshez jelöltje

megoldás: megvárod, míg feltölti vki a te ágadba (http://packages.debian.org/ - "Keresés a csomagkönyvtárakban" - "Verzió: mindegyik"); (megj.: előfordul olyan eset is, hogy a csomag feladatát már egy másik csomag látja el ("Azonban a következő csomagok felváltják"), tehát ilyenkor már az újabbat kell telepíteni);

3. probléma: megoldhatatlan függőségi viszonyok

példa:
frissül az 'xfs', de az ettől függő 'x-window-system' nem követi a verziószám változást, így nem engedi a frissítés végrehajtását;

megoldás: legkönnyebben a 'synaptic'ban lehet végigkövetni, mi okozza a gubancot (esetünkben az 'x-window-system'et el lehet távolítani, mert az csak egy metacsomag); ha nem sikerül megoldani fontos csomagok eltávolítása nélkül, akkor érdemes kicsit várni, amíg kijavítják a hibát;

4. probléma: egy csomag telepítése / törlése közben derül ki, hogy a csomagkezelést végző scriptek végrehajtásához hiányzik vmi;

példa:

 "/var/lib/dpkg/info/php4.prerm: modules-config: command not found"

megoldás: keress rá, hogy melyik csomagban van ('auto-apt search modules-config') és telepítsd fel;

5. probléma: egy csomag telepítése közben derül ki, hogy olyan állományt akar telepíteni, amit más csomag már telepített;

példa:

 "dpkg-divert: rename involves overwriting `/usr/X11R6/include/X11/Xft/Xft.h' with different file `/usr/X11R6/include/X11/Xft/Xft1.h', not allowed"

megoldás: töröld az '/usr/X11R6/include/X11/Xft/Xft.h'-t;

6. probléma: megsérült a '/var/lib/dpkg/status' állomány;

példa: FIXME

megoldás: cseréld le az ugyanabban a könyvtárban lévő 'status-old' állományra, ill. '/var/backups/'-ban vannak régebbi változatok;

7. probléma: megsérült a '/var/lib/dpkg/available' állomány;

példa: FIXME

megoldás: egyserűen töröld le a tartalmát: 'touch /var/lib/dpkg/available' és frissítsd a csomaglistákat ('apt-get update');

8. probléma: megsérültek az apt cache állományai;

példa:

 apt-get akarmi
 (...)
 Segmentation faulty Tree... 50%

megoldás: töröld le a cacheket ('rm /var/cache/apt/*.bin')

9. probléma: a 'dpkg' nem tud .lockolni;

példa:

 E: Could not open lock file /var/lib/apt/lists/lock - open (13 Hozzáférés megtagadva)
 E: Nem lehet zárolni a lista könyvtárat

megoldás: rootként kéne futtatni;

10. probléma: lehetetlen elérni a szervert;

példa:

 W: Lehetetlen a http://ftp.de.debian.org unstable/non-US/contrib Packages (/var/lib/apt/lists/ftp.de%5f.debian.org_debian-non-US_dists_unstable_non-US_contrib_binary-i386_Packages) forráscsomag listát ellenőrizni - stat (2 Nincs ilyen fájl vagy könyvtár)

megoldás: 'apt-setup', másik mirror;

11. probléma: kevés memória az apt számára;

példa:

 # apt-get update
 (...)
 E: Dynamic MMap ran out of room

ok: az apt egy fix méretű memóriaterületet foglal le az "available" állomány tárolására, ami túl sok csomag esetén betelik;

megoldás: hozd létre az '/etc/apt/apt.conf' állományt és írd bele ezt a sort;

 APT::Cache-Limit 16777216;
ez 16 megára növeli ezt a memóriát; ha ez is kevés: kétszerezd addig, amig elég nem lesz;

Egyéb

magyar karakterek támogatása a karakteres felületen:
újrakonfig: console-data console-common - újra be kell állítani a billentyűzetet;

megj.:
per pillanat a magyar ékezetek nem működnek megfelelően virutális konzolon hu_HU.UTF-8 lokál alatt;
egy lehetséges megoldás:

az '/etc/console-tools/config'ba írd be:

 SCREEN_FONT=lat2u-08
 SCREEN_FONT_vc1=lat2u-08 
 SCREEN_FONT_vc2=lat2u-08 
 SCREEN_FONT_vc3=lat2u-08
 SCREEN_FONT_vc4=lat2u-08
 SCREEN_FONT_vc5=lat2u-08
 SCREEN_FONT_vc6=lat2u-08 
 SCREEN_FONT_vc7=lat2u-08
 SCREEN_FONT_vc8=lat2u-08

majd reboot;
voilá, lesznek szép ékezetek... legalábbis a vc1en, a többin pedig ?ek az ékezetek helyett; de ha kézzel futtatsz egy '/etc/init.d/console-screen.sh' akkor, rendbejönnek;

FIXEM: egy "tökéletes" megoldást:

dma:
az alapkernel nem mindíg kapcsolja be a merevlemezek dma támogatását kompatibilitási okokból;
telepíteni: hdparm - alcsonyszintű merevlemez beállítások;
ellenőrizd, hogy minden merevlemezre ('fdisk -l') be van kapcsolva a dma ('hdparm -i /dev/hdx', ha vmelyik dma sornál van a *, akkor oké; a 'hdparm -I /dev/hdx' részeltesebb információkat ad);
ha nem kézzel bekapcsolni: 'hdparm -u1 -d1 -c1 /dev/hdx'
a boot loadert beállítva ez automatizálható, a "kernel(...)" sor végére szúrj be egy "idex=dma" részt;

egy kis kényelem:
'/etc/bash.bashrc'ben az "enable bash completion in interactive shells" után következő #eket távolítsd el;
lépj ki és vissza, majd 'apt-get ins[TAB] sloca[TAB]'
rengeteg programmal működik együtt, tessék próbálgatni;

logrotate küldjön emilt, ha probléma van:
az '/etc/logrotate.conf' végére (a "system-specific logs may be configured here" után) szúrd be: "mail letezo_emil_cim"

biztonságosabb locate:
telepíteni: slocate
majd el kell készíteni az alap adatbázist: '/etc/cron.daily/slocate';

anacron:
az alap 'cron' felel az előre beállított, időzített karbantartó feladatokért (man cache újragenerálása, stb.); hibája, hogy csak akkor üzemel megfelelően, ha a rendszer folyamatosan működik; ezért érdemes felrakni az 'anacron' csomagot, ami visszamenőleg végrehajtja a kimaradt feladatokat;

ha szívedhez nőtt a vi, akkor most érdemes felrakni a 'vim't;
egy kis tuning minden vi változathoz: hozz létre egy '~/.exrc' állományt minden felhasználónál a következő tartalommal:

 set showmode
 syntax on
 set hlsearch
 set visualbell
 set noai
 set ignorecase
magyarázat: "set showmode" = bőséges információ (kurzor pozíció, ilyesmi); "syntax on" = syntaxis kiemelés; "set hlsearch" = a találatok kiemelése; "set visualbell" = vizuális figyelmeztetés speaker helyett; "set noai" = autoindent kikapcsolása; "set ignorecase" = kis- és nagybetű egyenértékű keresésnél;
 
a fordított programok rendes működéséhez fel kell venni az "/usr/local/lib"et az '/etc/ld.so.conf'ba; majd 'ldconfig', hogy érvénybe lépjen;

alternatives:
az '/etc/alternatives/' -ben szereplő szimbólikus linkek egy adott célra alkalmazható programok közti váltást könnyítik meg; ha pld. mindíg az 'x-terminal-emulator'-ra hivatkozol az 'xterm' helyett, akkor az 'xterm'ről 'mlterm're váltáskor elég az előbbi symlinket módosítani ('update-alternatives --config x-terminal-emulator');
összes ellenőrzése és módosítása: 'update-alternatives --all'

a sensible-browser (pld. az 'apt-listbugs' használja) alapból a 'lynx', ami elég szerény tudású; érdemes felrakni a 'links' csomagot és beállítani alapértelmezettnek ('update-alternatives --config www-browser');
(a 'lynx' csomag eltávolítása után kompatibilitási okoból hozz létre az '/usr/bin'ben egy symlinket, ami a 'links'ről 'lynx're mutat;)
(pár szót a 'links' müködéséről: a "g" hívja elő az address bart, az "s" a bookmarkokat, az insert/delete segítségével scrollozhatunk fel/le egy sort, ill pageup/-down egy egész oldalt; vagy "English" és "7-bit ASCII" vagy "Hungarian" és "ISO 8859-2" módban érdemes használni;)

nem árt kipróbálni, hogy működik-e az ssmtp:
mutt -x root
subject: test
szöveg: .
ha nem jelez hibát, akkor oké;

még egy kevés jog az usernek:
telepíteni: sudo
beállítása: 'visudo' (de ha nem szimpatikus a vi, akkor '/etc/sudoers' állományt vedd elő)
a következő sorokat illeszd be (az első három a gép leállítása és újraindítása, utolsó cdírás, erről késöbb lesz szó):

 user    ALL=NOPASSWD:/sbin/shutdown
 user    ALL=NOPASSWD:/sbin/halt
 user    ALL=NOPASSWD:/sbin/reboot
 user    ALL=NOPASSWD:/usr/bin/cdrecord

használata userként: 'sudo reboot'

egy egyszerű lépés a syslog folyamatos figyelésére:
'watch tail /var/log/syslog'

egyedi init script készítése:
1. az '/etc/init.d/'be készíts egy szöveges állományt (pld.: "sajat");
rtc 1024 hzre állítása (mplayer használja):

 #! /bin/sh
 echo -n "sajat: "
 #rtc
 echo -n "rtc to 1024; "
 echo 1024 > /proc/sys/dev/rtc/max-user-freq &
 echo "done"

2. állítsd be a jogokat ('chmod 0755 sajat') és tulajdonost ('chown root sajat' és 'chgrp root sajat')
3. bármelyik indokolt init szinten fusson le, de ez legyen az utolsó, ami lefut:

 update-rc.d sajat defaults 99

(megj.: pár szó a boot folyamatról: http://qref.sourceforge.net/Debian/reference/ch-system.en.html#s-boot )

visual bell:
ha zavar a speaker (vagy speaker hiányában is értesülni akarsz, hogy a rendszer "figyelmeztet vmiért"), akkor tedd ezt:
az '/etc/inputrc'ben szerepeljen a "set bell-style visible" sor;

numlock autómatikus bekapcsolása:
konzol alatt:
a '/etc/console-tools/config' állományban kommentezd ki a megfelelő sort:

 # Turn on numlock by defalt
 #LEDS=+num

x alatt:
telepíteni: numlockx - rákérdez, hogy autómatikusan induljon-e;

egy kis kiegészítés ext2/ex3 tulajdonosoknak:
1. periódikus fsck:
az fsck periódikusan ellenőrzi az ext2/ext3 partíciók integritását, egyrészt a sikeres mountolások száma, másrészt az utolsó teljes fsck óta eltelt idő alapján; ez kezdetben 30/30;
megváltoztatni a 'tune2fs' segítségével lehet;
pld.: 60 mount és 60 nap: 'tune2fs -c 60 -i 60d /dev/hdxy'
(megj.: bármilyen hosszú is egy teljes fsck, soha se állítsd ezeket az értékeket 0/0-ra; egy hibás hardware vagy kernel bug visszafordíthatatlan adatvesztéshez vezethet, ha nem derül ki időben)
2. ext2ről ext3ra váltás:
'tune2fs -j /dev/hdxy'

kutatás hibás szektorok után a merevlemezen:
(a 'badblocks' az "e2fsprogs" része)
'badblocks /dev/hdXY -v'
ezt akár futó rendszeren is végre lehet hajtani, mert csak olvasási tesztet végez;

kutatás állományrendszerbeli hibák után:
normális körülmények között erre nincs szükség, mert a boot folyamat részeként az állományrendszerek ellenőrzik belső integritásukat;
ha mégis el szeretnéd végezni (mert a logban figyelmeztetnek rá, vagy csak úgy), akkor ezt ne futó rendszeren tedd, mert sérülést okozhat; az egyik legjobb karbantartó lemez a "rip", címe a dokumentum elején megtalálható;
ext2/ext3 ellenőrzés: 'fsck /dev/hdXY -f -C -V' - az "-f" erőlteti az ellenőrzést, a "-C -V" pedig részletesebben tájékoztat az ellenőrzés állapotáról;
reiserfs: 'reiserfsck --check /dev/hdXY' - egyszerű ellenőrzés javítás nélkül; ha javasolja a "--fix-fixable" kapcsolót, akkor tedd azt; a "--rebuild-tree" adatvesztéssel járhat (backup);
FIXME: xfs, jfs, reiser4

defragmentálás:
külön (stabil) program nem született erre a feladatra, mert az elterjedt linuxos állományrendszerek gondoskodnak a fragmentáció alacsonyan tartásáról;
amit érdemes figyelmbe venni, hogy mindíg legyen elég üres helyük erre, kb 25% elég, de 10% már okozhatja a fregmentáció növekedését;
ha mégis meg akarsz szabadulni a töredékektől, akkor mentsd le a partíció tartalmát, majd formázd le és másolj vissza mindent;

kutatás memóriahibák után:
szintén ripbe bootolj, majd válaszd az egyik "memtest" lehetőséget (megj.: a 3.60 a régebbi "memtest86", a 1.20 az újabb "memtest86+", csak a "+" jelet vmiért lehagyták a grub menüben);
8-12 órányi tesztelés elég szokott lenni;

Csomagkezelés (fejlett eszközök)

telepíteni: apt-listbugs apt-listchanges auto-apt deborphan debfoster - kérdések: "apt-listchanges" hova írjon? pager; kihagyja a már ismertett változásokat? igen; kinek küldjön emilt? root; milyen típusú változásokra vagy kiváncsi? both; rákérdezzen a frissítésre? igen;

apt-listbugs: minden csomag frissítés és telepítés előtt lekérdezi a bugs.debian.org-ról a csomaghoz tartozó hibák listáját;
lényeges tudnivalók:
1. a hiba lehet: open - nincs lezárva, done - mehet a frissítés
2. milyen architektúrák érintettek: ha nem i386, akkor nyugodtan frissíts;
3. mi a hiba természete: 'w' kiad egy oldalt, itt lehet végigfutni;
ha bizonytalan vagy, inkább ne frissíts pár napig;
használható csomagonként is: apt-listbugs list csomagnév
(megj.: mivel a listbugs is megjegyzi a már jelzett hibákat, ezért nem jeleníti meg őket újra; ez nem mindíg jó ötlet, ezért az '/etc/apt/listbugs/ignore_bugs' állományt töröld le és tegyél a helyére egy symlinket, ami a '/dev/null'ra mutat ('ln -s /dev/null /etc/apt/listbugs/ignore_bugs')

apt-listchanges:
csomagfrissítéskor legyűjti az új változásokat, érdemes átfutni;
lényeges tudnivalók:
1. egy frissítés fejléce: csomagnév (verzió) melyik ágba került feltöltésre; mennyire fontos (minél magasabb, annál gyorsabban kerül be a testingbe); lábléc: csomagot feltöltő neve <emil> feltöltés dátuma
2. "New upstream version": új változata jelent meg a csomagot alkotó programból;
3. "debian/" debian specifikus állományok változnak, ilyenkor szokott a csomag release növekedni;
4. "patch": programkód változás bug javítás / feature bővítés / jobb együttműködés a debiannal;
5. "nmu" (non-maintainer upload): a csomag eredeti karbantartója épp nem volt elérhető, ezért másvalaki töltött fel új verziót; "bts" (bug tracking system): a debian bugokat nyilvántartó adatbázisa; "ftbfs" (fails to build from source): nem sikerült lefordítani a forrást, így nem készült el a bináris csomag (ált. bizonyos architektúránál);

auto-apt: erről majd a "4. fordítás" résznél;

debsums:
ellenőrizni lehet a feltelepített csomagok sértetlenségét;
használata: debsums -a | grep -v "OK"
lényeges tudnivalók:
1. "FAILED" : eltér az állomány md5 értéke a csomagban tároltétól; ez egyediesített állományoknál oké (pld.: bash.bashrc, logrotate.conf, stb.);
2. "debsums: no md5sums for": nincs hozzá md5 érték; majd egyszer lesz;

release critical hibák kilistázása:
telepíteni: devscripts
használata: rc-alert | less

szabálytalan státuszú csomagok listázása:
dpkg -l | grep -v "ii "
lényeges tudnivalók:
1. "rc": a csomaghoz tartozó konfigurációs állományok --amelyek az /etc könyvtárban találhatók-- nem kerültek eltávolításra. Amennyiben ezeket is törölni szeretnéd, add ki a 'dpkg --purge csomag' parancsot;
2. úgy általában, ha nem "ii" (épp ezt szűrtük le), akkor ajánlott újratelepíteni az adott csomagot: 'apt-get install csomagnév --reinstall'

a telepített csomagok neveinek listázása: dpkg --get-selections | cut -f1

egy csomag mely csomagoktól függ és melyek függnek tőle:
'apt-cache depends csomag' = mely csomagoktól függ;
'apt-cache rdepends csomag' = mely csomagok függnek tőle;

közvetlen turkálás a csomag-adatbázisokban?
a '/var/lib' alkönyvtáraiban rengeteg érdekesség van: 'apt/', 'dpkg/'

csomagok kézi letöltése:
ftp://ftp.debian.org/debian/pool/

az elmúlt 7 napban az "unstable"be került új csomagok követése: http://packages.debian.org/unstable/newpkg_main

hol van a pine és a pico? http://www.debian.org/doc/FAQ/ch-software.en.html#s-pine

a csomagfüggőségek felülbírálása: "equivs" csomaggal ismerkedj meg;

deb csomagok telepítése lokálisan (már ha 'dpkg -i csomagnev' nem elég)?
1. a .debek egy könyvtárban legyenek;
2. 'dpkg-scanpackages ./ /dev/null | gzip > Packages.gz ';
3. 'sources.list'-be: "deb file:/a_konyvtra_eleresi_utja /";
4. 'apt-get update';

feleslegessé vált csomagok keresése:
az idők során gyűlni fognak a direkt / véletlenül feltelepített, de mára feleslegessé vált csomagok;
hogyan lehet ezeket megtalálni?

'deborphan':
sima indításakor kigyűjti azokat a library csomagokat, amiktől nem függ semmi; a man oldalát átböngészve érdemes kicsit tuningolni: 'deborphan --priority=optional --all-packages | sort | less'

'debfoster':
kikeresi azon csomagokat, amiktől csak egy másik csomag függ, vagy egy sem; ha bármelyik kérdésnél "h"t ütsz kiírja a lehetséges műveleteket (fontos: (y)es = tartsa meg a csomagot, (p)rune = csomag és áráván maradó függőségeinek törlése, (i)nformation = infó a csomagról, (q)uit = kilépés csomageltávolítás nélkül); (megj.: a 'debfoster' megjegyzi az eddigi válaszokat, ha ezt felül akarjuk bírálni indítsuk egy "-n" kapcsolóval)

Fontos!
végig nagyon oda kell figyelni, mert sok fontos csomagtól nem függ semmi, ám leszedésük lehetetlenné teheti a rendszer működésést; ezért a fölöslegenek talált csomagok eltávolítása előtt mindíg nézd meg ('apt-cache show csomag') a fontossági szintje ("priority") ne legyen magas (magas: required, important, standard; alacsony: optional, extra) és a csomag rendeltetésébe is érdemes beleolvasni (pld. 'libtrash' nem árt))

egyéb programok, amiről nem esett szó (mert ugyanazokat a feladatokat látják el, mint a fentebb említettek, csak másképp): dlocate, dselect, aptitude

FIXME: 'reportbug'

Kernel

a debian szempontjából a kernel is csak egy csomag; pontosabban több: 'kernel-doc-verzio' = dokumentációk; 'kernel-headers-verzio' = csak a header állományok (külső modulok fordításához kell); 'kernel-image-verzio' = maga a kernel image és modulok; 'kernel-patch-foo' = a foo kernel patch (kiegészíti a kernel alap funkcióit) a "kernel-source"-hoz; 'kernel-pcmcia-modules' = pcmcia modulok külön szedve; 'kernel-source-verzio' = adott verziójú kernel forrás, ebből lehet saját kernel fordítani; 'kernel-tree-verzio' = vanilla kernel és a debian patchek;

legnagyobbrészt ezekre lehet szükséged:
kernel-image:
'kernel-image-2.4.18-bf2.4' - ez az eredeti kernel, ami egy sima telepítéskor felkerül; nincs benne semmi extra, se optimalizáció, de nem is igényel plusz munkát; ha ez az első telepítésed, vagy egyszerűen nem akarsz a kernel témával foglalkozni, akkor ezt tedd fel;
'kernel-image-2.4-proci' - adott processzorra optimalizált, friss 2.4 kernel debian változata; általában ezt ajánlott felrakni; (leggyakrabban használt "proci"k: 386, 686, k6, k7; 'uname -m')
'kernel-image-2.6-proci' - ez pedig az új, 2.6 kernelhez; adódhatnak még vele problémák;
modulok: a 2.4 kernelhez a 'modutils', a 2.6 kernelhez a 'module-init-tools' csomagra lesz szükség;
kernel-headers:
ha külső kernel modult akarsz fordítani, akkor tedd fel a kernelnek ('uname -m') megfelelőt;
pld.: ha "2.4.26-1-686 i686" az eredmény, akkor "kernel-headers-2.4.26-1-686"-ra lesz szükség;

kérdések 'kernel-image-2.4-proci' és 'kernel-image-2.6-proci' telepítésekor:
dash: "Install dash as /bin/sh?" inkább nem, még nem teljesen kompatibilis a bashhal és ez a scriptek egy részét zavarja;
"You are attempting to install an initrd kernel image (...)": ezután figyelmeztet, hogy initrdt használó kernelt telepítesz, ezt most hagyd figyelmen kívül ("n"), mindjárt megtesszük a szükséges lépéseket);
végül jelzi, hogy nem létezik a '/initrd.img' symlink, létrehozza az új kernelnek megfelelően? igen;

ezután egészítsük ki a grub 'menu.lst' állományt, a "kernel (...)" rész után:

 initrd /initrd.img

reboot és minden oké;
pontosabban majdnem minden, mert lehet, hogy pár kernel modul nem fog üzemelni, ezért 'lspci' és 'modconf' párost vesd be;

(a kernel fordításról majd a végén lesz szó)

gratulálok, van egy sid rendszered;

FONTOS!
oké, fenn van a rendszer, remélhetőleg már megfelelően funkcionál (ill. fog a késöbb leirtak alapján), de a lényeg most jön: rendszeresen frissen tartani; a sid szinte minden nap kap egy adag friss csomagot, amit a fentebb leírt update és dist-upgrade módon lehet birtokba venni; az egyik legjobb biztonságot és stabilitást fokozó lépés, ha folyamatosan naprakészen tartod a rendszered;

Desktop

X

kitérő (x): az XFree86 (jelenleg) a legelterjedtebb ingyenes x11 klón; legismertebb képessége a grafikus megjelenítés;
rengeteg információt találsz erről a témáról az 'xfree86-common' csomaghoz tartozó '/usr/share/doc/xfree86-common/FAQ.gz'-ban;

(megj.: ha nem ismered _pontosan_ az egered x alatti beállítását, akkor tedd fel az "mdetect' csomagot, és az 'mdetect -v' általában helyesen meghatározza a device / protocol párost; ha ez sem elég, akkor a http://xfree86.org/current/mouse.html oldalon érdemes körülnézni)
(megj.2: az 'mdetect'től - főleg x alatt - megbolondulhat az egér; ilyenkor reboot segít)

telepíteni: x-window-system - ~40megát tölt le
kérdések:
fontconfig: Enable sub-pixel rendering? ha kedveled, akkor igen (cleartype); Enable bitmapped fonts by default? nem; Enable the freetype autohinter module? ha kedveled, akkor igen (más átméretezési kód);
xserver-common: Select what type of user has permission to start the X server: Console Users Only; nice value: 0 (-10zel gondok lehetnek)
xserver-xfree86: Select the desired X server driver. : 'lspci' megmondja; Enter an idnetifier for your video card. : maradjon alapbeállítás; Please enter the video card's bus identifier. : általában jó üresen; Enter the amount of memory (in kB) to be used by your video card. : általában jó üresen; Please select the XKB rule set to use. : xfree86; Please select your keyboard model. : pc105; ... keyboard layout. : hu; ... keyboard variant. : általában jó üres; ... options. : általában jó üresen; Please choose your mouse port: a szöveg elmagyarázza, vagy az 'mdetect -v' meghatározza; Emulate 3 button mouse? : ha két gombos egered van, akkor igen; Enables scroll events from mouse wheel? : ha van görgő, akkor igen; Enter an identifier for your monitor. : maradjon alapbeállítás; Is your monitor an LCD device? : logikus; Please choose a method for selecting your monitor characteristic. : Medium ajánlott; ... select your monitor's best video mode. : tegyük azt; Select the video modes you would like the X server to use. : legjobb, ha nincs semmi kijelölve, így az x autómatikusan felismeri a használható felbontásokat és a legmagasabbat alkalmazza induláskor; Please slect your desired default color depth in bits. : tegyük azt; select the XFree86 server modules that should be loaded by default. : GLcore kívül minden mehet; Write default Files section to configuration file? : igen; ... DRI ... ? : igen;

telepíteni: dfontmgr x-ttcidfont-conf msttcorefonts read-edid
(első egy gui a 'defoma'hoz (debian standard karakteres font kezelője); második standard ttf/cid font kezelő; harmadik a ms szabadon terjeszthető ttf készletét telepíti fel; végül monitor felismerő; kérdések:
msttcorefonts: ezek nem ingyenes fontok; ha már letöltöttük külön a fontokat, akkor adjuk meg a könyvtárat; ha meg akarjuk tartani, adjuk meg könyvtárat, ahová mentse;
x-ttcidfont-conf: Backend use for TrueType handling on X. : "xtt" (nagyobb tudású); Prefer speed over quality while rendering? nem;

pár beállítást kézzel kell elintézni az '/etc/X11/XF86Config-4'ben:
xfs letiltása: x font servernek igazság szerint csak hálózatban lehet haszna, amikor csak egy gép tárol fontokat; a "FontPath "unix/:7100"" sor elé #, így 3-4 másodperccel gyorsabban tölt be az x;
x-ttcidfont-conf engedélyezése: az "# if the local font server has problems, we can fall back on these" sor után szúrd be ezeket:

 FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
 FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

az xfree86 magában kevés, még szükség lesz egy ablakkezelőre is, most az "xfce4"et tesszük fel, ez elég jól használható, ugyanakkor kicsi és egyszerű (http://xfce.org/index.php?page=overview&lang=en ):
telepíteni: xfce4 xfce4-goodies - ~20 mega letöltés
kérdések:
libpango1.0-common: ... defoma? igen;
(megj.: az xfceből közvetlen rendszerle- vagy újraindítás csak akkor fog működni, ha az '/etc/sudoers' helyesen ki lett töltve, lásd feljebb)

még szükség van az ablakkezelő automatikus elindításának elintézésére; az alap 'xdm' (x display manager; a dm felel az x indítása után a grafikus bejelentkezésért és megfelelő init scriptek elindításáért) nem a legnagyobb tudású, de mindíg kézénél van; ha egy látványosabb és könnyebb dmet akarsz, akkor tedd fel pld. a 'gdm'et (és a 'gdm-themes' csomagot); az aktuális dm nevét az '/etc/X11/default-display-manager'ből lehet lekérdezni;
ha xdmnél maradsz, akkor el kell készíteni egy kis scriptet a '~/.xsession' állomány formájában:

 exec xfce4-session

ez indítja az xfce4et;
(megj.: az xdmet a ctrl+r kombinációval lehet leállítani)

még egy kis xdm tuning:
az '/etc/X11/xdm/Xservers' utolsó sor végére írd be: " -br"
így az eredeti izléses fekete/szürke rács helyett sima fekete háttere lesz a bejelentkezésnek;

Fontos!
alapból az x nem engedélyezi a root kapcsolódását, még terminál emulátorról sem;

a hibaüzenet:

 Xlib: connection to ":0.0" refused by server
 Xlib: No protocol specified

egyik lehetséges megoldás:
rootként add ki ezt a parancsot: 'ln -s /home/user_aki_jogosult_xre/.Xauthority /root/'
(természetesen az "user_aki_jogosult_xre" az az user legyen, akit a root is használ általános célokra; és ha már létezik a '/root/.Xauthority', akkor nem árt törölni)

X (folytatás)

két leggyakoribb hiba, ami az x nem megfelelő működéséhez vezet:
1. videókártya ("No screen found.")
ilyenkor újra egyeztetni kell az 'lspci' eredményét és a 'xserver-xfree86' beállításait; ha nagyon nem jutsz dűlőre ebben, akkor idéglenesen próbáld meg 'vesa' módban;
még okozhatja a monitor rossz konfigurálása (nem támogatott felbontás);
2. egér ("No core pointer registered")
egyszer be kell lőni, itt találsz tippeket: http://xfree86.org/current/mouse.html

előszőr a '/var/log/XFree86.0.log'ban érdemes körülnézni, és keressük ki (ha less a pager: "/" majd szöveg, újbóli keresés az "n") az "EE" kifejezésre;
(megj.: a "0" szerepe az, hogy ez a 0. x; mivel a rendszer szempontjából az x is csak egy program, ezért ebből is egyszerre több futhat)

az xet a ctrl+alt+backspace kombinációval lehet újraindítani (pontosabban az x leáll, de ha egy dm van előtte, akkor az újra indítja); ha le akarjuk állítani, akkor lépjünk ki az egyik virtuális konzolra (ctrl+alt+f1), majd lépjünk és rootként állítsuk le a megfelelő dmet;

pár szó az 'XF86Config-4'ről:
a debian külön adatbázist vezet a fontos beállításokról ('/var/cache/debconf/config.dat' kézzel nem ajánlott belenyúlni), ezeket a beállításokat használja a 'debconf' a tényleges konfigurációs állományok generálásához; ha egy generált konfigurációs állományt kézzel megváltoztatsz, az a következő autómatikus írásakor (pld frissítés vagy újrakonfigurálás) a változtatások elvesznek (vagy rákérdez a debconf, hogy felülírhatja-e); ellenben az XF86Config-4 speciális, mivel az egyedi igények miatt megengedett a szerkesztése, mivel ilyenkor megváltozik az md5 értéke, így a csomagkezelő értesül, hogy a megváltozott tartalom miatt ne írja felül; ez van mikor jó és van mikor mégis szükség van egy friss generálására; utóbbi eléréséhez a következő parancsokat kell kiadni (az 'XF86Config-4' elején is szerepelnek):

 cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
 md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
 dpkg-reconfigure xserver-xfree86
(további infók: '/usr/share/doc/xfree86-common/FAQ.gz')

ha meg akarod nézni, hogy jól mennek-e a truetype fontok, tedd fel a 'gtkfontsel' csomagot, majd ugyanilyen nevü binárist indítsd el; "Szűrő" fül, "Betükészlet-típusok" csak "Méretezhető" legyen, "Karakterkészlet" pedig "iso10646-1" (unicode), majd "Betükészlet" fülön lehet tesztelni;

gondolom itt feltűnt a gtk / qt programok hanyag eleganciája; a helyzeten változtatni gtk alatt a 'gtk-theme-switch' csomag telepítésével lehet, majd 'switch' választ gtk1.2 skinek közt, 'switch2' a gtk2.x (persze a root és minden user külön konfigurációs állományt kap); a megfelelő működéshez nem árt skineket felvenni ('gtk-engines-*' és 'gtk2-engines-*' csomagok); a qt esetén a 'qt3-config' kell (ha kdet használsz, akkor inkább annak az irányítópultja ajánlott), majd 'qtconfig' bináris és a "Apperarance" fülön a "Select GUI style" pld. "CDE" legyen, a "Fonts" fülön a "Default Font" alatt "Family" pld. "Arial";

kitérő (az x _hatékony_ használata): pár unixon elterjedt módszer: a "desktop switching" (munkaterület váltás) lényege, hogy egy ablakkezelő több munkaasztalt képes kezelni, ezzel pld. az ablakok tologatása, ikonizálása helyett annyi teljes képernyős program futhat, amennyi jólesik; "shrink" (felgörgetés), az ikon állapotnál jobban kezelhető, ha az ablak ahelyett, hogy a képernyő vmelyik végébe vándorolna, inkább fejléc méretűre zsugorodik (nem kell annyit kolbászolni az egérrel, hogy vissza lehessen állítani eredeti méretére); a másolás&beillesztés meggyorsítására szolgál az egér középső gombja, amivel az előzőleg kijelölt szöveg illeszthető be (két gombos egér esetén be kell állítani a középső gomb emulációját, majd a bal és jobb gomb egyidejű lenyomását alkalmazni; vagy nyomj egy shift+insert kombinációt);

kitérő (egér magas szinten): az ablak bármelyik részén alt + bal egérgomb = mozgatás, alt + jobb egérgomb = átméretezés (az ablak sarkainál érdemes), alt + középső gomb = átváltás a fedésben lévő ablakra; a jobb egérgomb a maximalizálás gombon horizontális maximalizálást eredményez (pld. terminál emulátoroknál hasznos);
(megj.: nem minden ablakkezelő támogatja ezeket és nem mindenhol ugyanezek a kombinációk)

érdemes felrakni egy képernyővédőt:
az 'xlockmore' (vagy opengl kompatibilis 'xlockmore-gl') elég kicsi és egyszerű, pld. xfce4 alatt ez az alapértelmezett;
az 'xscreensaver' ellemben nagy, robosztus, stb.; az 'xscreensaver-gl' tartalmazza a modulok opengl változatát;

az 'imagemagick' programcsomag, rengeteg grafikus formátumhoz kínál nézési ('display'), konvertálási ('convert'), képlopási ('import'), stb. lehetőséget; szintén több program használja a képességeit;
(további infók: http://www.imagemagick.org/ )

Tűzfal

a 2.4 és 2.6 kernelek alapértelmezett csomagszűrési felülete a "netfilter", használatba vétele az 'iptables' parancs segítségével lehetséges; a folyamat leegyszerűsítésére léteznek olyan programok, amelyek egyszerűbb beállítás alapján generálnak egy scriptet, amely elvégzi az alacsonyszintű beállítást; szóval tűzfal beállító programok;
imho desktop célra a "firestarter" (http://firestarter.sourceforge.net/ ) a legjobb választás;

a 'firestarter' csomagot kell feltelepíteni, majd beállítani a 'firestarter' paranccsal: "Network device setup": ez egyértelmű; "Network services setup": ha nem futtatunk semmilyen szolgáltatást más gépek felé, akkor disable; "mentés" és kész is vagyunk;

ha zavar, hogy a firestarter telelszórja a dobott csomagok logjával a tty8-at és a '/var/log/syslog'ot, kapcsold ki a loggolást:
az '/etc/firestarter/firewall.sh' állomány "$IPT -A LD -j LOG --log-level=info" sora elé tegyél egy #t;

Kényelem

linux alatt az egyik legtöbbet használt program az x-terminál-emulátor, pár lépés a kényelmesebbé tételéhez:
alternatívák: xterm, rxv, aterm. mlterm, eterm, gnome-terminal-emulator, konsole, wterm, ...; mind különböző tudású és erőforrásigényű, előbb-utóbb mindenki megtalálja a neki tetszőt; én az xtermről fogok írni, mert nekem ez a legszimpatikusabb;

xterm tuning:
'/etc/X11/app-defaults/XTerm':

a végét egészítsd ki:

 *jumpScroll: true
 *saveLines: 1000
 *scrollBar: true
 *scrollTtyOutput: false
 *scrollKey: false

jumpScroll: egyszerre több sort képes megjeleníteni, ez nagy kiírandó szövegmennyiségnél (pld. fordításkor) gyorsít; saveLines: ennyi sort lehet visszascrollozni; scrollBar: görgetősáv (egér bal gombja lefelé scrolloz, jobb felfelé; ugynaez érhető el a shift+fel/le gombokkal); scrollTtyOutput: ne ugorjon alulra, ha szövegkiírás történik (pld. mplayer lejátszás közben is vissza lehet scrollozni); scrollKey: bill. leütéskor se ugorjon alulra (pld. egy régebbi 'ls' eredménye alapján írunk parancssorba);

'/etc/X11/app-defaults/XTerm-color':
írd át így:

 *VT100*foreground: black
 *VT100*background: snow
 
ez jobban olvasható (bár ez ízlés kérdése, mindenesetre az alapszinek mindenképp jobban néznek ki fehér háttér előtt);

bash tuning:

ellenőrizd, hogy az '/etc/bash.basrc'ben az "# enable bash completion in interactive shells" után következő rész #telen legyen (tehát a programozható kiegészítés be legyen kapcsolva);
érdemes még beírni a végére:

 #megerősítést kérjen állomány felülírás előtt (az 'rm' izlés szerint)
 alias cp='cp -i'
 alias mv='mv -i'
 #alias rm='rm -i'
 #olvasható 'df'
 alias df='df -h'
 #a history megnövelés
 export HISTSIZE=1000
 export HISTFILESIZE=1000
 #sordupplázás hanyagolása a historyban
 export HISTCONTROL=ignoredups
 #bőbeszédűbb 'less'
 export LESS='-M'

megj.: a 'cp', 'mv' és 'rm' parancsokat érdemes megtoldani egy '-v' kapcsolóval, így mindíg egyértelmű, hogy mit csinálnak;

az usernél a '~/.bashrc'ben cseréld le az eredeti "ls=" sort, így az 'ls' kimenete sokkal használhatóbb lesz:

 alias ls='ls --color=always -a -h -F -s'
és az "If this is an xterm set the title to user@host:dir" után szedd ki a #eket, így az xterm ablak fejléce alapján könnyen beazonosítható lesz, melyik ablakban mi történik;

a '/root/.bashrc'be írd be a fenti "alias ls=" sort és a "If this is an xterm set the title to user@host:dir" után következő részt;

xbindkeys:
lehetővé teszi, hogy tetszőleges programot rendeljünk billentyűzet ill. egér kombinációhoz;
rendkívül alaposan konfigurálható, érdemes körülnézni az '/usr/share/doc/xbindkeys/examples'ben;
egy egyszerű példa:
a '~/.xbindkeysrc'be írd be:

 "x-terminal-emulator"          
 control+alt+t
  
az 'xbindkeys &' parancs után már használható is;

libtrash:
segít a véletlen vagy direkt katasztrófák elkerülésében azzal, hogy az állományok törlés helyett az adott felhasználóhoz tartozó '~/Trash'-ba kerülnek;
aktiválására az egyik módszer, ha az '/etc/ld.so.preload' állományba elhelyezed a "/usr/lib/libtrash/libtrash.so" sort;
továbbá az '/etc/bash.bashrc'be:

 #libtrash
 alias trashon="export TRASH_OFF=NO"
 alias trashoff="export TRASH_OFF=YES"
 export TRASH_OFF=NO

így egy 'trashon'/'trashoff' paranccsal ki-be lehet kapcsolni;
(megj.: persze nem árt időnként kikapcsolni és kiüríteni az említett 'Trash' könyvtárakat)
(megj.2: ha el akarod távolítani a csomagot, akkor előszőr töröld a bejegyzést az 'ld.so.preload'ból)

Acpi

nem teljesen ide tartozik, de ideje megismerkedni ezzel; az acpi egy modern, az [[apm] felváltására készült energia-gazdálkodási rendszer; az utóbbival ellentétben nem a bios irányítja a folyamatokat, hanem az operációs rendszer; egyszeri felhasználónak két dolog miatt érdekes: 1) "cpu halt", azaz a processzor szoftveres hűtése üresjáratban; 2) "button", ami lehetővé teszi, hogy a power/suspend gomb megnyomásakor egy előre meghatározott script fusson le;
(megj.: a "cpu halt" a 2.6 kernelnél már alapból be van kapcsolva, power managmenttől függetelenül)

beizzítása:
1. győződj meg róla, hogy a biosban be van-e kapcsolva;
2. kernel támogatás bekapcsolása: a '/boot/grub/menu.lst"ben a "kernel (...)" sor végére az "acpi=force" kifejezést írd be és 'grub-install'; reboot;
3. 'acpid' telepítése;
3. kernel modulok betöltése: 'modconf' - kernel/drivers/acpi - legyen bekapcsolva: ac, battery, button, fan, processor, thermal

ha most megnyomod a power gombot, akkor a rendszer szabályos leállítást hajt végre ('shutdown -h now');

DE nem minden alaplapi chipsethez van stabil acpi támogatás, ha az "acpi=force" után megáll a boot, akkor próbálkozz egy késöbbi (2.6) kernellel;
ha így se megy, akkor marad az apm: grubnak "apm=on"; 'apmd' csomag; apm kernel modulok (főmodul + cpu_idle);

Csomagkezelés (grafikus)

természetesen nemcsak karakteres felületet használó csomagkezelő programok léteznek;
'synaptic': az 'apt' képességeinek széles körét valósítja meg egy jól megtervezett felületen;
'gkdebconf': csomagok újrakonfigurálását segíti elő;

a csomagok a konfigurálás alatt a 'debconf' segítségével tudnak egy szabványos felületen keresztül kommunikálni a felhasználóval; a 'debconf' újrakonfigurálásakor több kiment közül is lehet választani; ha a grafikus csomagkezelés a cél, akkor a "Gnome" vagy a "Kde" interface áll rendelkezésre: az előbbi gtkt használ (és a 'libgnome2-perl' csomagot igényli), az utóbbi pedig qtt ('libqt-perl'); kicsit eltér mindekettőnek a felépítése, de teljesen ugynazt végzik el;

Hang

1. kernel
előszőr érdemes megbizonyosodni arról, hogy a hangkártyának megfelelő driver van betöltve:
'lspci' "Multimedia audio controller" és az 'lsmod' egyeztetése; (pld.: "Ensoniq ES1371 [AudioPCI-97]" - "es1371")
ha nincs: kézzel ('modconf') vagy hardwarefelismerővel ('kudzu', 'discover') rakd be;

kitérő (a hangkeltő eszközök támogatása linux alatt): a 2.6 kernelig az OSS volt az alapértelmezett hangkezelési api, ami jópár unix variánsra létezik kereskedelmi termékként, míg a linux kernelbe egy gpl kompatibilis változat került bele, de egyes kártyákhoz korlátozott a tudása és a mai professzionális ingényeknek már nem felel meg; a 2.6 kerneltől alapértelmezett az ALSA (megj.: 2.4hez is elérhető külső kernel modulként), ami már az alapoktól kezdve szabad szoftver, rendelkezik korrekt oss emulációval, vmint ladspa (http://en.wikipedia.org/wiki/LADSPA ) támogatással;

2. library (opcionális)
alsa esetén a 'libasound2' csomag biztos lesz igény; ha alsa kompatbilis softwaret akarsz fordítani, akkor kell a 'libasound2-dev' és 'alsa-headers';
vmint érdemes körülnézni, mert van külön alsa változat pld. az esdből ('libesd-alsa') és sdlből ('libsdl1.2debian-alsa');

3. daemon (opcionális)
ha a hangkártya nem tud hardwares mixelést, akkor alapesetben egyszerre csak egy program tudja használni; ennek kiküszöbülésére vannak a sound daemonok, amelyek nyitva tartják a hangkártyát, miközben a felejük irányuló hangkéréseket softwaresen mixelik össze;

honnan lehet tudni, hogy a hangkártya ismeri-e a hardwares mixelést?
http://www.alsa-project.org/alsa-doc/ , itt keresd ki a gyártót, majd a kártyát és ha a "Notes" oszlopban a "(4)" jelzés van, akkor oké; legalábbis alsa alatt;

milyen (ismert) sound daemonok léteznek?
ARTS (analog realtime synthesizer): kde preferálja;
ESD (enlightenment sound daemon): a névadó abalakkezelőn kívül a gnome preferálja;
Jack (jack audio connection kit): a többinél sokkal kisebb a késletetése;
NAS (network audio system): az x11hez kifejlesztett sound daemon; nem vált standardá, de jópár program használja ('libaudio');

4. mixer
nem utolsó sorban egy mixerre is szükség van a különböző be- és kimenetek beállításához;
a legegyszerőbb választás az 'aumix-gtk', ami egy egyszerű gtk alkalmazás;
alsa mellé érdemes felrakni az 'alsamixergui't, ami képes az alsa minden képességét kihasználni;
(megj.: ha lemented a beállításokat, akkor minden bootoláskor érvényesülni fognak)

Variációk

kisebb gyűjtemény különböző célokra alkalmazható elterejdt megoldásokról;
(persze ez egy nagyon vékony list, ha vki úgy érzi, hogy vmit nagyon kihagytam, az nyugodtan írjon; bár léteznek sokkal átfogóbb összeállítások, amikkel nem célom felvenni a versenyt)
(a sokkal átfogóbb összeállítások: http://linuxshop.ru/linuxbegin/win-lin-soft-en/table.shtml http://freshmeat.net/browse/ )

ablakkezelő:

IceWM - http://freshmeat.net/projects/icewm/
gyors, egyszerű és ismerős a felépítése; korlátozott tudású és nem bővíthető;

fluxbox - http://freshmeat.net/projects/fluxbox/
az egyik legalapabb ablakkezelő;

XFce4 - http://freshmeat.net/projects/xfce/
eggyel komolyabb darab, konfig felület, modul támogatás, panel, stb.;

KDE - http://freshmeat.net/projects/kde/
gnome - http://freshmeat.net/projects/gnome/
nehézsúlyú desktop environmentek, szinte minden feladatra van saját alkalmazásuk, de erőforrásigényesek; (kdehez ezeket a csomagot telepítsd fel: kde kdebase kde-i18n-hu)

editor:

nano - http://freshmeat.net/projects/nano/
jól használható, nem túl komplex editor;

joe - http://freshmeat.net/projects/joe/
könnyed és funkciódús;

VIM - http://freshmeat.net/projects/vim/
emacs - htttp://freshmeat.net/projects/emacs/
ultimate editor(ok);

scite - http://freshmeat.net/projects/scite/
gtk alapú editor;

zenelejátszó:

mp3blaster - http://freshmeat.net/projects/mp3blaster/
karakteres lejátszó; sok formátum, jó playlist;

XMMS - http://freshmeat.net/projects/xmms/
winamp2re emlékeztet, bővíthető;

wxmusik - http://freshmeat.net/projects/wxmusik/
nagyon cool playlist;
(nincs hivatalos deb csomag, fordítani kell)

grip - http://freshmeat.net/projects/grip/
audió cd lejátszó és rip;

emil:

mutt - http://freshmeat.net/projects/mutt/
bejáratott, karakteres kliens;

sylpheed-claws - http://freshmeat.net/projects/sylpheed/claws/
guis, könnyen kezelhető és bő tudású;

evolution - http://freshmeat.net/projects/evolution/
emil, naptár, címjegyzék, stb.

böngésző:

links - http://freshmeat.net/projects/links/
karakteres böngésző, táblázat, frame, js, stb.

opera - http://freshmeat.net/projects/opera/
kis mérető és nagyon jól használható böngésző;
(az opera.comról letölthető deb csomag)

Mozilla_Firefox - http://freshmeat.net/projects/firefox/
a mozilla tapasztalataiból született kis méretű böngésző;
(a csomag neve mozilla-firefox)

mozilla - http://freshmeat.net/projects/mozilla/
komplett csomag: böngésző, emil, irc, stb.

képnéző:

gqview - http://freshmeat.net/projects/gqview/
egyszerű képnéző diavetítéssel;

gthumb - http://freshmeat.net/projects/gthumb/
funkciógazdag képnéző;

instant messaging:

licq - http://freshmeat.net/projects/licq/
icq kliens plugin támogatással;

gaim - http://freshmeat.net/projects/gaim/
minden lényeges protokollt támogat;

irodai alkalmazások:

AbiWord - http://freshmeat.net/projects/abiword/
jól használható szövegszerkesztő;

gnumeric - http://freshmeat.net/projects/gnumeric/
jól használható táblázatkezelő;

OpenOffice.org - http://freshmeat.net/projects/openoffice/
teljes értékű irodai programcsomag;
(érdemes az 'openoffice.org-lang-hu' csomaggal felrakatni)

videólejátszó:

MPlayer - http://freshmeat.net/projects/mplayer/
a létező legjobb médialejátszó;
(nincs hivatalos deb csomag, fordítani kell)

ogle-gui - http://freshmeat.net/projects/ogle/
dvd lejátszó menű támogatással;

cdírás:

cdrecord - http://freshmeat.net/projects/cdrecord/
legelterejdtebb író program;

k3b - http://freshmeat.net/projects/k3b/
gcombust - http://freshmeat.net/projects/gcombust/
grafikus írófelületek;

rendszerfigyelés:

xmbmon - http://freshmeat.net/projects/xmbmon/
hőmérséklet figyelő, nem igényel i2ct;

gkrellm - http://freshmeat.net/projects/gkrellm/
bővíthető funkciógazdag rendszerfigyelő;

gdesklets - http://gdesklets.gnomedesktop.org/
asztalon futó bővíthető progamcsomag;

professzionális feladatok:

LaTeX - http://freshmeat.net/projects/latex/
képleteket tartalmazó komolyabb dokumentumok formázására alkalmas rendszer;

GIMP - http://freshmeat.net/projects/thegimp/
funkciógazdag rajzprogram;

inkspace - http://www.inkscape.org/
vektoralapú rajzprogram;

blender - http://freshmeat.net/projects/blender/
yaffray - http://freshmeat.net/projects/yafray/
3d szerksztő program modellezéshez, animációhoz, rendereléshez; egy modern raytracing alapú renderelő rendszer;

scribus - http://freshmeat.net/projects/scribus/
professzionális dtp rendszer; támogatja a magyar tipográfiai igényeket;

Egyéb

fontokat adtam hozzá vagy távolítottam el és most hibásan / lassan jelenik meg minden:
generáld újra a cachet: 'fc-cache -fv'

egy program által maximálisan használható sávszélesség szabályozása:
telepíteni: trickle
daemon indítása: trickled &
pld.: egy parancs max 40kval tölthessen le: trickle -d 40 parancs
('man trickle')

az opera teljesértékű működéséhez szükség van a lesstif2 (netscape plug-inek) és libaspell15 (helyesírás ellenőrzés) csomagokra is;

flash plugin beállítása:
telepítsd fel a 'flashplugin-nonfree' csomagot, ami a '/usr/lib/flashplugin-nonfree/' könyvtárba pakolja a plugint ('flashplayer.xpt' és 'libflashplayer.so' állományok);
ha pld. opera alá akarod beüzemelni, akkor a beállítások ablakban (alt+p) a "Plug-ins" rész "Plug-in path"ok közé vedd fel a "/usr/lib/flashplugin-nonfree/" vagy "/usr/lib/mozilla/plugins/" könyvtárat; (persze a "Multimedia" résznél a plug-inek használatát engedéjezd;)
tesztoldal: http://www.macromedia.com/shockwave/welcome/

realplayer:
1. http://www.real.com/player/
2. telepítő indítása: RealPlayer10GOLD.bin
3. hova telepítsen: '/usr/local/RealPlayer' és "system-wide symbolic links" a '/usr/local' menjen;
4. 'realplay' a bin neve;
a pluginek lelőhelye: /usr/local/RealPlayer/mozilla/ vagy /usr/lib/mozilla/plugins/
tesztoldal: http://movies.guide.real.com/

java plugin:
nuy alatt két változat érhető el:
1. eredeti sun jre: http://java.sun.com/products/plugin/index.jsp - "Download the JRE." - "J2SE v x.y.z JRE" - "Linux Platform" "self-extracting file"
2. blackdown változat: ftp://xenia.sote.hu/pub/mirrors/java.blackdown.org/ - "JDK-x.y.z" - (architektúra) - (release) - j2re legyen és gcc2.95 kompatibilitási okokból;
(megj.: a blackdown általában jobb kompatibilitással rendelkezik; bár vannak debian csomagok, de jó ideje nem frissítik őket)
blackdown java telepítés:
lépj be az '/usr/local/' könyvtárba és indítsd a telepítőt (rootként): './j2re-1.4.2-rc1-linux-i586-gcc2.95.bin' (licenszt olvasd el vagy nyomd tovább (2q"), majd fogadd el ("yes");
plug-in használatba vétele:
opera:
megint a beállító ablakban (alt+p) a "Multimedia" résznél a "Java path" legyen pld.: '/usr/local/j2re1.4.2/bin/' (persze a "Multimedia" résznél a java használatát engedéjezd; a "Validate java path" nem mindíg működik helyesen;
tesztoldal: http://www.idx3d.ch/
(megj.: ha fagyna a java próbáld a program indítás előtt a 'export LD_ASSUME_KERNEL=2.2.5' parancsot; főleg 2.6 kernel alatt jelentkezik)

gdesklets használata terminál emulátorból:
indítsd el a daemont: gdesklets --tray-icon &
lépj be a modulokat tartalmazó könyvtárba ('/usr/share/gdesklets/Displays/') és egy indítási példa: gdesklets infobar/info2-light.display
(megj.: várj pár másodpercet, amíg az adott modul teljesen futásképes lesz (teljesen kirajzolódik), egyébként pozícionálási hibák lehetnek)
(megj.2: kilépéskor megjegyzi a futó modulokat és pozíciójukat)

libc6-i686:
a glibc legtöbb libraryját lecseréli egy 686os processzorra (minimum pentiumpro) és nptlre (2.6 kernel) optimalizált változatra;
gyorsabb lehet, de néhány zárt forráskódu programmal nem kompatibilis;

prelink:
összehangolja a binárisokat és a hozzájuk tartozó dinamikusan linkelt libraryket, így gyorsabban indulnak a programok;
használata: '/usr/share/doc/prelink/README.Debian'
(megj.: felejtsd el, ha "pax"ot használsz, mert nem kompatibilisek egymással)

idő szinkronizálása netes atomórához;
rdate: kézzel kell futtatni (vagy initből, cronból), pld.: 'rdate time.kfki.hu; hwclock --systohc'
chrony: daemont telepít és az idő múlását korrigálja;

mire szolgálnak az l10n ás ddtp projectek?
az l10n célja a debian rendszer felkészítése angoltól eltérő nyelvi környezetekkel történő együttműködésre; magyar levelezőlista: http://lists.debian.org/debian-l10n-hungarian/ (megj.: az "l10n" és "i18n" magyarázata: http://en.wikipedia.org/wiki/Internationalization_and_localization )
a ddtp feladatköre csomagleírások fordítása; honlap: http://ddtp.debian.org/ ; ismertető: https://hup.hu/modules.php?name=News&file=article&sid=6687

új egérmutató telepítésére:
az egyik legjobb gyűjtemény a kde-lookon van: http://www.kde-look.org/index.php?xcontentmode=36
példa a "bean" téma telelpítésére:
1. a kde-look egér oldalát rendezd abc rendbe, majd "Bean Cursor Thema" és ezen belül "download"
2. lejön egy '6277-bean.tar.bz2' állomány. tömörítsd ki;
3. ha például áttetsző és árnyékkal rendelkezü változatot akarod használni, akkor a 'Bean/Bean-transparent-shadow/' könyvtárat másold át a '/usr/X11R6/lib/X11/icons/' könyvtárba;
4. egy adott kurzor aktiválásához a '/usr/X11R6/lib/X11/icons/default/index.theme' "Inherits=" részében kell az adott könyvtárat megadni, esetünkben: "Inherits=Bean-transparent-shadow"
5. X újraindítása után életbe lép az új kurzor;
(megj.: az animált kurzorok villogásának kiköszöbölése: az '/etc/X11/XF86Config-4' "Generic Video Card" résézbe helyezd el ezt a sort: Option "HWCursor" "0" )

hol találok témákat, háttereket, stb.:
http://themes.freshmeat.net/
http://www.kde-look.org/
http://art.gnome.org/
http://www.73lab.com/

Fordítás

Programok forrásból

milyen csomagokra lesz szükség?
'build-essential' = biztosítja a fordításhoz szükséges alapvető csomagok meglétét (libc6-dev, gcc, g++, make, dpkg-dev);
'auto-apt' = ha egy program egy nem létező állományt akar elérni, akkor kikeresi a megfelelő csomagot és felajánlja a telepítését; (a megfelelő működéséhez a következő csomagokat telepítsd fel: sudo wget dpkg-dev libgtk-perl; csak x alatt működik rendeltetés szerint); a felajánlás lehet egy vagy több csomag, utóbbi esetben érdemes megnézni az "info" alatt melyiket érdemes választani; ha nem ismered, mire való az adott csomag, akkor is érdemes elolvasni az "info"t; ha bizonytalan vagy: nyomj mindenre "install';

auto-apt használata:
'auto-apt run parancs' = a parancs figyelése;
'auto-apt update' = állomány-listák frissítése; (első használat előtt mindenképp kell és minden dist-upgrade után ajánlott)
'auto-apt search allomany' = adott allomany mely csomag(ok)ban fordul elő;

még egy apróság: a fordítás céljából kitömörített források szabványos helye az '/usr/src';

a fordítás menetenek bemutatasa 3 példával:
1. detox (parancssoros)
a program lecseréli vagy eltávolítja az állomáynnevekből a nehezen feldolgozható karaktereket (ékezetek; speciális jelentéssel bíró karakterek (pld.: szókőz, zárójel), stb.);

honlap: http://detox.sf.net/
letöltés után tömörítsd ki az '/usr/src'be, majd lépj be a frissen készült 'detox-x.y.z/' könyvtárba;

fordítás lépései:

 'auto-apt run ./configure'
a "./configure" az aktuális könyvtárban lévő "configure" scriptet indítja el, amely a rendszer hardware és software felépítéséből eldönti, hogy elvégezhető-e a fordítás illetve beállítja a fordítási paramétereket a rendszerhez (include állományok helye, /dev eszközök létezése, stb.); az "auto-apt run" fentebb ismertetve;

 'make'
egyszerűbbé teszi a fordítást, mivel minden fordítási utasítást elvégez;

 'make install'
telepíti a programot és egyebeket (dokumentáció, konfig állományok, stb.);

a detox használatáról a 'man detox' ad segítséget;

2. gqview (grafikus program)
képnéző program gtk felülettel;

honlap: http://gqview.sf.net/

fordítás lépései:
'auto-apt run ./configure'
'make'
'make install'

 'make uninstall'
ez új, az előzőleg telepített dolgokat lehet visszaszedni;

 'make clean'
előzőleg leforított állományokat törli;

3. mplayer
médialejátszó, a legjobb;;

előszőr a lame codecet kell felrakni, ha mp3 formátumba akarsz hangsávot enkódolni;
letölthető: http://sourceforge.net/projects/lame/
tömörítsd ki, configure, make, make install;

mplayerből felrakhatsz releas vagy cvs változatot; a cvs egy verziókezelő rendszer, jelenleg ennek a naponta összetömörített változatára kell gondolni; az előbbit két-három havonta választják le a cvsről és tesztelés után, mint a forrás adott pillanatban kiadott változata; a cvs nagyobb tudású és általában stabilabb;
a fő letöltő helyről lehet a releaset (http://www.mplayerhq.hu/homepage/design7/dload.html - "MPlayer vx.y source") és az aktuális cvst ("daily CVS snapshot") is letölteni;

még néhány elintéznivaló fordítás előtt:
codec pack: bár az mplayerhez rengeteg nyilt forrású codec érhető el, nem árt ezeket a zárt forrásukat is felrakni; az mplayer codec részlegéből (http://www1.mplayerhq.hu/homepage/design7/codecs.html ) a "all codecs for Linux x86 (Win32 .dll and Linux .so)" érdemes leszedni; pakold szét és az 'all-20040809/' könyvtár taralmát másold a '/usr/local/lib/codecs' könyvtárba;
felirat: minimum az "Arial - Central European (ISO 8859-2) (4 sizes)" fontot szedd le, pakold szét és a kívánt méretet másold át a '/usr/local/share/mplayer/font' (pld.: 'cp font-arial-iso-8859-2/font-arial-14-iso-8859-2/* /usr/local/share/mplayer/font/');
skin: amennyiben a guis mplayert ('gmplayer') is szeretnéd használni, szükséged van minimum egy skinre; a fő töltő oldal "Skins" részéből pld. a "Blue"t; az '/usr/local/share/mplayer/Skin' alkönyvtárba tömörítsd ki majd írányíts rá egy symlinket ('ln -s Blue/ default');
rtc: lásd "egyedi init script készítése" részt;

fordítás menete innen szokásos:
'auto-apt run ./configure'
'make'
'make install'
(nem árt az 'auto-apt' találatai közt körbenézni, mert pld. 'libggi-dev' vagy 'em8300-dev' nem biztos, hogy kell)

ha guit is akarsz: './configure --enable-gui';

mplayer doksi: http://www.mplayerhq.hu/DOCS/HTML/en/index.html

példák mplayer alapbeállítások letárolására: '~/.mplayer/config':

 vo=xv,sdl,x11,
 ao=alsa,sdl,oss,
 vf=pp=hb/vb/dr/al/lb/tn

4. kernel
általános leírás: Linux_kernel_konfigurálása

hivatalos debian kernel forrásának beszerzése: telepíteni: kernel-source-x.y.z a csomag telepítése után az '/usr/src' könyvtárba kerül a 'kernel-source-x.y.z.tar.bz2' állomány, innnen a fordítás menete megegyezik a vanilla kernelével;

debian kernel-csomag készítése:
miért? egyszerübbé teszi ugyanannak a kernelnek több gépre telepítését és karbantartását (apt felülettel kezelhető);

telepíteni: kernel-package
a csomag információt tárol a kernel készítőjéről, ha ezt meg akarod változtatni szerkeszt át az '/etc/kernel-pkg.conf' állományt (maintainer, email);

a csomag elkészítésének lépése
i: 1. vanilla kernel beszerzése, felkonfigurálása;
2. a kernel forrásának megtisztítása: 'make-kpkg clean';
3. kernel image (modulokat is tartalmazza): 'make-kpkg kernel_image';
4. kernel headerek: 'make-kpkg kernel_headers'
5. kész, lehet telepíteni;
(megj.: az összes csomag az előző könyvtárszinten fog materalizálódni)
(megj.2: ha több változatot is akarsz ugyanbból a kernelből kezelni egészítsd ki a fenti parancsokat egy '-revision=sorszam'-mal)

további infók: 'make-kpkg --help' és 'man make-kpkg'

Debian csomagok forrásból

FIXME: nem sokat foglalkoztam a témával, ha van kiegészítő infód: írj;
előszőr érdemes ellenőtizni, a csomagforrások elérhetőségét:
az '/etc/apt/sources.list'ben a "deb (...)" sorokhoz hasonló, de "deb-src (..)" sorok is szerepeljenek (ha a leírás szerint használtad az 'apt-setup'ot, akkor anno ezeket #eltük ki);

egy csomag forrása három állományból áll:
'hello_2.1.1-4.dsc' = pgp aláírás és legfontosabb információk (bináris csomag(ok) neve, karbantartó, debian szabvány verzió, csomag forrás állományai, stb.);
'hello_2.1.1.orig.tar.gz' = erdeti forrás;
'hello_2.1.1-4.diff.gz' = debian csomag készítéshez szükséges patchek;
ebből kitömörítés és patchelés után egy könyvtárba kerülnek a fordításra kész állományok: 'hello-2.1.1/'

jópár módszer létezik a feladatra a (szinte) teljesen kézivezérléstől a (szinte) teljes autómatizálásig, amit csak tudok ismertetek;
(megj.: ne felejtsd teelpíteni a "fakeroot" csomagot, szinte minden fordító felület használja;)

 
1. módszer
(megj.: ezt érdemes a '/var/cache/apt/archives/' könyvtárban intézni, elvégre ez a csomagok szabványos helye)

apt-get build-dep hello
a fordításhoz szükséges függőségek telepítése;
apt-get source hello -b
források leszedése, kitömörítése és patchelése; majd a forrásból létrehozható minden bináris csomag architektúrának megfelelő elkészítése;
dpkg -i hello_2.1.1-4_i386.deb
lefordított csomag telepítése;

megj.: egy-egy csomaghoz nem rossz, de napi frissítéshez nehézkes;

2. módszer:
telepíteni: apt-src
egyszerűbb ennyiben: apt-src install hello -b
fordít és telepít;

3. módszer
telepíteni: apt-build - kérdések: Where should apt-build download and build packages? maradhat alapértelmezett; Where must apt-build store built packages? szintén; Which optimization level do you want? Medium (-O2) ajánlott, a Strong (-O3) generálhat hibás kódot; Add apt-build repository to sources.list? yes, így rögötön lehet telepíteni a lefordított csomagokat; Which options would you like to add to gcc? maradhat üresen; What is your architecture? értelemszerű;

teljesen ugyanúgy működik, mint az 'apt-get' (update, install, stb.; ugyanúgy cacheeli a letöltött csomagokat);
pld.: 'apt-build install hello'

részletek: man apt-build

megj.:
ha megváltozatatod a 'sources.list'et, akkor lehet, hogy nem megy autómatikusan a repository beillesztés, ilyenkor kézzel kell: "deb file:/var/cache/apt-build/repository apt-build main";
az 'apt-build install' mindíg fordít, ha egyszerűen telepíteni akarsz egy fordított csomagot, akkor 'apt-get install';
a függő csomagok bináris változatát telepíti;

4. módszer
ez nem hivatalos, de sokkal nagyobb tudású az előzőknél (pld. a fordításhoz szükséges függőségeket csak idégelensen tölti le, a csomag függőségeit is fordítja, stb.);

az '/etc/apt/sources.list'be írd be:

 deb http://des.petta-tech.bogomips.org/~eric/apt-fu/ ./
 deb-src http://des.petta-tech.bogomips.org/~eric/apt-fu/ ./

frissítsd a csomaglistákat (a "Nem sikerült leszedni http://des.petta-tech.bogomips.org/~eric/apt-fu/./Release sikertelen átnevezés, (...)" hibát még egy update megoldja) és telepítsd ezeket a csomagokat: apt-fu fakeroot patchutils pentiumbuilder

pentiumbuilder:
a támogatott fordítók (gcc, g++) alapértelmezett binárisait lecseréli egy-egy scriptre, amin keresztül könnyen rá lehet venni a fordítókat, hogy a kivánt architektúrára optimalizáljanak fordítás során;
használatához a DEBIAN_BUILDARCH környezeti változót kell definiálni; imho legeygszerűbb, ha az '/etc/bash.bashrc'-be rakod: 'export DEBIAN_BUILDARCH=$(uname -m)'
gcc/g++ felübírálása (néha csak 2.95 jó): DEBIAN_BUILDGCCVER=2.95
(szép lenne, ha igaz lenne, lásd "általános megjegyzések" részt lejjebb)

csomag forrásból:
'apt-fu src-install csomag'
(ha létezik azonos nevű bináris csomag, azt lecseréli)

megj.:
ha az 'apt-fu src-install', 'src-dist-upgrade', stb. során a függőségek is fordítani karod, told meg egy '-R' kapcsolóval (ez azt is fordítja, ami már telepítve van, pld.: libc6);

hiba:
1. egy csomag fordításához nincs szükséges csomag telepítve:

 Info messages replay:
 I: PKG cdbs/0.0-0 is not installable!
 I: PKG aspell-bin/0.0-0 is not installable!

megoldás: telepítsd a hiányzó csomagokat;

általános megjegyzések:
lehetne további hibák fordítás közben, nem árt ha felkészült vagy debianból és alapvető programozási ismeretekből; szabadidő sem árt;
elképesztő fordítási függőségei vannak egy-két csomagnak;
az apt-listbugs kézzel kell előtte intézni, ha nem akarsz hibás csomagot fordítani; az 'auto-apt'tel nem működik együtt;

és végül a lényeg:
a legtöbb c/c++ programnál nem történik semmilyen optimalizáció, hiába pentium-builder vagy bármilyen trükk, mivel a 'debian/rules'ben a lokális "CFLAGS" és "CXXFLAGS" előre be van állítva, ami felülbírálja a globális beállításunk;
egy lehetséges megoldás, ha kézzel a 'debian/rules'ben a többi "CFLAGS" és "CXXFLAGS" definíció után és a "build:" rész előtt beilleszted a kívánt optimalizálást, pld.: 'CFLAGS = -g -Wall -O2 -march=i686 -mcpu=i686' és 'CXXFLAGS = -g -Wall -O2 -march=i686 -mcpu=i686';
aki nagyon ráér keressen jobb módszert;

Amiről eddig nem volt szó

általános hardware infók: http://www.tldp.org/HOWTO/Hardware-HOWTO/index.html és http://www.linux-drivers.org/

cdírás:
telepíteni: cdrecord mkisofs - Do you want the cdrecord binaries to be installed SUID root? nem, majd "sudo"val megoldjuk;

rendszer felkészítése cdírásra:
(csak 2.4 kernelnél, 2.6 esetén már lehet atán kersztül cdt írni;)
1. saját kernel esetén: "ATA/IDE/MFM/RLL support - IDE, ATA and ATAPI Block devices - SCSI emulation support" és "SCSI support - SCSI CD-ROM support - SCSI generic support" (ennyi elég, a vendor-spec és low level driverben autómatikusan beállítódó dolgokat ki lehet kapcsolni); gyári kernel esetén ez már be van állítva;
2. a bootloadernek át kell adni a "hdX=ide-scsi" paramétert ahol: 'cat /proc/ide/hd*/media' az első a hda, stb.;

cdírás a cdrecord segítségével.
teljesen átlagos írás: 'mkisofs -J -V "teszt" teszt/ | sudo cdrecord dev=0,0,0 speed=32 -data -v -eject driveropts=burnfree -'
magyarázat: készítünk az 'mkisofs' segítségével egy juliet kompatibilis ('-J') "teszt" labelü ('-V') imaget a "teszt/" könyvtár tartalmából a stdoutra; a sudon keresztül (user is írhat, lásd késöbb) ezt kiírjuk a 'cdrecord' programmal a "0,0,0" devicera (lekérdezés: 'cdrecord -scanbus') 32szeres sebeséggel, adat módban, részletes üzenetekkel, a "burnfree" bekapcsolása melett az stdoutról szedve az anyagot ('-') és a végén dobja ki a lemezt (-eject');
az újraírható cdket le kell előtte törölni: 'mkisofs (...) | sudo cdrecord (...) blank=fast (...)';
további infók: 'man mkisofs', 'man cdrecord';
részletes leírások (a kernel beállítása, ide-scsi, cdrecord, multisession, cue/bin, loopback, stb.): http://reviewed.homelinux.org/howtos/cdrecording/
megj.: 2.6 kernel alatt: "dev=/dev/hdX"

megj.: a 'cdrecord' hibaüzenetet ad ki a futtató jogaival kapcsolatban.

 cdrecord: Operation not permitted. WARNING: Cannot do mlockall(2).
 cdrecord: WARNING: This causes a high risk for buffer underruns.
 cdrecord: Operation not permitted. WARNING: Cannot set RR-scheduler
 cdrecord: Permission denied. WARNING: Cannot set priority using setpriority().
 cdrecord: WARNING: This causes a high risk for buffer underruns.
néhány speciális jogot igényel a biztonságos futtatása, a legjobb módszer rootként futtatni vagy a sudo beállítása:
'/etc/sudoers' (lehetőleg 'visudo'val): "user ALL=NOPASSWD:/usr/bin/cdrecord;

dvdírás:
telepíteni: dvdrtools dvd+rw-tools FIXME

nvidia:
szükségem van a bináris nvidia meghajtóra?
a 2d gyorsítás benne van az xfree86ban a kártyák nagy részéhez ( http://www.xfree86.org/current/nv.4.html ). A bináris a hardware jobb kihasználásában (pld. twinview) és a 3d gyorsításban tud többet;

honnan lehet letölteni?
http://www.nvidia.com/object/linux_display_archive.html - legfrissebb - "STEP 2: Download the Driver File"
megj.: a "(...)-pkg0.run"ban nincsenek előfordított kernel modulok, az 1ben már van vmennyi, a 2ben több stb.; de ezek egyike sem taralmaz debian gyári kernelhez valót (föleg az összes elérhetőhöz), ezért szükség lesz a "kernel-image"hez egyező "kernel-headers" csomagra és a gccre;

hogyan lehet telepíteni?
1. lődd le az xet (pld.: 'invoke-rc.d xdm stop');
2. tedd futtathatóvá a telepítőt (pld.: 'chmox a+x NVIDIA-Linux-x86-1.0-6111-pkg1.run') és inídtsd el ('./NVIDIA(...)');
3. pár szóban a kérdésekről: net elérést nem kell erőltetni, a kerneledhez egyező kernel modulokat keresne; amikor a "libGL.so" állományokra panaszkodik, azon is lépj tovább, a régieket backupolja és lecseréli sajátjára;
4. ha lefordult a meghajtó, akkor egy 'modprobe nvidia'-val lehet betölteni és érdemes automatikusan beölthetővé tenni ('modconf');
5. írd át az '/etc/X11/XF86Config-4' álloményt, a "Section "Device"" rész alatt a "Driver "nv"" helyett "Driver "nvidia"" legyen;
6. nem árt leellenőrizni az 'nv_check-sh' scripttel, hogy minden rendben van-e (http://icculus.org/lgfaq/files/nv_check.sh );
7. indítsd el az xet (pld.: 'invoke-rc.d xdm start');

a bináris driver finomhangolására szolgál az 'nvidia-settings' csomag;

további infók a faqmban (http://fellow.linuxforum.hu/faq/ );

FIXME: twinview

ati:
hasonló a fentebb leortakhoz, de ati oldaláról kell driver (http://www.ati.com/support/driver.html - linux), amit az 'alien' csomag segítségével át kell konvertálni deb csomaggá ('alien --too-deb fglrx.rpm'); ezután xet lelőni, és "dpkg"vel telepíteni a csomagot; a 'fglrxconfig' parancs kitölti az '/etc/X11/XF86Config-4't, de ez nem épp debiános eljárás, ha vki ráér írja össze, mit kéne átírni egy szabványos "XF86Config-4"en, thx;
tovább infók::
http://www.jatekport.linuxuser.hu/kod_gomb/ati.html
http://www.ati.com/support/infobase/linuxhowto-ati.html
http://www.ati.com/support/faq/linux.html
http://www.ati.com/products/catalyst/linux.html
http://www.linux-gamers.net/modules/wfsection/article.php?articleid=22
http://www.rage3d.com/content/articles/atilinuxhowto/

usb:
általános infók: http://www.linux-usb.org/
FIXME

nyomtató:
általános infók: http://www.linuxprinting.org/
lehet, hogy szükséged lesz a 'magicfilter' vagy 'apsfilter' csomagra;
FIXME

sata:
FIXME

raid:
FIXME

irda:
FIXME

laptop:
általános infók: http://www.linux-laptop.net/
FIXME

tuner:
FIXME

lcd:
a "xserver-xfree86" csomag újrakonfigurálása során válaszd az lcd módot;
lehet, hogy ki kell kapcsolnod a "dmps" támogatást;

samba:
FIXME

Linkek

hírek, fórumok:
http://www.hup.hu/
http://www.linuxforum.hu/
http://www.debian.hu/
http://debian.lap.hu/
http://planet.debian.net/
telepítés:
http://www.togaware.com/linux/survivor/
http://www.debian.org/releases/stable/installmanual
http://www.osnews.com/story.php?news_id=2016
doksi:
http://debian.org/doc/
http://wiki.debian.net/
support:
http://www.debian.org/distrib/packages
http://www.debian.org/Bugs/
http://packages.qa.debian.org/
http://security.debian.org/
http://buildd.debian.org/build.php
http://bugs.debian.org/release-critical/
http://release.debian.org/
http://www.debian.org/devel/wnpp/
levlisták:
http://lists.debian.org/debian-news/
http://lists.debian.org/debian-announce/
http://lists.debian.org/debian-devel-announce/
magyar fejlesztők:
http://www.debian.org/international/Hungarian
fun:
http://www.linuks.mine.nu/debian-worldmap/
http://linuks.mine.nu/volkany/

Retrieved from "http://wiki.hup.hu/wiki/wiki.phtml?title=Debian_desktop_kialak%C3%ADt%C3%A1sa"
A lap utolsó módosítása 2004 szeptember 28, 21:39.