Abíčko
Časopis serveru AbcLinuxu.cz
Červenec 2004
Vychází také na CD-ROM jako příloha časopisu PCWORLD
Editoriál
Vítejte u čtení časopisu Abíčko.
Abíčko vychází jako měsíční příloha serveru http://www.abclinuxu.cz
a obsahuje výběr toho nejzajímavějšího obsahu, který zde byl v minulém
měsíci publikován. Touto formou chceme předat čtenářům informace v snadno
čitelné podobě vhodné i pro tisk.
Cílem serveru AbcLinuxu.cz je pomáhat všem uživatelům Linuxu, nezávisle na
jejich zkušenostech, platformě či použité distribuci. Motorem, který nás
pohání vpřed, je idea vzájemné pomoci a spolupráce. Proto i velkou část
obsahu tvoří samotní uživatelé. Zapojit se může kdokoliv, tedy i vy.
Na AbcLinuxu.cz najdete rozsáhlou databázi návodů na zprovoznění hardwaru
pod Linuxem, velice aktivní diskusní fórum, podrobné návody a tutoriály,
recenze, archiv ovladačů, informace o linuxovém jádře (včetně populárních
Jaderných novin) i rozcestník po ostatních linuxových serverech.
Náměty na články zasílejte do konference našich autorů: autori@abclinuxu.cz.
Sponzoring Abíčka a jiné formy reklamy si objednávejte na adrese:
reklama@abclinuxu.cz.
Ostatní dotazy směřujte na adresu: literakl@abclinuxu.cz.
Server AbcLinuxu.cz provozuje firma Stickfish s.r.o., která poskytuje
profesionální služby v oblasti Linuxu firmám i jednotlivcům. Zabývá se
hlavně bezpečností, instalacemi Linuxu a konfigurací síťových služeb. Více
na http://www.stickfish.cz.
(c) 2004 Stickfish s. r. o. a autoři článků
Editor a sazba: Vlastimil Ott
Pro nekomerční účely smíte tento dokument jakkoliv šířit v tištěné
i digitální podobě. V ostatních případech nás požádejte o svolení na adrese
info@abclinuxu.cz.
Typografické konvence
Ve výpisech zdrojových textů mohou být použity znaky \\. Značí přechod na
nový řádek, který ovšem není součástí samotného zdrojového textu,
byl přidán editorem z důvodu lepšího vzhledu případně nemožnosti text
formátovat bez jejich použití.
Obsah
Kompilovanie jadra
Ako funguje e-mail
GIMP - Grafický editor pro Linux a Windows
Na co se často ptáme 4: X Window System
Diskové kvóty
Extra multimediální systém XMMS
Komix: RMS v Praze
Jaderné noviny 260-263
Zprávičky
*******************************
Kompilovanie jadra
Rastislav Stanik
Co je to vlastně jádro, kdy je potřeba jej kompilovat a jak na to jít.
Způsoby konfigurace, kompilace a parametry, instalace. A několik šikovných
tipů.
Načo jadro vlastne je
Keď sedíte za počítačom a čítate tento článok, robíte tak pomocou prehliadača
a možno vám do toho počítač hrá nejakú muziku a tlačí na tlačiarni dokument.
Za tým všetkým je ale schované niečo iné. Nenápadné. Jadro.
Jadro (angl. kernel) má tieto hlavné úlohy:
* Štartovanie systému
* Ovládačmi sprostredkováva prístup k hardwaru
* Poskytuje programom prostriedky (angl. resources) ako sú pamäť alebo čas,
kedy sa inštrukcie programu môžu vykonávať v procesore
Pri štarte počítača sa používa dohoda o tom, akým spôsobom BIOS odovzdá
riadenie operačnému systému. Táto dohoda prakticky znamená, že po vykonaní
štartovacích testov pamate a niektorých periférií sa riadenie odovzdá tzv.
boot manageru. V Linuxe sa najčastejšie používa lilo,
grub alebo loadlin, či boot manažér iného
operačného systému - napr. Windows. Úlohou boot manažéra je nájsť na disku
súbor jadra, nahrať ho do pamäti a odovzdať mu riadenie.
V podstate každý kus hardwaru v počítači potrebuje svoj ovládač. Klávesnica,
video-karta, sieťová karta, sériové, paralelné či USB porty, disk, disketová
mechanika a tak ďalej. Okrem toho existujú aj ovládače pre algoritmické
záležitosti ako sú súborové systémy, sieťové protokoly či rôzne systémy ako
napr. APM (advanced power managerment). Jadro poskytuje množinu funkcií,
ktoré umožňujú programom robiť rôzne operácie ako napríklad otvorenie súboru.
Moderné operačné systémy sú mnohoúlohové (umožňujú beh viacerých programov
naraz) a mnohoužívateľské (umožňujú prácu viacerých užívateľov naraz). Jadro
sa stará o to, aby rozdelenie výkonu, pamati a sieťovej priepustnosti bolo
spravodlivo
rozdelené medzi bežiace programy (potenciálne rôznych
užívateľov).
Prečo?
Najčastejšie dôvody pre kompilovanie jadra:
* Snaha niečo sa dozvedieť.
* Pridanie podpory pre hardware, ktorý pôvodným jadrom podporovaný nie je.
*Snaha o zmenu konfigurácie ovládačov z hľadiska toho, či sú priamo v jadre,
alebo existujú ako moduly.
* Opravy chýb v jadre.
* Snaha niečo si dokazovať a dvíhať si sebavedomie :-)
Keď dostanete do ruky inštaláciu linuxového systému, tak spravidla vlastne
máte nejakú distribúciu. Niekto zobral jadro a množinu programov a dal ich
dohromady tak, aby spolu fungovali. Medzi známe distribúcie patrí Red Hat,
Debian, Mandrake či Slackware alebo Gentoo. Ten, kto distribúciu zostavuje,
sa spravidla postará o to, abyste dostali aj jadro (niekedy máte na výber z
viacerých). Toto jadro bolo tvorcom distribúcie nejako nakonfigurované.
Spravidla tak, aby podporovalo čo najrozmanitejšie konfigurácie hardwaru a
požiadavky užívateľov.
V súčasnosti je veľmi zriedkavo nutné, abyste jadro kompilovali sami.
Linuxové jadro je postavené ako skladačka. Skladá sa z mnohých častí
nazývaných moduly, ktoré nie sú priamo v súbore jadra, ale je možné jadro
požiadať o to, aby ich funkcionalitu nahralo zo súboru dodatočne - už v
čase, kedy je systém rozbehnutý. Preto je často možné, že ak vaše jadro
neobsahuje podporu pre nejaký hardware, možno do neho túto podporu doplniť
neskôr - nahraním modulu. Niekedy medzi modulmi existujú závislosti.
Napríklad ak máte všeobecnú podporu pre SCSI aj podporu pre SCSI disky ako
moduly, tak najprv musíte nahrať všeobecnú podporu pre SCSI a až potom
môžete nahrať podporu SCSI diskov. Nahrávanie modulov (príp. ich
odstraňovanie) sa spravidla robí pomocou programov z balíka modutils.
Veľmi stručne:
* lsmod - vypíše moduly zavedené v pamäti v danom okamihu
# lsmod
Module Size Used by
ipt_state 1984 0
ipt_limit 2432 0
iptable_nat 22732 0
iptable_filter 2752 0
ip_tables 17920 4 ipt_state,ipt_limit,iptable_nat,
iptable_filter
ip_conntrack 34560 2 ipt_state,iptable_nat
uhci_hcd 30924 0
usb_storage 101328 1
* insmod mojmodul - sa pokúsi zaviesť do pamäti modul mojmodul
# insmod ipt_LOG.ko
# lsmod
Module Size Used by
ipt_LOG 6336 0
ipt_state 1984 0
ipt_limit 2432 0
iptable_nat 22732 0
iptable_filter 2752 0
ip_tables 17920 5 ipt_LOG,ipt_state,ipt_limit,
iptable_nat,iptable_filter
ip_conntrack 34560 2 ipt_state,iptable_nat
uhci_hcd 30924 0
usb_storage 101328 1
* rmmod mojmodul - sa pokúsi zrušiť modul mojmodul
# rmmod ipt_LOG
# lsmod
Module Size Used by
ipt_state 1984 0
ipt_limit 2432 0
iptable_nat 22732 0
iptable_filter 2752 0
ip_tables 17920 4 ipt_state,ipt_limit,iptable_nat,
iptable_filter
ip_conntrack 34560 2 ipt_state,iptable_nat
uhci_hcd 30924 0
usb_storage 101328 1
* depmod - zistí závislosti medzi modulmi
* modprobe mojmodul - nahrá modul mojmodul spolu so všetkými modulmi
potrebnými pre jeho beh
# lsmod
Module Size Used by
uhci_hcd 30924 0
usb_storage 101328 1
# modprobe ipt_LOG
# lsmod
Module Size Used by
ipt_LOG 6336 0
ip_tables 17920 1 ipt_LOG
uhci_hcd 30924 0
usb_storage 101328 1
Pridať alebo ubrať modul môže len užívateľ root. Druhá varianta pridávania
a odoberania modulov je použitie automatického nahrávania modulov, ktoré
ešte spomeniem nižšie.
Kompilovanie jadra
Kde zobrať zdrojový kód jadra?
Ak dospejete k rozhodnutiu, že je nutné skompilovať vlastné jadro, musíme
najprv získať jeho zdrojový kód. Existuje viacero variant jadier, ktoré
môžete chcieť, a preto si najprv treba ujasniť zdrojový kód, ktorého
jadra vlastne chceme:
Vanilla jadro
* Vývojári jadra uverejňujú oficiálny zdrojový kód jadra na
kernel.org. Postupom času vznikajú
novšie a novšie verzie jadra. V súčasnosti je hlavné číslo verzie
2. Verzie stabilné - dostatočne odskúšané - majú vedľajšie číslo párne.
V súčasnosti sa najskôr stretnete s verziou 2.6, 2.4 alebo 2.2. Ten, kto
má chuť riskovať, experimentovať alebo potrebuje niečo čo v aktuálnej
verzii nie je, môže skúsiť čísla nepárne. V súčasnosti je poslednou
verziou 2.6.6. Experimentálne verzie 2.3 a 2.5 sa už nevyvíjajú.
Okrem oficiálneho zdrojového kódu tu nájdete aj odnože udržiavané poprednými
vývojármi jadra. Napríklad Alan Cox tu má odnož s príponou -ac. Tieto
odnože sa spravidla líšia použitím niektorých experimentálnych algoritmov.
Jadro distribúcie
* Tvorcovia distribúcií tiež vychádzajú z vanilla jadra, ale často k nemu
pridávajú vlastné úpravy alebo niektoré z vlastností nepárnej verzie. To
neznamená, že také jadro je menej stabilné, ale len to, že podľa názoru
distributora je daná úprava dostatočne stabilná pre širšie použitie, resp.
je to risk hodný zvýšeného výkonu a podobne. Pretože distributéri potrebujú
nejaký čas na testovanie, tak svoju upravené verziu jadra publikujú s istým
oneskorením oproti vanilla jadru.
Zdrojový kód jadra má vo forme archívu cez 30MB. Preto v prípade, že máte k
dispozícií zdrojový kód staršej verzie, môže vám stačiť zobrať len zmeny oproti
tejto staršej verzii - tzv. patch (záplatu).
Ak máte úplný zdrojový kód jadra, rozbaľte ho (tradične sa rozbaľuje do /usr/src):
# cd /usr/src
# tar xvfz kernel-2.6.3.tgz
alebo
# cd /usr/src
# tar xvfj kernel-2.6.3.tar.bz2
Podľa toho, či máte zdrojový kód jadra komprimovaný programom gzip, alebo bzip2.
Rozbalením vznikne adresár, ktorý nesie meno verzie
/usr/src/linux-2.6.3/. Je vhodné ho buď premenovať
# mv linux-2.6.3 linux
alebo vytvoriť symbolickú linku
# ln -s linux-2.6.3 linux
tak, aby zdrojový kód bol dostupný pod adresárom /usr/src/linux.
Ak máte patch, musíte ho aplikovať na svoj zdrojový kód jadra
# cd /usr/src/linux
# gunzip -c patch-2.6.4.gz | patch -p1 -
alebo
# cd /usr/src/linux
# bunzip2 -c patch-2.6.4.bz2 | patch -p1 -
Číslo záplaty 2.6.4 znamená, že ho možno aplikovať na zdrojový kód jadra 2.6.3
a jeho aplikovaním získame kód jadra 2.6.4.
Konfigurácia jadra
Prv než spustíme samotnú kompiláciu, musíme povedať, čo bude v jadre a čo nie.
Táto informácie je uložená v súbore /usr/src/linux/.config. Tento
súbor buď musíme vytvoriť, alebo upraviť už existujúci. Ak potrebujete len mierne
upraviť vlastnosti jadra z distribúcie, skúste zistiť, či distributér tento súbor
niekde neponúka. Ak ste na zdrojový kód jadra aplikovali patch na vyššiu verziu,
môžete spustiť príkaz (predpokladám, že sa nachádzate v adresári /usr/src/linux):
# make oldconfig
Tento príkaz zistí, aké nastavenia pribudli v novšej verzii a opýta sa vás
len na tieto nastavenia. Ostatné zostanú nezmenené.
Ak potrebujeme urobiť kompletnú konfiguráciu alebo meniť pôvodné nastavenia, máme
na výber niekoľkoých možností v závislosti od toho, aké prostredie máme k dispozíci:
* # make config
make[1]: `scripts/fixdep' is up to date.
scripts/kconfig/conf arch/i386/Kconfig
#
# using defaults found in .config
#
*
* Linux Kernel Configuration
*
*
* Code maturity level options
*
Prompt for development and/or incomplete
code/drivers (EXPERIMENTAL) [Y/n/?]
Select only drivers expected to compile
cleanly (CLEAN_COMPILE) [Y/n/?]
...
Tento spôsob patrí medzi historické. Stačí nám ľubovoľný textový terminál.
Konfigurácia spočíva v tom, že dostávate rad otázok. Za každou otázkou sú
v hranatých zátvorkách uvedené možnosti:
* Yes - toto nastavenie bude použité
* no - toto nastavenie nebude použité
* module - daná voľba bude zkompilovaná ako modul
* ? - vypíše nápovedu - stručný popis významu daného nastavenia
Voľba, ktorá bola nastavená v pôvodnom .config je uvedena veľkým písmenom
a bude tiež použitá, keď otázku jednoducho odklepnete klávesou Enter.
* # make menuconfig
Obrázek
Tento spôsob môžeme použiť, ak má náš systém nainštalovanú knižnicu
ncurses. Tak ako v predchádzajúcom prípade môžete zvoliť medzi Y/n/m/?
* # make xconfig
Pri jadrách 2.2 a 2.4 budete potrebovať mať nainštalovaný jazyk Tcl/Tk:
Obrázek
Pri jadrách 2.6 budete potrebovať knižnicu Qt:
Obrázek
* # make gconfig
Dostupné len pri jadrách 2.6:
Obrázek
* V prípade, že máte nainštalované prostredie KDE, môžete použiť Control Center:
Obrázek
KDE vo verzii 3.2.2 vie konfigurovať len jadrá do verzie 2.4, ale dá sa
predpokladať, že podpora pre 2.6 čoskoro pribudne.
Nech už zvolíte ľubovoľný spôsob, je isté, že nato, abyste správne nastavili
konfiguráciu budúceho jadra, je vhodné mať dosť rozsiahle znalosti ako o hardwéri,
ktorý máte v počítači, tak aj o rôznych subsystémoch. V tom, či zvládnete tento
krok spočíva 99 % úspechu. Ak ho nezvládnete, môžete skončiť s jadrom, ktoré
nenabootuje alebo nebude podporovať hardware, ktorý máte, alebo nebude efektívne
využívať možnosti tohoto hardwaru. Pri niektorých voľbách je tiež vhodné zvážiť,
na aký účel budete potom celý systém používať.
Moduly áno, či nie
Ako som už spomínal, pri niektorých nastaveniach v konfigurácii možno zvoliť
kompilovanie vo forme modulov. To znamená, že príslušná funkcionalita nebude
začlenená do výsledného súboru jadra, ale do iného súboru. Meno tohoto
súboru sa zvyčajne (no nie vždy) možno dočítať v nápovede pre danú voľbu alebo
v dokumentácii.
Rozhodnutie či kompilovať ako modul, či nie, je na vás. Treba ale pamätať
na to, že niektoré distribúcie a niektoré podsystémy očakávajú niektoré
ovládače vo forme modulov. Priveľa niektoré, takže konkrétne:
je zvykom, že ovládače pre sieťové karty sa kompilujú ako moduly, pretože
to uľahčuje konfigurovanie systému pre použitie viacerých sieťových kariet
kariet naraz. Tiež to uľahčuje odovzdávanie parametrov do ovládača, akými
môže byť IRQ, či DMA. Distribúcie ponúkajú štartovacie skripty, ktoré sa
pokúšajú nahrať postupne všetky moduly až kým nenájdu ten správny pre vašu
sieťovú kartu. Podobne napríklad podsystém pre podporu zvuku - ALSA -
očakáva ovládače pre zvukovú kartu vo forme modulov.
Zodpovednosť za automatické nahrávanie modulov môžete prenechať podsystému
jadra nazvanému KMOD - Automatic kernel module loading. Tento podsytém
dokáže automaticky nahrať príslušný modul v čase, keď je podtrebný - napríklad
ovládač pre súborový systém FAT sa nahrá v čase, keď sa vykoná
mount na takýto súborový systém.
Spustenie kompilácie
Po nakonfigurovaní nám ostáva len spustiť samotné kompilovanie.
Nástroje potrebné na skompilovanie sú popísané v súbore
/usr/src/linux/Documentation/Changes spolu so spôsobom,
ako zistiť verziu nástrojov, ktoré máte nainštalované:
o Gnu C 2.95.3 # gcc --version
o Gnu make 3.79.1 # make --version
o binutils 2.12 # ld -v
o module-init-tools 0.9.10 # depmod -V
...
a tiež informáciu, kde získať aktuálne verzie týchto nástrojov:
o
o
o
...
Ak na vašom systéme potrebné nástroje nemáte, môže to byť kvôli tomu,
že len nie sú súčasťou typickej inštalácie vašej distribúcie - takže
sa najprv pozrite, či sa nedajú doinštalovať.
Ak váš systém má potrebné nástroje, môžeme sa pustiť do kompilácie.
Opať je rozdiel medzi verziami 2.6 a nižšími.
Ak máte konfiguráciu urobenú správne a chcete skompilované
jadro hneď aj nainštalovať, môžete to urobiť takto:
Verzie 2.4 a nižšie
* # make dep clean bzlilo modules modules_install
Verzia 2.6
* # make bzlilo modules_install
To, čo nasleduje za príkazom make, je takzvaný cieľ. Existuje mnoho
cieľov, ktoré možete použiť. Tu je ich stručný popis:
dep
* Kontrola závislostí medzi rôznymi nastaveniami. Tento cieľ je potrebný
pre jadrá do verzie 2.4
clean
* Vymazanie dočasných súborov v adresároch pod /usr/src/linux.
Táto voľba je nutná pri jadrách do verzie 2.4.
bzImage
* Skompilovanie obrazu jadra (Image), ktoré je skomprimované zipovacím
algoritmom (zip) a je pravdepodobne väčšie ako je rozmer diskety (big).
Výsledné jadro vznikne v adresári /usr/src/linux/arch/i386/boot (za
predpokladu, že kompilujete na IBM kompatibilnom PC-čku). Pri tomto cieli
sa nekompilujú moduly.
modules
* Skompilovanie modulov.
modules_install
* Nainštalovanie modulov do /lib/modules/{verzia jadra/
bzlilo
* To isté ako bzImage ale výsledné jadro je automaticky nainštalované
pomocou lilo. Predpokladom je, že lilo je správne nainštalované a očakáva
súbor s jadrom na tom istom mieste, ako ho špecifikuje súbor
/usr/src/linux/Makefile na riadku export INSTALL_PATH=/boot Inými slovami,
ak lilo očakáva súbor vmlinuz inde ako v /boot, musíte tento riadok
upraviť.
mrproper
* Podobne ako clean, ale zmazaný bude aj súbor .config.
Čo sa ešte oplatí vedieť?
* V adresári so zdrojovým kódom jadra nájdete adresár Documentation.
V tomto adresári nájdete súbory popisujúce všeobecné princípy fungovania
jadra, spôsoby konfigurovania rôznych ovládačov, ale aj informácie o tom,
ako začať, ak chcete pridávať do jadra vlastnú funkcionalitu. Do verzie 2.4
sa tu nachádzal aj súbor Configure.help obsahujúci popis jednotlivých
volieb zobrazovaný pri konfigurovaní jadra. V jadre 2.6 bol obsah tohoto
súboru porozdeľovaný do súborov Kconfig v adresároch obsahujúcich kód
zodpovedajúcich ovládačov.
* Verziu jadra, ktoré práve beží, získate pomocou programu uname -r
# uname -r
2.6.6
* Skompilované jadro v sebe nesie informáciu o tom, kde má hľadať hlavný
súborový systém. Túto informáciu možno zistiť a aj zmeniť pomocou programu
rdev:
# rdev /boot/vmlinuz
Root device /dev/hda2
# rdev /boot/vmlinuz /dev/hda3
# rdev /boot/vmlinuz
Root device /dev/hda3
V prípade, že informácia v jadre nezodpovedá tomu, kde v skutočnosti máte
hlavný súborový systém, jadro pri štarte systému spravidla havaruje s hláškou
podobnou tejto:
Kernel panic: VFS: Unable to mount root fs on XX:YY
Kde čísla XX a YY označujú minor a major číslo zariadenia, na ktorom jadro
očakáva hlavný súborový systém.
*******************************
Ako funguje e-mail
Rastislav Stanik
E-mail (rovnako ako mnoho iných funkcií počítača) môžete používať aj bez
toho abyste vedeli, ako to vnútri funguje. Ale vedieť viace je lepšie, nie?
Úvod
Medzi najpopulárnejšie spôsoby komunikácie, ktoré nám priniesol internet,
je e-mail. Tento dokument popisuje princípy toho, ako e-mail funguje.
Posielanie pošty
Keď posielate e-mailovú správu môžete, vynechať telo správy. Môžete vynechať
aj vyplnenie kolonky Predmet (Subject:), ale ak chcete, aby správa niekam odišla,
musíte vyplniť položku Adresát (To:). Cesta e-mailu začína práve tu. Adresa
môže vyzerať rôzne. Môže pozostávať len z mena (napr. rastos),
môže špecifikovať meno užívateľa a meno počítača (napr. rastos@server),
meno počítača môže byť aj úplné (napr. rastos@server.example.org).
Najbežnejšou formou však je meno a doména (napr. rastos@example.org).
Túto adresu teda zadáme do programu na písanie e-mailov. Aby tento program
vedel, kam správu poslať, má dve možnosti:
* Odovzdať telo správy spolu so všetkými potrebnými údajmi inému programu.
Napríklad mnohé unixové programy na písanie e-mailu samotné odoslanie
správy prenechajú interaktívnemu módu programu sendmail. Ten potom
použije postup popísaný v nasledujúcom bode.
* Protokolom SMTP odovzdať takzvanému odchodziemu serveru (angl. outgoing server).
Týmto serverom je zvyčajne SMTP server poskytovateľa pripojenia na internet.
Správca väčších lokálnych sietí (napr. vo firmách, alebo školských sieťach)
môže zriadiť vlastný SMTP server.
SMTP server
SMTP server je server, ktorý v závislosti na druhu adresy môže urobiť
jednu z nasledujúcich vecí:
* Ak je adresát správy špecifikovaný len menom, pokúsi sa správu doručiť
lokálnemu užívateľovi s týmto menom.
* Ak adresa obsahuje aj meno počítača, pokúsi sa správu poslať SMTP serveru
na špecifikovanom počítači.
* Ak adresa obsahuje doménu, musí SMTP server odovzdať ďalej. Čo to presne
znamená, záleží na jeho konfigurácii a môže to byť jedna z nasledujúcich
vecí:
* Jednoducho odovzdá správu inému SMTP serveru.
* Pokúsi sa správu doručiť sám. Ak sa mu to nepodarí, odovzdá ju inému
STMP serveru v nádeji, že ten bude úspešnejší. Tento druhý SMTP server sa v
angličtine nazýva smart host.
Veta "Pokúsi sa správu doručiť sám" je krátka, ale skrýva sa za ňou
mnoho. SMTP server sa spojí s DNS serverom, aby si od neho vypýtal takzvaný
MX záznam pre danú doménu. MX je z anglického slova Mail
eXchanger, teda stroj, ktorý je zodpovedný za vymieňanie
e-mailu pre danú doménu. DNS server vracia teda IP adresu tohto stroja.
DNS server môže mať takýchto záznamov viacero - ukazujúcich na rôzne IP
adresy. V takom prípade sa jednotlivé záznamy líšia takzvanou prioritou.
Je to celé kladné číslo, ktoré hovorí o tom, ktorý zo záznamov má vyššiu
prednosť. Nižšie číslo znamená vyššiu prioritu. Ako vyzerajú tieto MX
záznamy si môžeme pozrieť pomocou programu nslookup, na novších
systémoch programom host či dig:
$ host -t mx rastos.org
rastos.org mail is handled by 20 mx.smtp.cz.
rastos.org mail is handled by 10 in.smtp.cz.
$ dig MX +short=yes rastos.org
20 mx.smtp.cz.
10 in.smtp.cz.
$ nslookup
> set type=mx
> rastos.org
Server: 192.168.1.102
Address: 192.168.1.102#53
Non-authoritative answer:
rastos.org mail exchanger = 20 mx.smtp.cz.
rastos.org mail exchanger = 10 in.smtp.cz.
Keď už máme adresu poštového servera, môžeme si vyskúšať, čo vlastne
robí náš e-mailový klient, keď mu odovzdáva našu správu cez SMTP:
> telnet in.smtp.cz 25
Trying 81.95.97.116...
Connected to in.smtp.cz.
Escape character is '^]'.
220 in.smtp.cz ESMTP
ehlo yahoo.com
250-in.smtp.cz
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-PIPELINING
250-STARTTLS
250 8BITMIME
mail from: smith@yahoo.com
250 ok
rcpt to: testaccount@rastos.org
250 ok
data
354 go ahead
Subject: citat
Four fifths of all our troubles in this life
would disappear if we would just sit down
and keep still. -C. Coolidge
.
250 ok 1086177079 qp 12124
quit
221 in.smtp.cz
Connection closed by foreign host.
Ako vidíte, server označil odosielateľa aj príjemcu správy za
ok. Odosielateľ nie je ok, ak jeho doména má existujúci MX záznam.
Príjemca je ok, ak daný server je skutocne mail exchanger pre
doménu príjemcu. SMTP server môže tiež zo sieťového spojenia zistiť,
z akej IP adresy mu správa prichádza, a porovnať to s tým, čo tvrdí
odosielateľ.
Server, ktorý nerobí tieto kontroly, sa označuje termínom open
relay. Takýto stroj je pokladom pre odosielateľov spamu, ktorí
často falšujú adresu odosielateľa. Mnohé (no žiaľ nie všetky), takéto
servery sú zaznamenané v zozname, ako je napríklad
ORDB (Open Relay Database). Keďže e-mail môže prechádzať cez
viacero SMTP serverov, môžu v rámci protispamových opatrení jednotlivé
servery tiež kontrolovať, či SMTP server, od ktorého preberajú správu,
nie je zaznamenaný v zozname ORDB.
Prijímanie pošty
Local
V čase, keď si e-mail ešte len razil cestu na výslnie, sa najčastejšie
pošta preberala z lokálnej e-mailovej schránky. Je to vlastne súbor,
do ktorého e-mailový server ukladá prichádzajúce správy jednu za druhou.
Tento súbor sa spravidla nachádza v adresári /var/spool/mail
(na niektorých systémoch /usr/spool/mail alebo
/usr/lib/mail). Program na čítanie e-mailu, označovaný
ako mailer (alebo aj Mail User Agent - MUA), číta tento súbor a umožňuje
jednotlivé správy zobraziť a spracovať. To samozrejme môže fungovať
vtedy, keď mailer beží na tom istom počítači, na ktorom sa nachádza
e-mailová schránka. Čo už dnes nie je tak časté.
POP
Najčastejší spôsob prístupu k e-mailovej schránke je asi sieťovým
protokolom POP (Post Office Protocol). Je to pomerne jednoduchý
protokol, ktorým si mailer preberá správy z poštového servera.
Znamená to teda, že správa od odosielateľa dorazí na server a tam
zostáva až do okamihu, kedy si ju odtiaľ nevyzdvihnete. Pri prevzatí
správy z POP servera sa zvyčajne správa na serveri zmaže a zostáva
teda len na klientovi. Komunikáciu POP protokolom možno jednoducho
nasimulovať napríklad takto:
> telnet pop3.hosting.cz 110
Trying 81.95.97.117...
Connected to pop3.hosting.cz.
Escape character is '^]'.
+OK <29567.1086177339@pop3.smtp.cz>
user testaccount@rastos.org
+OK
pass m0jehe5sl0
+OK
list
+OK
1 656
.
retr 1
+OK
Return-Path:
Delivered-To: testaccount@rastos.org
Received: (qmail 12323 invoked from network);
2 Jun 2004 11:54:37 -0000
Received: from unknown (HELO in.smtp.cz) (81.95.97.116)
by master.smtp.cz with DES-CBC3-SHA encrypted SMTP;
2 Jun 2004 11:54:37 -0000
Received: (qmail 15491 invoked from network);
2 Jun 2004 11:51:19 -0000
Received: from unknown (HELO yahoo.com) (213.15.194.19)
by in.smtp.cz with SMTP; 2 Jun 2004 11:51:03 -0000
Subject: citat
Message-ID: <20040602115437.12323.qmail@master.smtp.cz>
Four fifths of all our troubles in this life would disappear
if we would just sit down and keep still. -C. Coolidge
.
dele 1
+OK
quit
+OK
Connection closed by foreign host.
Príkazy posielané klientom rozšifrujete asi ľahko: user
a pass sa postarajú o našu autentifikáciu. list
vypíše, koľko správ je v schránke a ako sú dlhé. retr
požiada o výpis správy, dele správu zmaže a quit
ukončí spojenie.
Protokol POP nie je šifrovaný, takže heslo je prenášané v čistom texte.
Tento nedostatok môže pomôcť odstrániť zabalenie POP protokolu do
šifrovacieho protokolu SSL - to ale musí prirodzene podporovať ako
server, tak aj klient.
IMAP
IMAP protokol sa trocha podobá protokolu POP. Tiež je to protokol,
ktorý umožňuje e-mailovému klientovi pristupovať k správam na serveri.
Hlavný rozdiel je v tom, že správy zostávajú na serveri. Nepresúvajú
sa na lokálny disk. Znamená to teda, že e-mailový klient
len sprostredkováva pohľad na schránku sídliacu na serveri. Zmenou
klienta či počítača, za ktorým sedíte, sa nič nedeje. Stála vidíte
tie isté správy, označenie prečítaných správa sa nemení, zostáva
štruktúra priečinkov a tak ďalej. Uľahčuje to tiež systém zálohovania,
pretože sa nemusia zálohovať schránky jednotlivých užívateľov roztrúsené
po všetkých pracovných staniciach.
Komunikácia protokolom IMAP je trocha zložitejšia. Tu je stručná ukážka:
> telnet pop3.hosting.cz 143
Trying 81.95.97.117...
Connected to pop3.hosting.cz.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.
See COPYING for distribution information.
a001 login testaccount@rastos.org m0jehe5l0
a001 OK LOGIN Ok.
a002 select inbox
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 1 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1082124563] Ok
a002 OK [READ-WRITE] Ok
a003 fetch 1:1 full
* 1 FETCH (FLAGS (\Recent) INTERNALDATE "02-Jun-2004 14:00:32 +0200"
RFC822.SIZE 669 ENVELOPE (NIL "citat" NIL NIL NIL NIL NIL NIL NIL
"<20040602120031.21486.qmail@master.smtp.cz>") BODY ("text"
"plain" NIL NIL NIL "8bit" 134 2))
a003 OK FETCH completed.
a004 fetch 1:1 body[TEXT]
* 1 FETCH (BODY[TEXT] {134}
Four fifths of all our troubles in this life would disappear
if we would just sit down and keep still. -C. Coolidge
)
* 1 FETCH (FLAGS (\Seen \Recent))
a004 OK FETCH completed.
a005 store 1:1 +FLAGS (\Deleted)
* 1 FETCH (FLAGS (\Seen \Deleted \Recent))
a006 OK STORE completed.
a006 expunge
* 1 EXPUNGE
* 0 EXISTS
* 0 RECENT
a006 OK EXPUNGE completed
a007 logout
* BYE Courier-IMAP server shutting down
a007 OK LOGOUT completed
Connection closed by foreign host.
Väčšina príkazov začína unikátnym identifkátorom (ja som pre jednoduchosť
použil identifkátory začínajúce s a00). Príkaz select zvolí priečinok,
ktorého sa budú týkať ďalšie príkazy. fetch môže vrátiť rôzne časti správy.
V našom prípade to bola najprv hlavička a potom telo. Protokol IMAP ponúka
tiež rozsiahlu sadu príkazov pre nastavovanie príznakov správ (videná,
zmazaná, odpovedaná, atď.) a príkazov na prácu s priečinkami (vytvoriť,
zmazať, premenovať, atď.).
Podobne ako pri protokole POP, komunikácia klienta so serverom nemusí byť
šifrovaná.
Čo nájdeme v mailovej správe
Každá e-mailová správa sa skladá z hlavičky a tela. Oddelené sú prázdnym
riadkom.
Hlavička
Hlavička (angl. header) obsahuje niekoľko druhov informácií. Ich význam
určujú kľúčové slová na začiatku riadku nasledované dvojbodkov:
To:
* e-mailová adresa príjemcu
Cc:
* e-mailové adresy ľudí, ktorí dostanú kópiu správy (z anglického
Carbon Copy)
Bcc:
* e-mailové adresy ľudí, ktorí dostnú kópiu správy, ale normálni
príjemcovia sa o tom nedozvedia (z anglického Blind Carbon Copy)
From:
* e-mailová adresa
Subject:
* Predmet, titulok správy.
Date:
* Dátum a čas odoslania.
Received:
* Jedno Received: pre každý server, cez ktorý správa prechádzala.
Dá sa tu dozvedieť meno servera, doba, kedy server správu spracovával,
akým protokolom správu dostal, unikátny identifkátor správy a pre
koho je správa určená. Každý server zopakuje Received: riadky,
ktoré už v správe sú a pridá svoj. Tento údaj teda umožňuje určiť trasu,
po ktorej správa putovala - až k jej zdroju. Preto sa napríklad
rozosielatelia SPAMu, či vírusy túto časť snažia falšovať.
Niektoré anti-spamové riešenia sú založené na tom, že overujú
platnosť týchto informácií.
Message-ID:
* Unikátny identifikátor správy umožňujúci napríklad radenie
správ do tzv. vlákien.
Reply-To:
* Komu pôjde odpoveď, keď príjemca odpovie na túto správu.
Content-Type:
* Správy obsahujúce prílohy v tejto položke nesú informáciu
od druhu prílohy (video, zvuk, binárny súbor, archív, html, ...)
a tiež reťazec, podľa ktorého sa dá určiť, kde príloha
začína a končí (tzv. boundary).
X*
* Existujú mnohé položky začínajúce písmenom X. Norma hovorí, že
e-mailové programy môžu takéto položky ignorovať. Používajú
sa preto napr. pre informácie špecifické pre istý druh e-mailového
programu, pre mail-listy a podobne.
Telo
Telo e-mailovej správy tvorí užívateľ a preto by sa mohlo zdať,
že v ňom môže byť čokoľvek. Ale tak ako aj v iných oblastiach
nášho života, aj pre telo správy platia isté pravidlá. Spomeniem
aspoň niekoľko z nich:
* Pamätajte, že obsah prenášaných e-mailov nie je chránený
pred nepovolanými očami. Ak potrebujete prenášať dôverné informácie,
potrebujete asi e-mailový program podporujúci šifrovanie.
* Keď odpovedáte na e-mail, môžete citovať pôvodnú správu. Citujte
to, čo príjemcoví pripomenie tému diskusie, ale necitujte zbytočne veľa.
* Než začnete písať odpoveď, overte si, že ste medzi príjemcami správy
(kolonka To:) a nie len medzi tými, ktorí dostali len kópiu správy
(kolonka Cc: alebo Bcc:).
* Neposielajte správu zbytočne ľuďom, ktorí ju nepotrebujú. Napríklad otázka
poslaná skupine nemá byt zodpovedaná e-mailom celej skupine, ale len
tomu, kto otázku položil.
* Odpoveď na e-mail môže prísť s oneskorením. Ak nemôžete čakať, použite telefón.
* Predmet (Subject:) správy by mal byť dostatočne výstižný. Ľudia si e-maily
archivujú. Keď sa pozriem do archívu spred dvoch rokov a nájdem správu
s predmetom: pomoc - moc mi to nepovie.
* Pokiaľ si nie ste istí, že všetci, komu sa správa môže dostať do rúk, ju
dokážu pohodlne prečítať, vyhnite sa všetkému, čo môže robiť problémy.
To môže znamenať diakritiku, HTML formatované správy a podobne.
* Neposielajte nevyžiadanú poštu. Nešírte neoverené a nepravdivé
poplašné správy. Nešírte reťazové a pyramídové e-maily.
* Pre prenos väčšieho množstva dát e-mail nie je vhodný. Dokáže to,
ale príjemcovi to môže spôsobiť problémy. Niektoré servery obmedzujú
veľkosť správy, ktorú sú ochotní spracovať.
Okrem týchto pravidiel, ktoré onedlho oslávia 10. výročie vzniku,
pridám ešte zopár rád vhodných v súčasnosti. V poslednej dobe sa na
internete šíri nemálo vírusov práve pomocou mailu. Veľká časť z nich
sa spolieha na neopatrnosť užívateľov. Preto buďte opatrní; neotvárajte
pripojené súbory od neznámych odosielateľov. Vírusy tiež často využívajú
chyby v programoch na čítanie e-mailov. Voľte preto dobre.
*******************************
GIMP - Grafický editor pro Linux a Windows
Vlastimil Ott
Recenze aktuální knížky GIMP - Grafický editor pro Linux a Windows.
Začátkem května vyšla v nakladatelství Computer Press knížka GIMP -
Uživatelská příručka, jejímž autorem je Josef Vybíral.
Redakci byla nabídnuta k recenzi, které jsem se rád ujal, protože jsem
pouhým poučeným uživatelem GIMPu a knížka tohoto typu mi přišla velice vhod.
Taky kvituji s povděkem, že se v edičním plánu různých nakladatelství
začínají objevovat knihy o Linuxu, které se zvolené tematice věnují na
úrovni začátečníků nebo věčně začínajících začátečníků. Netvrdím, že je to
případ této knihy, neočekávejte ale žádný zevrubný návod či podrobný
referenční manuál.
Díky nasazení a rozšířenosti Linuxu se dle mého názoru dostáváme do
situace, kdy se konečně objevují knihy o - s prominutím - každé hlouposti.
Myslím, že je to dobře a opět zdůrazňuji, že nemám na mysli tuhle knihu.
Pouze mne to napadlo, když jsem prohlížel katalog nakladatelství a hledal
další užitečné příručky.
Josef Vybíral aka Cornelius je mladý a perspektivní autor působící na
GIMP.cz. Recenzovaným titulem přispěl dle mého názoru zejména k osvětě,
protože titul bude v regálu ležet vedle knihy o Photoshopu, Wordu, Excelu a
podobných aplikacích. Druhá hodnota už je opravdu ta, kterou všichni
očekávají - obsažené informace. Nastiňme si obsah:
* Úvod. Co je GIMP, co je vlastně obsahem knížky, typografické konvence.
* Stažení a instalace. Nutno podotknout, že se v knize akcentuje zejména
GNU-charakter aplikace, nikoliv to, že se jedná "o ten Linux". Získání
balíčků resp. instalačního archivu (přijde na to) je popsáno pro případ MS
Windows a GNU/Linux. Součástí popisu pro Windows je i získání knihoven
GTK+, které jsou standardní součástí instalace Linuxu. Proces je přiblížen
prostřednictvím mnoha obrázků z obou systémů. Kapitola končí základním
nastavením aplikace (rozlišení obrazovky, odkládací prostor apod.). Všechny
kroky jsou vysvětleny spolu s odůvodněním, které může být pro uživatele
Windows možná někdy nepochopitelné, neboť jejich pracovní prostředí má jiné
zvyklosti.
* Uživatelské rozhraní. Krátká třetí kapitola se zabývá hlavním problémem
starší verze GIMPu - rozhraním, které je pro začátečníky relativně
nepřehledné a složité. Je zde také nastíněno nastavení písem GTK+ v MS
Windows, což musí být pro uživatele šok, protože se jedná o krátký popis
souboru gtkrc.cs aka .gtkrc. Autor se také dostal do nepříjemné
schizofrenie: popisuje zvláštnosti GIMPu starších verzí, i když GIMP 2.0,
který zásadně mění ovládání, vyšel už dlouho před vydáním knihy.
Pravděpodobně to nešlo zcela technicky zvládnout. Přesto je to hlavní
výtka, neboť některé obrázky jsou z verze 2.0. Zásadní ale je, že v knize
je popisováno rozhraní dnes již starých verzí.
* Základní operace. Kapitola se zabývá zcela elementárními operacemi, jako
je otevření a uložení souboru, skenování (jak ve Windows pomocí TWAIN
ovladačů tak v Linuxu pomocí SANE), tisk (tisk ve Windows versus
GIMP-print), lupa a měření vzdáleností a úhlů.
* Práce s výběry. Sofistikovaný popis práce se všemi typy výběrů,
překrývání, práce se schránkou. Výhody magické hůlky či Beziérových křivek a
jejich použití.
* Kreslíme. Vysvětlení práce s nástroji GIMPu - barvy, tužka, štětec,
pero, guma a další. Vyplňování barvou nebo vzorkem, klonování a retušování.
Součástí je i popis práce s informačními okny. Bohužel chybí - z výše
uvedené příčiny - dokování panelů, které se objevují ve verzi 2.0. Na druhou
stranu je zde zevrubné cvičení společně s řešením.
* Transformace obrázku. Základní práce jako je posun, transformace, ořez
či změna velikosti.
* Vrstvy. Jedná se o vysvětlení termínu vrstva a principu práce s nimi.
Dle mého soudu jedna z nejlepších kapitol. Je zde také popsaná interakce
mezi vrstvami (zesvětlení a podobné efekty).
* Barvy a práce s digitální fotografií. Nástin barevných modelů (RGB,
CMYK), kanálů, úprava charakteristik bitmapy (jas, kontrast, histogram,
odstín, sytost, doladění). Na můj vkus autor příliš zabíhá do problematiky
zpracování digitální fotografie a odbíhá od samotného programu, na druhou
stranu se to tématu stále týká.
* Filtry. Základní práce s filtry, lehký úvod do Script-Fu.
* GIMP a web. Vytvoření klikacích map, nejvhodnější formáty pro web.
* Animace. Princip animace, ruční animace, plugin pro složitější animace.
* Formáty. Některé známé i méně známé formáty, jejich stručná
charakteristika.
* Závěr, odkazy, literatura, rejstřík.
Kvalita rejstříku je standardní a slouží svému účelu; poslední kapitoly
pomíjím. Musím ale zmínit další faktor, který mě bohužel zaujal. Jedná se o
jazykovou stránku. Jsem z těch, kteří kladou na bezchybnost maximální důraz.
Tohle bohužel pro toto dílko neplatí - absence čárek ve větách (interpunkce)
přesahuje obvyklou míru tolerance. Korektor se prostě moc nenadřel, což není
vina autora, nicméně to snižuje kvalitu knížky.
Přílohou je CD-ROM, který obsahuje všechen zmiňovaný software (GIMP pro
oba systémy ve verzích 1.2.5 a 2.0), cvičení zadaná v knize spolu s
řešeními, dokumentaci a zejména velice praktický přehled klávesových
zkratek s popisem (vše na jednom listu).
Výsledek? Jen dál, jen houšť. Více takových knih. Každopádně očekávám
aktualizované a rozšířené vydání.
Název GIMP - Grafický editor pro Linux a Windows
Autor Josef Vybíral
Vydal Computer Press a.s.
ISBN 80-251-0158-4
Datum vydání 2004
Počet stran 154 černobílých + CD-ROM
Cena 187 Kč / 287 Sk
*******************************
Na co se často ptáme 4: X Window System
Vlastimil Ott
Zcela nezajímavý článek s obyčejným tématem. Asi vás vůbec nezaujme - ovšem
pokud vám "neklekl" X Window System. Potom zde hledejte vyčerpávající návod
jak jej nakonfigurovat.
XFree 4.3.0
X Window System (dále v článku také XFree nebo X) všichni známe,
nebudu se věnovat jeho historii, technologii nebo budoucnosti. Budu se
věnovat té nejobyčejnější věci, která pro mnohé uživatele představuje
noční můru. Jedná se o nastavení tohoto komplexního systému. Protože má
mnoho vlastností (features), jedná se o práci složitou. Lze použít
pomocné konfigurační nástroje, které bývají dodávány jednak se samotným
XFree, jednak s konkrétní distribucí. Takové řešení bývá obvykle funkční
a pro normální provoz dostačující. Někdy ale nastane situace, kdy tyto
programy nepomohou. Jedná se o případy, kdy máte příliš starý nebo nový
hardware (grafická karta, monitor, displej), nebo ve vaší distribuci
daný konfigurační nástroj není nebo nefunguje tak, jak má. Nebo, do
třetice, program vám grafický systém nastaví, ale jaksi "málo". Často je
použit standardní ovladač nebo parametr, který výkon vašeho hardwaru
degraduje (typicky nízká obnovovací frekvence monitoru).
V textu se pokusím vyčerpávajícím způsobem popsat jednotlivé sekce a
parametry konfiguračního souboru /etc/X11/XF86Config,
kterým je nastaveno chování XFree verze 4.3.0. Rád bych
upozornil, že se nejedná o poslední finální verzi, protože se ale u
aktuální verze 4.4 změnila licence, mnozí producenti distribucí zůstali
u verze 4.3, případně přecházejí ke konkurenčním grafickým systémům
(x.org, Y Window System).
Rád bych také upozornil, že syntaxe a dělení jednotlivých částí
konfiguračního souboru se od starších verzí změnila a tento materiál se
na ně nevztahuje. Veškeré informace, a to i ke starším verzím, lze
nalézt na stránkách XFree.
Před započetím práce si ověřte, že soubor, který zpracováváte, je
při spuštění XFree opravdu interpretován. Pracujete-li jako root, což je
pro ladění běhu XFree nutné a máte-li v domovském adresáři soubor
XF86Config, což se může stát, je interpretován právě on,
nikoliv soubor ze standardní cesty /etc/X11/.
Také si okamžitě vytvořte nejméně jednu zálohu. To je ostatně vhodné
opakovat pokaždé, když se vám bude zdát, že máte část souboru
odladěnou. Soubor s veškerými výpisy (log) se nachází v adresáři
/var/log/ a nejprve se jmenuje
XFree.0.log, starší verze mají ještě navíc koncovku
.old, případně se vnitřní nula mění na čtyřku.
Konfigurace
Struktura konfiguračního souboru
Konfigurační soubor se skládá z několika sekcí, na jejichž pořadí
obvykle (viz níže) nezáleží. Každá ze sekcí má tvar:
Section "Jmeno_sekce"
Polozka_sekce
Polozka_sekce
Polozka_sekce
EndSection
Místo pseudonázvu Jmeno_sekce se doplňuje některý z názvů konkrétních
sekcí:
| Název sekce Význam a použití
| ServerLayout Integrující konfigurace serveru
| Files Cesty k souborům písem, palety apod.
| ServerFlags Příznaky X-serveru
| Module Načítání modulů XFree
| InputDevice Definice vstupního zařízení
| Device Definice grafického výstupního zařízení
| VideoAdaptor Definice Xv grafického adaptéru
| Monitor Definice monitoru
| Modes Definice grafických režimů
| Screen Konfigurace obrazovky
| DRI Konfigurace DRI (Direct Rendering)
| Vendor Konfigurace závislá na výrobci
Syntaxe konfiguračního souboru
Při interpretaci klíčových slov nehraje roli velikost písmen. Znak "_"
(podtržítko) je ignorován; u některých parametrů jsou ignorovány také znaky
označující volný prostor (znaky pro mezeru a tabelátor). Každá položka v
souboru zabírá obvykle jeden řádek, který se skládá z klíčového slova
obvykle následovaného jedním nebo více argumenty. Tyto argumenty mohou
nabývat hodnot celých čísel, reálných čísel nebo textových řetězců:
| Název Význam, hodnoty, rozmezí
| integer Celé číslo v desítkové, šestnáctkové (musí začínat "0x") nebo
osmičkové (musí začínat "0") soustavě.
| real Reálné číslo s plovoucí čárkou.
| string Textový řetězec uzavřený do uvozovek.
Existuje speciální klíčové slovo Option (doslova "volba, možnost"), kterým
lze serveru předat nestandardní parametr s volnou strukturou. Option má
jeden, nebo dva argumenty. První je název volby a možný druhý je parametr
volby. Ten může kromě výše uvedených typů (integer, real, string) nabývat
také hodnot
| Název Význam, hodnoty, rozmezí
| boolean Stavový příznak, který nabývá pouze dvou hodnot: platí, nebo
neplatí. Pokud není uvedena hodnota, předpokládá se hodnota
"platí". Tu lze také vyjádřit následujícími znaky, které se
považují za rovnocenné: 1, on, true, yes. Hodnota "neplatí"
se vyjadřuje analogicky: 0, off, false, no.
| frequency Hodnota frekvence se vyjadřuje reálným číslem, které může být
doplněno jednotkami Hz, k, kHz, M, MHz. Pokud označení
jednotky chybí, je odhadnuto z rozmezí, které by mělo být
schopno použít dané zařízení. Pochopitelně je vhodné
jednotku vždy uvést. Nehrozí ani tak zničení zařízení
(monitoru), jako spíše zavlečení chyby.
Všechny parametry volby Option, nejenom řetězce, musejí
být uzavřeny v uvozovkách. Pokud parametr začíná předponou "No", je jeho
hodnota "neplatí". Následující příklady vyjadřují naprosto totéž
(zakázání akcelerace):
Option "Accel" "Off"
Option "NoAccel"
Option "NoAccel" "On"
Option "Accel" "false"
Option "Accel" "no"
Popis jednotlivých sekcí
ServerLayout
Tato sekce má v hierarchii nejvyšší váhu. Svazuje totiž konkrétní vstupní
a výstupní zařízení. Vstupní zařízení jsou popsána v sekcích InputDevice.
Parametr začínající Core- určuje standardní vstupní zařízení. V systému
musí být přesně jedno pro jednotlivé kategorie (myš, klávesnice); není-li
explicitně označeno, je použito první, které lze technicky využít. Toto lze
určit také v patřičné sekci InputDevice nebo na příkazovém řádku.
Výstupní zařízení se obvykle skládají z vícero nezávislých komponent
(grafické karty a monitoru). Tato zařízení jsou svázána v sekcích Screen;
na tyto sekce se pak odvolává v sekci ServerLayout. Grafické karty jsou
definovány v sekcích Device a monitory v sekcích Monitor. Záměrně vše
uvádím v množném čísle, protože XFree podporuje více zařízení v jednom
sezení (např. dvě karty a dva monitory, nebo jedna karta se dvěma výstupy
na dva monitory apod.). Téma na samostatný článek.
Section "ServerLayout"
Identifier "XFree86 Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Files
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
#FontPath "unix/:7100"
FontPath "tcp/192.168.1.10:7100"
EndSection
Tato sekce je určena k předání informací o souborech, které jsou nutné pro
běh serveru. Některé z těchto informací lze předávat serveru jako parametr
při spuštění, nebo za běhu, např. programem xset. Takové parametry mají
větší váhu než ty, které jsou uvedené v konfiguračním souboru. Položky této
sekce jsou následující.
| Parametr Hodnota Význam
| FontPath adresarova_cesta nebo
protokol/klient:cislo_portu Adresářová cesta k souborům s
fonty. Je možné (a obvyklé) uvádět více těchto parametrů.
Obvyklá cesta k souborům s fonty je
/usr/X11R6/lib/X11/fonts/. Pokud daný adresář neexistuje
nebo neobsahuje žádné soubory písem nebo není vytvořen
jejich seznam (soubory fonts.dir, fonts.alias a
fonts.scale), XFree oznámí, že odstraňuje tuto položku ze
seznamu. Obvyklý případ hlavně při (nesprávném) použití
TrueType fontů. Druhá hodnota je případ spolupráce s
fontserverem běžícím v síti. Problematika přesahuje tento
článek, viz např. článek o fontech v Mozille.
| FontPath adresarova_cesta Specifikace souboru s databází barev. K
názvu je přidána přípona .txt. Soubor obsahuje RGB kódy a názvy barev.
Obvykle /usr/X11R6/lib/X11/rgb.
| ModulePath adresarova_cesta Specifikace adresáře, ve kterém bude
systém XFree hledat moduly. Ty se obvykle používají pro
akceleraci, podporu TrueType a Type1 písem, zařízení
Video4Linux apod. Může být použito opakovaně. Obvykle
/usr/X11R6/lib/modules/.
ServerFlags
# Nastavení "dvouhlavé" karty pro dva monitory
Section "ServerFlags"
DefaultServerLayout "Multihead"
Option "BlankTime" "0"
Option "Xinerama" "true"
EndSection
Tato sekce je určena k specifikaci globálních vlastností X serveru.
Všechny položky v této sekci jsou typu Option (viz výše).
Jsou interpretovány také některé položky ze starších verzí XFree; těmi
se zde ovšem nezabýváme.
| Parametr Typ argumentu Význam hodnoty
| DefaultServerLayout string Sekce ServerLayout, která bude použita
jako standardní, pokud není její jméno definováno na příkazové řádce
parametrem -layout. Je-li nalezeno více sekcí ServerLayout, platí
poslední uvedená!
| NoTrapSignals boolean Určeno pro ladění. Rozhodnutí, má-li X server
překonat chyby, nebo se naopak ukončit a uložit ladicí informace.
| DontVTSwitch boolean Je-li true, není možné přepínat se na další
terminály pomocí klávesových zkratek Ctrl+Alt+Fn.
| DontZap boolean Je-li true, není možné ukončit (nebo pouze
restartovat) XFree pomocí Ctrl+Alt+Backspace.
| DontZoom boolean Je-li true, není možné přepínat videorežimy pomocí
Ctrl+Alt+šedé Plus a Ctrl+Alt+šedé Minus.
| AllowMouseOpenFail boolean Je-li true, server se spustí, i když není
připojena nebo správně nastavena myš.
| XkbDisable boolean Povoluje, nebo zakazuje rozšíření XKEYBOARD,
které slouží k přepínání klávesových map. Standardně povoleno.
| BlankTime integer Čas (v minutách) definující dobu, než se spustí
spořič obrazovky. Lze změnit za běhu pomocí xset. Různá prostředí
(KDE) tuto hodnotu modifikují.
| StandbyTime integer Čas (v minutách) definující dobu, než se
monitor přepne do "stand-by" režimu. Lze změnit za běhu pomocí xset.
Nemusí fungovat u všech videodriverů a monitorů. Nastaveno pouze v
případě, že je v sekci Monitor definován parametr DPMS (viz níže).
| SuspendTime integer Čas (v minutách) definující dobu, než se
monitor přepne do uspávacího režimu. Lze změnit za běhu pomocí xset.
Nemusí fungovat u všech videodriverů a monitorů. Nastaveno pouze v
případě, že je v sekci Monitor definován parametr DPMS (viz níže).
| OffTime integer Čas (v minutách) definující dobu, než se monitor
vypne. Lze změnit za běhu pomocí xset. Nemusí fungovat u všech
videodriverů a monitorů. Nastaveno pouze v případě, že je v sekci
Monitor definován parametr DPMS (viz níže). Všechny tyto čtyři sekce
jsou závislé na hardwaru a jejich chování lze vyzkoušet snad jedině
prakticky.
| Xinerama boolean Zakáže, nebo povolí rozšíření XINERAMA, které
umožňuje práci s více monitory a kartami, případně vícehlavými
kartami (např. ATI).
Existují další parametry, které mají speciální význam a které se
obvykle, tj. ve standardní uživatelské konfiguraci, nepoužívají.
Module
V této sekci se specifikují moduly, které se mají při sezení načíst.
Jedná se obvykle o rozšíření X serveru nebo moduly pro práci s různými
typy písem (TrueType, Type1, Speedo apod.). Většina ostatních modulů
je načítána na žádost, takže se o ně nemusíme starat.
Existují dva způsoby jak specifikovat moduly. Nejčastější a nejpohodlnější
je způsob Load "nazev-modulu". Argument nazev-modulu je název modulu,
nikoliv souboru. Řetězec rozlišuje velikost znaků a nesmí obsahovat
předponu lib stejně jako přípony .a, .o nebo .so.
Druhý, méně častý, způsob je položka SubSection s argumentem názvu modulu
a parametry typu Option, které jsou předány modulu při jeho načtení. Tento
způsob je určen pro opravdu speciální případy, kdy je nutné zcela přesně
nastavit parametry hardwaru. Je tedy nutné znát parametry jednotlivých
modulů, což jejich autor (v takovém případě spíše výrobce) určitě sděluje v
dokumentaci k modulu.
Soubory s moduly jsou hledány v adresářích, které jsme určili v sekci
Files. Každý z nich může obsahovat podadresáře (např. drivers, input,
extensions, fonts), které jsou také prohledávány. Standardní adresář je
/usr/X11R6/lib/modules/. Jako absolutní minimum se doporučuje nahrát
alespoň modul extmod, bitmap pro správu systémových písem se nahrává
automaticky.
Section "Module"
Load "record"
Load "xaa"
Load "extmod"
Load "drm"
Load "dbe"
Load "dri"
Load "v4l"
Load "GLcore"
Load "glx"
Load "xtrap"
Load "type1"
Load "freetype"
Load "xtt"
Load "speedo"
EndSection
InputDevice
Konfigurační soubor může obsahovat (a obvykle také obsahuje) více těchto
sekcí. Minimálně dvě jsou vždy přítomny: jedna pro myš a druhá pro
klávesnici.
Section "InputDevice"
Identifier "Keyboard0"
Driver "Keyboard"
Option "CoreKeyboard"
Option "MapName" "Standard Keyboard [ pc105 + toggle ]"
Option "Protocol" "Standard"
Option "XkbLayout" "cz,us"
Option "XkbModel" "pc105"
Option "XkbOptions" "grp:shift_toggle"
Option "XkbRules" "xfree86"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "CorePointer"
Option "Protocol" "auto"
Option "Device" "/dev/mouse"
Option "Buttons" "3"
#Option "Resolution" "N" #ukázka
Option "ZAxisMapping" "4 5"
EndSection
Celá sekce je platná, je-li na ni odkazováno v sekci ServerLayout nebo
parametrem z příkazové řádky.
| Parametr Význam hodnoty
| Identifier Představuje jedinečné jméno vstupního zařízení.
| Driver Typ zařízení, nejčastěji keyboard a mouse.
| CoreKeyboard Definuje hlavní klávesnici, viz také výše.
| CorePointer Definuje hlavní polohovací zařízení, viz také výše.
| MapName Popis typu klávesnice.
| Protocol V případě klávesnice obvykle standard. V případě myší dnes
již nejlépe auto, ale různé typy jsou stále rozlišovány.
| Device Platí pro myš, obvykle /dev/mouse, což bývá symbolický odkaz
např. na /dev/psaux.
| Buttons X server neumí zjistit počet tlačítek myši (což mě udivuje,
ale tak se to píše v dokumentaci). Přednastavená hodnota je 3 tlačítka.
| Resolution Rozlišení pro pohyb kurzoru myši.
| ZAxisMapping Namapování ostatních tlačítek myši. V uvedeném případě
je pomyslné tlačítko 4 (ve skutečnosti pohyb kolečkem od sebe) a 5 (pohyb
kolečkem k sobě) namapováno na osu Z, tedy posunování obsahu okna
(scrolling).
| XkbRules Soubory pravidel pro mapování klávesnice, soubory se
nacházejí v adresáři /usr/X11R6/lib/X11/xkb/rules/.
| XkbModel Název modelu klávesnice, její typ.
| XkbLayout Rozložení klávesnice.
| XkbVariant Varianty rozložení.
| XkbOptions Další vlastnosti a konfigurace ovládání klávesnice.
Další parametry jsou pro speciální účely, případně
nedokumentované. Konfigurace klávesnice prošla během vývoje XFree mnoha
změnami a zejména komplexní prostředí jako KDE tento vývoj výrazně
ovlivnila. Už fakt, že návody k nastavení klávesnice jsou
nejednotné, stejně jako technologie, svědčí o tom, že řešení není
ideální. Více informací lze nalézt v již zmiňovaném
dokumentu.
Device
Konfigurační soubor může obsahovat těchto sekcí několik. Přítomná
musí být alespoň jedna. V této sekci konfigurujeme grafickou kartu.
V případě vícehlavých karet je nutné vytvořit dva stejné záznamy;
pokud se však každá hlava identifikuje jiným BusID číslem,
pracujeme jakoby se dvěma oddělenými kartami.
| Parametr Význam hodnoty
| Identifier Představuje jedinečné jméno výstupního zařízení.
| Driver Ovladač grafické karty.
| BusID Specifikuje umístění grafické karty ve smyslu
PCI:sběrnice:zařízení:funkce. Např. PCI:1:0:0 je ale AGP karta. Tuto
hodnotu lze zjistit spuštěním X serveru s parametrem -scanpci, nebo
příkazem lspci.
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100
QY [Radeon 7000/VE]
| Screen Obvykle nemá význam v případě jedné karty. V případě více
karet nebo vícehlavých karet určuje tento parametr, kterou obrazovku
hlava/karta obsluhuje. Pojem "obrazovka" chápejme ve smyslu
"stínítko", tedy plocha k zobrazení. Je úzce svázána se zařízením
monitoru (sekce Monitor). Čísluje se od 0 do počet obrazovek-1.
| Chipset Doporučuje se nenastavovat, pokud to není nezbytně nutné.
Moduly jsou schopné samy přítomný čipset rozpoznat. Osvědčí se ale u
starých karet, které mají podobné, ale přesto se mírně lišící, čipsety
(např. S3).
| RAMDAC Význam tohoto čipu objasní spíše elektrotechnik. Moduly opět
samy poznají typ RAMDAC a chovají se podle toho.
| Clocks Frekvence časovače v MHz. Dnes pro moderní karty nevyužitelné;
snad jen pro ty staré.
| VideoRAM Množství operační paměti karty v kilobajtech. Dnes již
obvykle nevyužívané pro karty v pravém slova smyslu (zasunují se do
sběrnice), naopak praktické pro integrované grafiky, např. SiS.
Existuje ještě několik parametrů, s jejichž pomocí je snad možné dosáhnout
určitých výsledků. Neslyšel jsem ale o tom, že by se dal takto změnit
(zvýšit) výkon karty.
Kromě toho má každý čipset své specifické volby, které jsou velmi
důležité, protože výkon zásadně ovlivňují. Následující čipsety mají své
manuálové stránky, kde lze konkrétní volby nalézt: chips, cirrus, cyrix,
fbdev, glide, glint, i128, i740, i810, imstt, mga, neomagic, nv, radeon,
r128, rendition, savage, s3virge, siliconmotion, sis, sunbw2, suncg14,
suncg3, suncg6, sunffb, sunleo, suntcx, tdfx, tga, trident, tseng, v4l,
vesa, vga.
Problémy s firemními ovladači mnozí z vás znají, proto znovu upozorňuji,
že tyto manuálové stránky pojednávají o modulech XFree, nikoliv
jednotlivých výrobců, kteří dodávají vlastní dokumentaci. Jako příklad
uvádím konfiguraci obstarožního Radeonu 7000 (podrobnosti jsou jako obvykle
v manuálové stránce).
Section "Device"
Identifier "radeon0"
Driver "ati"
#Driver "radeon" # vyjde nastejno
VendorName "ATI Radeon VE"
Option "AGPMode" "4"
Option "ForcePCIMode" "on"
Option "AGPFastWrite" "on"
#Option "EnablePageFlip" "on"
#Option "composite_sync" "off"
BusID "PCI:1:0:0"
Screen 0
EndSection
VideoAdaptor
O této famózní sekci jsem se všude dočetl jediné: Nikdo neví, kdy a proč
vznikla, jakou má funkci a proč vlastně existuje.
Monitor
V této sekci se definují monitory - fyzická zařízení, která budou později
svázána s obrazovkou. Monitor je zobrazovací zařízení, které má za úkol
zobrazit přijatý signál v co nejlepší kvalitě. Tím máme zejména na mysli:
* přijatelné rozlišení;
* bitovou hloubku;
* frekvenci.
Platí přitom pravidlo, že všechny podmínky musejí být splněny zaráz;
teprve poté je cíle dosaženo.
Přijatelné pracovní rozlišení se pohybuje od hodnot 800*600 (dávná
minulost), 1024*768 nebo 1152*864(nedávná minulost), 1280*1024 (současnost)
až po 1200*1600 a vyšší (budoucnost). Mám pochopitelně na mysli moderní
stroje, protože všechna rozlišení v tomto rozsahu jsou dnes podle okolností
používaná.
Bitová hloubka čili schopnost zobrazit určitou paletu barev je zásadní pro
dnešní mediální svět, a proto cokoliv pod 16bitů nemá smysl (vyšší už je
pouze hloubka 32bitová, takže možností tolik není).
Frekvence je zase nejdůležitější pro zdraví. Člověk, který má špatně
nastavený monitor, hazarduje se zdravím - a nejedná se jen o zrak. Byť
není správcem svého počítače (v zaměstnání), měl by požadovat maximální
hodnoty, které hardware umožňuje. Podle mého laického názoru lze takto
aplikovat normy Bezpečnosti a ochrany zdraví při práci (BOZP), které jsou
součástí/dodatkem Zákoníku práce.
Jak se pozná špatně nastavená frekvence monitoru? Necvičené oko to na
první pohled nijak nepozná. Až se "ozve" krční páteř, hlava, záda a kříž,
poznáte. Cvičené oko se zadívá těsně vedle monitoru a periferním viděním se
snaží poznat, jestli se určitá místa obrazu tetelí a chvějí. Pokud ano, je
nastavena frekvence kolem 60Hz (někdy i trochu méně!). Na moderních
(mladších pěti let) monitorech stačí stisknout tlačítko OSD (On Screen
Display), což je informační nabídka monitoru. Slouží k ovládání a kalibraci
monitoru a obvykle obsahuje základní informace o rozlišení a frekvenci.
Správnou frekvenci však musíme nastavit softwarově.
| Parametr Význam hodnoty
| VendorName Výrobce monitoru. Jakýkoliv řetězec.
| ModelName Model monitoru. Jakýkoliv řetězec.
| HorizSync Horizontální obnovovací frekvence monitoru. Pokud máte
manuál, bývá obvykle v tabulce kolem strany osm až dvanáct. Zadává se
seznam hodnot oddělená čárkami, nebo rozmezí. Např. 40-120.
| VertRefresh Vertikální obnovovací frekvence. Zadává se stejne jako
HorizSync, pouze hodnoty jsou nominálně nižší, např. 40-80.
| DisplaySize vyska sirka Rozměr fyzické plochy monitoru v milimetrech.
Použito pro vypočítání rozlišení pro obrazovku. Opravdu je jediná možnost
vzít pravítko a měřit.
| Gamma Gamma korekce monitoru. Buď jediná hodnota, nebo tři složky RGB
v rozmezí 0-1.
| Mode Volba pro vytvoření nového režimu; vhodnější řešení je Modeline
| Modeline "jmeno" definice V podstatě instrukce pro vytvoření nového
režimu monitoru. Předem varuji, že hodnoty si nelze vymyslet a že jejich
nesprávné užití může monitor poškodit. Taky je ale pravda, že moderní
monitory se umí bránit a prostě zobrazí hlášení "Signal out of range"
(Signál mimo rozmezí) nebo podobné. O modelines více níže.
| DPMS Lze zapnout, nebo vypnout úsporný režim monitoru.
| DDCmode Zakáže, nebo povolí příjem informací o monitoru, tj. o
frekvenčním rozmezí, předdefinovaných režimech apod.
Moderní grafické karty jsou schopné signál vysílat na vysokých
frekvencích, pro monitory má význam rozmezí (75)85 až 120 Hz. Pro LCD
displeje je pojem "frekvence" irelevantní - zobrazovací mechanismus je
odlišný od toho, na kterém pracuje monitor.
Pokud tedy zjistíte, že rozlišení, které vidíte, je realizováno na
frekvenci 60 Hz, a přitom máte nastavený správný modul pro grafickou kartu,
zkuste změnit (roztáhnout) frekvenční rozsah monitoru. Monitor by si měl
najít "tu svou". Je také vhodné experimentovat (ne vždy je to přínos) s
parametrem DDCmode. Téměř každý monitor má předdefinované režimy. Je na
vás, abyste ho donutili je použít. Některý to udělá automaticky, jinému je
nezbytné vnutit přesné frekvenční rozmezí (metodou pokus-omyl) za pomoci
DDCmode.
Příklad z praxe. Starší digitální monitor Fujitsu ErgoPro x152 z bazaru
(tehdy cca 1500 Kč) reaguje na téměř jakýkoliv požadavek tím, že zvolí
nejvyšší frekvenci, tj. od 75 do 85 Hz. Oproti tomu nový Hyundai ImageQuest
QV790, údajně nejmenší 17" monitor na světě ;-), místo aby zvýšil
frekvenci, zvýší rozlišení i za cenu vyloženě nízké frekvence 60Hz. Stále
jsem místo požadovaných 1280*1024*16bit*85+ dostával 1600*1200*16bit*60-.
Sladění karty a monitoru trvalo několik hodin.
Pojďme k modelines. O překlad se ani nesnažím, snad "definice režimu".
Jedná se o řádek, ve kterém zadáme fyzické hodnoty pro nový režim. Počet
režimů je u každého monitoru jinak omezený (i když by měly platit
standardy) a záleží na monitoru, zda je schopen hodnoty použít. Existují
tři způsoby jak řádek s Modeline získat.
* V souboru /var/log/XFree.0.log se zobrazují řádky
Modeline, které jsou k dispozici, ale nebyly použity.
(II) RADEON(0): Not using mode "1152x864" (width too large \\
for virtual size)
(II) RADEON(0): Not using default mode "1152x768" (width too \\
large for virtual size)
(--) RADEON(0): Virtual size is 1024x768 (pitch 1024)
(**) RADEON(0): *Mode "1024x768": 94.5 MHz, 68.7 kHz, 85.0 Hz
(II) RADEON(0): Modeline "1024x768" 94.50 1024 1072 1168 \\
1376 768 769 772 808 +hsync +vsync
(**) RADEON(0): Default mode "832x624": 57.3 MHz, 49.7 kHz, \\
74.6 Hz
Stačí vyseknout požadovanou část a umístit ji do sekce Monitor
v konfiguračním souboru.
* Online generátory. Ne vždy fungují na 100 %, ale obvykle dostačují.
Např. XTiming, Colas XFree Modeline Generator nebo Modeline Tool.
* Ruční vytvoření za pomoci programu xvidtune nebo videogen. Vhodné
pouze pro adrenalinové sportovce; já jsem si vždycky pomocí xvidtune
spolehlivě přizabil systém.
Ukázka sekce Monitor.
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 40-100
VertRefresh 60-130
Option "DDCmode" "off"
Option "dpms" "off"
Modeline "1600x1200" 202.50 1600 1664 1856 2160 1200 1201 1204 1250 \\
+hsync +vsync
Modeline "1400x1050" 155.80 1400 1464 1784 1912 1050 1052 1064 1090 \\
+hsync +vsync
Modeline "1280x1024" 157.50 1280 1344 1504 1728 1024 1025 1028 1072 \\
+hsync +vsync
Modeline "1280x1024" 135.00 1280 1296 1440 1688 1024 1025 1028 1066 \\
+hsync +vsync
Modeline "1152x864" 108.00 1152 1216 1344 1600 864 865 868 900 \\
+hsync +vsync
Modeline "1024x768" 94.50 1024 1072 1168 1376 768 769 772 808 \\
+hsync +vsync
Modeline "1280x960" 148.50 1280 1344 1504 1728 960 961 964 1011 \\
+hsync +vsync
Modeline "1280x960" 108.00 1280 1376 1488 1800 960 961 964 1000 \\
+hsync +vsync
EndSection
Modes
Grafické režimy zde lze definovat i nezávisle na zobrazovacím zařízení.
Nemám s tím zkušenosti.
Screen
Soubor může opět obsahovat více těchto sekcí. V každé z nich se spojuje
zařízení grafické karty (sekce Device) se zobrazovacím zařízením (sekce
Monitor), čímž vznikne obrazovka (screen). Každé originální spojení má své
číslo. (V případě více karet je již uvedeno v sekci Device).
Section "Screen"
Identifier "Screen0"
Device "radeon0"
Monitor "Monitor0"
DefaultDepth 16
Subsection "Display"
Depth 16
#Modes "1280x1024" "1152x864"
Modes "1024x768"
EndSubsection
EndSection
Každá sekce Screen musí obsahovat podsekci Display. V ní určujeme buď
standardní, nebo dříve - pomocí Modeline - vytvořené režimy. Myslím, že
ukázka říká vše a je dostatečně srozumitelná. Existuje také množství velmi
specializovaných parametrů, které povolují, či zakazují, různá rozšíření X
serveru. Nikdy jsem je nepotřeboval a ani neznám jejich účel.
DRI
Nastavení Direct Rendering Interface, což je rozhraní pro hry, není témeř
žádné. Je vlastně pouze nutné stanovit práva pro zařízení tak, aby ho mohli
využívat všichni uživatelé. Podmínkou je samozřejmě načtený odpovídající
modul a podpora v jádře, ale to je jiná kapitola.
Section "DRI"
Mode 0666
EndSection
Uživatelské dotazy
Modelines
Dotaz. Prosím o radu, kterak vypočítat modeline pro rozlišení 1024x768 při 75
Hz. Při použití XFree 3.3.6 mi to jde bez problému samo, v XFree 4.3.0 mi
však obraz zhasíná a problikává.
Odpověď. Nejlepší je použít některou z webových kalkulaček.
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines
* http://www.hut.fi/Misc/Electronics/faq/vga2rgb/calc.html
* http://www.dkfz-heidelberg.de/spec/linux/modeline/
* http://www.dynaweb.hu/opensource/videogen/
Dalším řešením je prozkoumání souboru /var/log/XFree.0.log. Jsou v něm
informace z běhu serveru. Mezi nimi je také možné nalézt modelines, které
nebyly z nějakého důvodu použity. Občas lze najít i ten řádek, který můžeme
využít.
Třetí příklad, který mě napadá, je utilita xvidtune, s jejíž pomocí je
možné modelines nastavit. Je to činnost na starším hardwaru potenciálně
nebezpečná a celkově nepřehledná. Spusťte program z emulátoru terminálu
(xterm); do něj se budou požadované informace vypisovat.
Obrázek
Chybové zprávy
Dotaz. Po spuštění XFree mi systém vypíše nějaké chybové hlášky, ale
nestačím je při startu přečíst. Zapisují se někam do logu?
Odpověď. Ano, najdete je v již zmiňovaném souboru /var/log/Xfree.0.log.
Při spuštění X serveru je stávající soubor přejmenován, obvykle získá
příponu .old.
V některých systémech existuje ještě soubor .xsession-errors, který se
nachází v domovském adresáři uživatele a obsahuje chybová hlášení procesů,
které spouští uživatel při startu X serveru.
Automatické spouštění XFree
Dotaz. Chtěl bych, aby se mi XFree s KDE spustilo hned při startu. Abych
nemusel pokaždé psát startx. Nikde jsem nenašel tuto volbu. Asi jsem blbě
hledal, můžete mi helpnout?
Odpověď. Existují v podstatě dva způsoby jak spustit grafický server.
Příkazem startx z terminálu. Musí se to udělat ručně a spustíme tak pouze
vybrané prostředí (KDE, GNOME, fluxbox, xfce nebo libovolné jiné).
Pomocí runlevelu neboli úrovně běhu systému. Systém se vždy nachází v
některém runlevelu. Jeden je při načítání, další je pro přechod do
víceuživatelského, nebo jednouživatelského režimu, další je pro podporu
síťového prostředí, jiný je pro ukončení běhu systému. Existuje také
runlevel pro grafické prostředí. Pro každou úroveň jsou v konfiguračních
souborech stanoveny programy a služby, které se mají spustit, případně
ukončit.
# Takto jsou runlevely definovány ve Slackware
# 0 = zastavení systému
# 1 = jednouživatelský (správcovský) režim
# 2 = nepoužito, stejné jako 3
# 3 = víceuživatelský režim, standard
# 4 = spuštění XFree se správcem přihlášení XDM, KDM, nebo GDM
# 5 = nepoužito, stejné jako 3
# 6 = reboot
#
######################################################
#
# Takto jsou runlevely definovány v SUSE 9.1
#
# runlevel 0 je zastavení systému - nepoužívat jako standard!
# runlevel 1 je jednouživatelský režim
# runlevel 2 je víceuživatelský režim bez podpory sítě
# runlevel 3 je víceuživatelský režim s podporou sítě
# runlevel 4 není použit
# runlevel 5 je víceuživatelský režim s podporou sítě a XFree
# runlevel 6 je restart systému - nepoužívat jako standard!
Pro XFree je to runlevel číslo 4, v některých distribucích 5. Příkaz pro
manuální změnu runlevelu je telinit cislo-runlevelu. Takto může správce
systému (root) manuálně měnit stav, ve kterém se systém nachází.
Pro nastavení průběhu startu systému existuje soubor
/etc/inittab. V něm najdeme řádek
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
Číslo stanoví runlevel, do kterého se systém přepne po dokončení
startovacích rutin. Uvedený příklad je pro Slackware. Dvojtečky jsou
důležité!
Jak shodit XFree?
Dotaz. Ahoj, jak mám shodit XFree server? Potřebuju nainstalovat nvidia
ovladače, a nevím jak shodit XFree.
Odpověď. Pokud máte X server spuštěný výše uvedeným způsobem, jediná
možnost obvykle bývá přepnout se na některou konzoli (na třetí např.
Ctrl-Alt-F3), přihlásit jako root a zadat příkaz pro přepnutí do
víceuživatelského režimu bez grafického prostředí. Tedy ve Slackwaru např.
příkazem telinit 3. Po provedení změn v konfiguraci XFree se vrátíte do
čtvrtého runlevelu příkazem telinit 4.
Pokud nemáte v konfiguračním souboru zakázanou klávesovou zkratku
(parametr DontZap), lze X server shodit kombinací Ctrl-Alt-Backspace. Více
informací najdete v popisu sekce ServerFlags v prvním díle tohoto seriálu.
Tento postup je ale účinný pouze v případě, že jste X server spustili
příkazem startx; pouze v tomto případě se okamžitě dostanete do terminálu.
Pokud používáte správce přihlášení XDM, KDM nebo GDM, celý grafický systém
se pouze restartuje a znovu se zobrazí nabídka k přihlášení. Z toho
vyplývá, že můžete (za běhu X) provést změny, přepnout se do X a klávesovou
kombinací Ctrl-Alt-Backspace je restartovat. Jde opravdu o tvrdý restart,
žádná data se neukládají, tak si je nezapomeňte uložit!
Server se znovu spustí a načte již novou konfiguraci. (Neplatí pro font
server, ten je nutné restarovat ručně. To je ale nutné pouze v případě, že
provádíte změny v jeho nastavení.)
Instalace karty
Dotaz. Potřebuji nainstalovat ovladače grafické karty, ale nevím kde
začít. Instalace přiřadila kartu do generické skupiny "VESA". Přesné
označení typu to asi nebude, asi spíš výrobce. Bohužel ani nevím, jak ty
informace získat (tištěné materiály nemám k dispozici). Lze tu kartu
detekovat automaticky? Půjde vůbec rozchodit?
Program lspci
Odpověď. Začít bychom měli utilitou lspci, která zobrazí zařízení
sběrnice.
# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture
(rev 11)
00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master
IDE (rev 06)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY
[Radeon 7000/VE]
Jak je vidět z výpisu, grafická karta má BusID 1:00.0. To je také první
parametr, který zapíšeme ve formě
PCI:sběrnice:zařízení:funkce
do sekce Device. Hodnota PCI:1:0:0 odpovídá v tomto případě AGP kartě.
Section "Device"
Identifier "radeon0"
Driver "radeon" # volitelne "ati"
VendorName "ATI Radeon VE"
Option "AGPMode" "4"
Option "ForcePCIMode" "on"
Option "AGPFastWrite" "on"
BusID "PCI:1:0:0"
EndSection
Nálepka
Nepodceňujme také nálepky na samotném zařízení, mnohdy pro identifikaci
postačují. Jen je nutné stroj rozdělat a trošku se potrápit při vytahování
karty a dýchání x let staré prachové usazeniny...
Samotný X server
Samotný X server má také metody pro detekci hardwaru - nejsou ale tak
spolehlivé jaké první řešení.
X -scanpci nebo X -probeonly
Poté již následuje pouze hledání na Internetu a zkoušení různých
kombinací. Režim VESA běží, pokud je mi známo, pouze v pevně stanovených
frekvencích; pokud je váš monitor nepodporuje, bývá právě tohle jádrem
problému. Je třeba experimentovat. Tohle se ale týká pouze starých karet,
nové takové problémy nemívají.
Změna rozlišení za běhu
Dotaz. Nevíte někdo jak změnit rozlišení v Xkách (ne jenom velikost
zobrazované plochy) pomocí nějakého programu? Mám na mysli něco jako je ve
Win98 ikonka vpravo dole, na kterou když poklepu, rozbalí se nabídka
možných rozlišení a když na jedno z nich kliknu, rozlišení se změní, tedy
bez toho, abych musel editovat konfigurak Xek.
Odpověď. Pokud máte v konfiguračním souboru definováno více režimů a
povoleny klávesové zkratky, lze rozlišení přepínat pomocí
Ctrl-Alt-šedé plus a Ctrl-Alt-šedé mínus. Více v
prvním dílu.
Existuje ale také rozšíření X serveru (načítá se obvykle automaticky),
které umožňuje přepínání podle možností karty (není třeba režimy explicitně
definovat). Nazývá se XRandr, jedná se o relativní novniku,
které ještě nemá žádoucí podporu a není stoprocentně funkční ve všech
kombinacích. Nové KDE nebo GNOME jej však samozřejmě podporují.
Někdy musí nastat konec
Problematice bychom se mohli věnovat ještě dlouho, právě proto máme
diskuze. Já jen doufám, že jsem tímto shrnutím pomohl někomu zkrátit čas při
nastavování grafického systému Linuxu.
*******************************
Diskové kvóty
Petr Bravenec
Co jsou diskové kvóty a jak jich využít k ukáznění nepořádných uživatelů.
Popis instalace a nastavení. Spolupráce s Windows.
Úvod
Tímto článkem pravděpodobně neřeknu zkušenějším správcům Linuxu nic
nového. Ale vždy se najde dostatečný počet začínajících, kteří potřebují
nějakým způsobem omezit roztahovačné uživatele a nevědí, jak na to. Ale
nakonec i zkušenější se někdy dají nachytat: "Strčím do serveru 160 GB
disk, to ti čuníci hned tak nezapráskají..." Jenže po pár týdnech
nevycházejí z údivu, když je disk ze sedmadevadesáti procent plný životně
důležitých dat - zálohy nějakého obskurního účetního serveru, který byl
zrušen už v prvé polovině devadesátých let minulého století, zálohy záloh,
patnáct celovečerních filmů, čtyři PST soubory, každý o velikosti
neuvěřitelných dvou GB (jeden originál a tři nepostradatelné zálohy), kopie
instalačního CD Windows 95 (a samozřejmě záloha)...
Disky sice dneska nejsou příliš drahé, ale každého rozumného správce musí
po uklidnění a odložení studeného obkladu z čela napadnout, že kupovat
další disk možná nebude ideální řešení. No a protože služební brokovnice
nebývá ve firmách zcela obvyklá, je nutné sáhnout po řešení někde mezi
fyzickou likvidací a koupí dalšího disku. Takovým řešením mohou být diskové
kvóty.
Jak to pracuje
Diskové kvóty nejsou jen jednoduchým omezením diskového prostoru. Po
správné konfiguraci jsou uživatelé omezování ve svém užívání hned několika
způsoby (ponechávám anglické názvy, protože ty se používají při
konfiguraci):
Hard limit
Pevná mez, přes kterou vlak nejede. Uživateli se nikdy nepodaří na disk
uložit více, než je uvedeno v tomto parametru.
Soft limit
"Nezávazná mez" - uživatel může uložit na disk i více, ale při
překročení této meze dostane od systému varování.
Inodes, Blocks
Kvóty lze nastavit jak na celkový objem dat na disku, tak na počet
souborů.
Grace period
Uživatel může dočasně uložit na disk více, než je uvedeno v parametru
"soft limit" na dobu zadanou parametrem "grace period". Po uplynutí
této doby se uživateli nepodaří na disk uložit více, i když ještě
nepřekročil mez zadanou parametrem "hard limit".
Limity lze pochopitelně nastavovat pro každého uživatele nebo
skupinu uživatelů zvlášť. Omezit lze jak celkovou velikost souborů,
tak i jejich počet.
Nutné ingredience
Základním předpokladem pro fungování diskových kvót je podpora v
kernelu. V howto
je doporučováno implementovat diskové kvóty opatchováním
kernelu. Nicméně osobně bych se tomuto postupu vyhnul. V inteligentní
distribuci by měly být diskové kvóty součástí systému a mělo by
postačovat pouze nainstalovat potřebné balíčky. Není-li ve vaší
distribuci podpora kvót, sáhněte raději po nějaké jiné distribuci. Ta
vaše bude orientovaná pravděpodobně více na desktop a na serverové
použití bude méně vhodná.
Osobně používám distribuci Red Hat (už od verze 3) a můžu zodpovědně
prohlásit, že kvóty byly určitě ve verzi 4.2 (nejstarší CD, které se
mi válí v šuplíku) - s největší pravděpodobností už dříve. V
distribuci Red Hat stačí nainstalovat balíček quota a zkonfigurovat
systém.
Vlastnímu kernelu bych se vyhnul i z toho důvodu, že existují dvě
různé verze kvót. Zatímco Red Hat 8 například podporuje novější verzi,
standardní kernel stejné verze (údajně) používá verzi starší. Potom
samozřejmě můžete čekat nečekané, když si novější utility z distribuce
nebudou rozumět s kernelem.
Dostanete-li se ovšem do situace, kdy distribuce kvóty neobsahuje a změna
z jakéhokoliv důvodu není možná, najdete potřebné balíky zde:
Jádro
* ftp://ftp.kernel.org
Jaderná záplata
* ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/
Utility
* http://sourceforge.net/projects/linuxquota/
Quota mini-HOWTO
* http://www.tldp.org/HOWTO/Quota.html
Postup při záplatování, konfiguraci a překladu jádra byl popsán
například zde na Abc Linuxu v článku Kompilovanie jadra.
Základní konfigurace, spuštění
Každý souborový systém, na kterém chcete mít aplikované kvóty, musí
být přimontovaný s volbou usrquota. I když je v
manuálové stránce příkazu mount uvedeno, že se tato volba ignoruje,
rozhodně není ignorována různými utilitami - musí být proto uvedena.
Volbu uvedeme do souboru /etc/fstab.
LABEL=/ / ext3 defaults 1 1
LABEL=/uzivatele /uzivatele ext3 usrquota,grpquota 1 2
V horním řádku (systém souborů /) nejsou kvóty použité.
Podobně vypadal před úpravou i druhý řádek. Na serveru poskytujícím
diskový prostor by rozhodně měly být uživatelské diskové oblasti
oddělené od systémových (root, var, usr a podobně).
Diskové kvóty nelze použít na všech typech souborových systémů -
určitě se vám nepodaří aplikovat kvóty třeba na FAT nebo NFTS. Bez
problémů je to ale u obvyklého systému ext2 a ext3.
V nejvyšším adresáři souborového systému vytvořte soubory pro práci
kvót. I když podle manuálové stránky by měl příkaz quotacheck vytvořit
soubory sám, nevěřte tomu:
touch aquota.user
touch aquota.group
chmod 600 aquota.*
U distribuce Red Hat tímto veškerá instalace téměř končí. Všechno ostatní
by měly obstarat startovací skripty (konkrétně /etc/rc.d/rc.sysinit).
Nejjednodušším pokračováním je restart.
Nemůžete-li systém restartovat, proveďte instalaci ručně:
quotacheck -avug
quotaon -avug
Program quotacheck může protestovat, že systém souborů není přimontovaný
pouze pro čtení a doporučí vám volbu -m.
U distribucí, které nemají kvóty shůry dáno, musíte zajistit
startování výše uvedených dvou příkazů při startu systému.
Nastavení pro jednotlivé uživatele
Příkazem edquota můžeme měnit kvóty jednotlivých uživatelů. Příkaz
vyžaduje nejméně jeden parametr - uživatelské jméno. Máte-li v systému
více diskových oblastí s kvótami, bude nutné použít ještě parametr -F:
edquota -F /home marena
V editoru se vám otevře tabulka, ve které můžete nastavit pro
uživatele kvóty:
Disk quotas for user marena (uid 1030):
Filesystem blocks soft hard inodes soft hard
/dev/md0 24 1000 1500 3 0 0
Hodnoty upravíme, ukončíme editor - a od té chvíle by měl mít uživatel
nastavené kvóty.
Grace period - doba, po kterou může mít uživatel překročený soft
limit - se nastavuje pro celý disk společně, nelze ji nastavit pro
každého uživatele zvlášť. Nastavuje se příkazem
edquota -t -F /home
Čas lze nastavit od sekund po měsíce - pro označení použijte anglické
názvy (seconds, minutes, hours, days, weeks, months). Mezi číslicí a
názvem se nesmí objevit mezera.
Příkaz edquota volá normálně editor vi. Nevyhovuje-li vám tento
editor, můžete ovlivnit chování příkazu edquota pomocí proměnné
prostředí EDITOR:
export EDITOR=ed
Místo editoru ed napište cestu na vlastní oblíbený editor. Ed jsem uvedl jen
jako žert (dostanete se z něj písmenem q).
Nastavení editoru můžete využít při hromadném zavádění kvót pro větší
množství uživatelů. Nastavte vzorové kvóty uživateli standa a pro
celou vaši školku pak můžete nastavit kvóty podle tohoto vzoru
jednoduchým skriptem:
set EDITOR=true
for i in majdalenka apolenka veronika verka zdenka majka lenka monika
do
edquota -p standa $i
done
unset EDITOR
Spolupráce s Windows
Kvóty se hlídají i při přístupu k disku z Windows protokolem smb. Při
takovém použití kvót se můžete dostat do situace, že ačkoli je na disku
nastavená kvóta 10 MB, podaří se vám uložit na disk třeba dva osmimegové
soubory (dohromady tedy 16 MB). Příkaz ls -l říká 16, příkaz du -s říká 10,
repquota říká 10. Soubory prostě mají menší velikost, než je udávaná.
Manuál (samba verze 2) pro tuto situaci doporučuje použití parametru samby
strict allocate = yes. Nevýhodou je údajné zpomalení na
některých systémech.
Při experimentech jsem si nevšiml, že by se Windows nějakým způsobem
dozvěděly o překročení soft limitu. Aby se dal efektivně využít mechanismus
"grace period", je potřeba dát uživatelům dát vědět jiným způsobem. K tomu
se dá využít program repquota. Tím zjistíme využití kvót jednotlivými
uživateli a při překročení pošleme uživateli poštu:
repquota /home | awk '($2~"-" || $2~"+") && $4!=0 && $3>$4 {print $1, $3,
$4, $5;}' |
while read user block soft hard;
do
export user, block, soft, hard
(echo "Mate na disku vice dat nez je povoleno:"
echo "Na disku: $block"
echo "Povoleno: $soft" ) |
mail -s "Prekrocene kvoty" $user
done
Dávka by měla být pravidelně spouštěná z cronu. Uvedený příklad je
samozřejmě velmi jednoduchý, uživatelé by jistě uvítali například seznam
jimi vlastněných souborů. Zvláště ve sdílených adresářích mívají uživatelé
strašný binec a často vůbec netuší, které soubory jsou jejich.
Závěr
Diskové kvóty jsou mocným nástrojem na umravnění nepořádných uživatelů.
Notoričtí zálohovači internetu vás za to nebudou mít rádi, takže tvrdá
pravidla můžete uplatňovat jen tak dlouho, dokud se jednou ve firmě bez
vašeho vědomí neobjeví služební brokovnice...
*******************************
Extra multimediální systém XMMS
Vlastimil Ott
Zaslouží si přehrávač XMMS pozornost? Co vlastně umí s pomocí pluginů?
XMMS je přehrávač zvukových souborů všech možných typů. Protože nedávno
konečně vyšla další verze, pojďme si jej blíže představit. Aktuální verze
1.2.10 pouze opravuje dřívější chyby a nepřináší nic nového. To je asi
fakt, který se mi na XMMS nejvíce nelíbí - jeho pomalý vývoj.
XMMS se stal standardem pro přehrávání zvuku v Linuxu, i když mu může
slušně konkurovat třeba MPlayer, ačkoliv ten je určen spíše pro video.
Téměř všechno je v XMMS realizováno pomocí pluginů. Modularita programu
může být někdy na obtíž - když prostě nemáte plugin, nemůžete číst nebo
ukládat to či ono. Ve standardním balíčku s programem jsou ale všechny
běžně potřebné pluginy k dispozici.
Pluginy
Plugin - česky obvykle "zásuvný modul" - je knihovna (má příponu .so),
která je při startu programu načtena a její funkce jsou uživateli
zpřístupněny nějakou volbou programu. Je možné sehnat knihovny již
zkompilované, ale stejně tak je běžné, že si je uživatel musí zkompilovat
sám.
Místo, kde bychom měli pluginy hledat, je sekce na webu XMMS. Podle funkce
jsou rozděleny na vstupní, výstupní, efekty, vizualizace, všeobecné a různé.
Je tedy možné instalovat plugin do libovolné kategorie. V programu je potom
vyvoláme klávesovou zkratkou Ctrl+P.
Vstupní pluginy
V této sekci jsou zobrazeny pluginy pro čtení zvukových souborů.
Standardně se jedná o přehrávání
* CD audio
* MPEG Layer 1/2/3
* OGG Vorbis
* FLAC, VQF (bohužel neznám)
* WAVE vzorků
* starých modulů typu .mod a dalších (zlatá Amiga)
* plus generování tónu o určité frekvenci
Každý plugin je standardně zapnutý, proto tento parametr zkontrolujte,
pokud vám přehrávání nefunguje.
U mnohých pluginů lze tlačítkem Nastavit specifikovat
přesnější parametry než ty, které byly standardně nastaveny. To se může
týkat například pluginu pro přehrávání audio cd, kde je v případě více
CD-ROM mechanik nutné vybrat tu "správnou", nebo se hodí spuštění CDDB
systému (vyhledá na Internetu název písničky).
Výstupní pluginy
Jedná se o programový kód, který formuje zvuková data do konečné formy.
Záměrně to píšu takto složitě, protože to není vždy zvuk, co je na výstupu.
Standardním výstupem samozřejmě zvuk je; dnes je realizován zvukovým
systémem ALSA, je ale stále podporován překonaný systém OSS. Doporučení je
jasné - volte ALSA. Dále mohou být na výstupu opět zvuková data, tentokrát
jako WAV soubor uložený na disk. O to se stará Disk Writer Plugin;
výsledkem je soubor typu RIFF (little-endian) data, WAVE audio, Microsoft
PCM, 16 bit, stereo 44100 Hz.
Posledním typickým zástupcem je podpora EsounD, což je jeden ze zvukových
démonů. Je ale možné doinstalovat jiné výstupní pluginy, například pro
spolupráci s aRtsd (zvukový server pro KDE), pro výstup do OGG nebo MP3,
pro DJs či pro modulování výstupu - efekt crossfade. Všechny zde uvedené (a
některé navíc) najdete v odpovídající sekci.
Efektové pluginy
Efektové pluginy modulují proud zvukových dat a s jejich pomocí lze
dosáhnout více či méně praktických a obskurních zvuků a pazvuků. Obvykle lze
každý z nich nastavit, pokud to ovšem sám podporuje.
Mně se osvědčily pluginy, které lze vidět na obrázku; bohužel jich zase
nejsou stovky, některé nejdou zkompilovat, jiné tvrdošíjně XMMS shazují. Na
následujícím obrázku jsou "šavle" efektu DeFX. Záměrně píšu "šavle", protože
tento dialog neslouží pouze k nastavení - je určen k realtimovému modulování
zvuku. To znamená, že zvuk se mění okamžitě. Nejlepší je volba Karaoke a
Reverberation - zvuk zní velice amatérsky, a navíc ještě jakoby z velkého
potrubí. No a když ten zvuk je třeba Britney...;-)
Zkrátka, je třeba trošku zkoušet a hrát si. Zvukový efekt se špatně
popisuje, je prostě nejlepší si ho poslechnout. Otázkou zůstává, jestli je
dostatek efektů např. pro DJ nebo jestli lze XMMS využívat k něčemu jinému,
než je domácí zábava.
Vizualizační pluginy
Nejzábavnější použití pluginů jsou právě ty, které se starají o
vizualizaci hudby. Více či méně se jim to daří. Mnoho z nich používá
rozhraní OpenGL, což je jednak velice efektivní, a jednak také celkem
náročné na výkon stroje. Ukázku některých efektů vidíte na následujích
obrázcích. Všechny neoznačené obrázky mají redukovanou velikost kolem 20kB.
* JESS: jedna, dva, tři
* Jakdaw's plugin: jedna, dva
* Infinity: jedna (64 kB), dva (42 kB), tři (64 kB)
* What a GOOM!
* další: jedna, dva
Některé z nich lze spustit v celoobrazovkovém režimu, takže efekt je
dokonalý. Některé velice efektně reagují na rytmus a na nízké tóny, takže
monitor vám úplně ožije barvami.
Všeobecné pluginy
Standardně jsou přístupné tři: pro ovládání dálkovým ovladačem, pro
ovládání joystickem a pro spuštění programu v okamžiku změny skladby.
Dálkový ovladač k televizní kartě se mi s XMMS zatím rozchodit nepodařilo,
ale joystick jede od okamžiku, kdy je při startu inicializováno zařízení
/dev/js0 nebo vyšší. Lze transparentně nastavit, co má vykonat pohyb pákou
či stisk tlačítek. Hodně záleží na citlivosti, proto pozor na uši, máte-li
sluchátka - pohyb kniplem k sobě vyžene hlasitost k maximu během sekundy.
Plugin Změna skladby umožní spouštět program při začátku či konci
skladby s parametrem nazev_skladby. To znamená, že program může
název zobrazit na obrazovce, poslat ho někomu mailem či zapsat do logu.
Nastavení
V této části lze do určité míry nastavit chování programu. Možností je
ale méně, než by si člověk přál. Prostě se mi zdá, že jsou možnosti
nastavení příliš "chudé". Nevím, co mi chybí, ale něco asi ano. Ale možná
je to můj subjektivní dojem.
Velká část nastavení se věnuje názvům souborů a jejich správné
interpretaci. Dále také několik voleb k přehrávání, organizaci playlistu a
polohování okna, ale to je vlastně vše.
K ovládání přehrávače slouží mnoho kláves, které najdete v hlavní
nabídce. O té jsme ještě nemluvili - zobrazí se kliknutím na levý horní
rožek aplikace a skrývá se v ní ještě mnoho jiných věcí. Je to například
playlist neboli seznam přehrávaných skladeb. Ten lze různě modifikovat,
načítat, ukládat nebo míchat.
Praktickou pomůckou je ekvalizér (Alt-e): opravdu efektivně funguje a
dokáže měnit jednotlivá zvuková pásma. Stav lze uložit a později načíst.
Jenom jsem se na Internetu nedopátral přednastavených profilů.
Skiny
Skiny jsou klasická věc - změna vzhledu. Do jisté míry nás XMMS zklame,
protože (pokud je mi známo) není možné změnit jeho "hranatý" tvar. Žádná
divoká párty se tedy nekoná. Tohle považuji za další nedostatek aplikace.
Nejsem sice uživatel, který by si na takových drobnostech zakládal, ale
domnívám se, že je to důležitá vlastnost.
Skinů existují tuny, hledejte opět na stránce XMMS.
Rozhodně je co zlepšovat
Program patří ke klasice, ale přiznejme si, že má co dohánět.
Eufemisticky řečeno je onen pověstný vlak už o stanici dál. Je sice možné
předat programu adresu zvukového souboru, který je uložen v internetu, ale
QuickTime to rozhodně být nemůže. Také jiným funkcím chybí určitý komfort.
Program je také relativně nestabilní, zohledníme-li fakt, že plugin je
potenciální "shazovač" - proto nikdy nespouštějte dva pluginy používající
OpenGL. Pokud se aplikace "kousne", příčinou je obvykle uzamčené
zvukové zařízení, nebo nesprávně načtené moduly zvukového systému. Dle mého
názoru je XMMS na vymření - a možná právem. Objeví se nějaká další generace
přehrávače, třeba derivát MPlayeru? Nechme se překvapit...
*******************************
Komix: RMS v Praze
Leoš Literák
Pravda o tom, jak skutečně probíhala návštěva Richarda Stallmana v Praze.
Námět a scenář: Leoš Literák
Kresba: Anselm
Dnešním dnem jsme zahájili nový nepravidelný seriál komiksů. Chceme v nich
zábavnou formou glosovat aktuální linuxové dění. Doufáme, že vás první díl
pobavil. Inspirací pro něj byli moji kamarádi Petr Krčmář a Martin Kysela,
kteří se chlubili cenným úlovkem - fotografií s Richardem Stallmanem.
Později se stala z toho mánie, viz tato zprávička.
Další komiksy budeme publikovat, až najdeme další zajímavé téma. Rádi
přitom uvítáme vaši pomoc. Ať už tipem nebo celým scénářem, který bychom
odměnili honorářem. Pište mi nebo na adresu redakce.
Pro zajímavost uvedu něco více ze zákulisí. První verze scénáře se zrodila
21.5. Inspirací mi byl portál ServerSide. Nicméně problém byl nakreslit
jej. Já jsem dostával z výtvarné výchovy čtyřky, takže jsem nepřipadal v
úvahu. Pár týdnů jsem psal různým lidem, až jsem se nakonec odhodlal vyzvat
veřejnost. Dostal jsem asi dvacet nabídek, kterým jsem poslal zadání -
vybrat si jedno políčko ze scenáře a nakreslit jej. Pro zajímavost ukážu
další výborné návrhy, ze kterých jsem vybíral. Možná dostanou příležitost
příště.
*******************************
Jaderné noviny 260-263
Robert Krátký
Zrychlování SATA. Ext3 pre-alokace založená na rezervaci. Správa SCSI
ovladače atp870u. Správcovství BTTV. Porušení GPL firmou Tritton
Technologies. LISP interpretr v kernelu. Obejití bufferové keše. Ovladač
adm8211 802.11b pro 2.6. Skript pro patchování jádra - ketchup - ve verzi
0.5. Přidání podpory SysFS do DVB subsystému. Crypto CRC32C modul.
Odstraňování IDE modulů; IDE a libata. Opravy SiS ovladače. Ovladač AHCI;
otevřené hardwarové specifikace. LinuxAnt lže o své licenci. Opravy a
aktualizace ReiserFS verze 3. Podpora tabulky atributů stránek v 2.6. SATA
bude ve 2.4.27. Automatický hledač chyb odhalil v jádře několik děr.
Dokumentace ke kompilaci externích modulů.
Zrychlování SATA, 115 e-mailů
27. bře - 3. dub
Jeff Garzik napsal:
Funkce "lba48" v ATA umožňuje adresovat sektory > 137GB, a také přenosy až
64K sektorů namísto 256 sektorů ve starším ATA.
libata prostě omezilo všechny přenosy na 200 sektorů (pod tou hranicí 256
sektorů). To bylo hlavně kvůli opatrnosti a také jsem chtěl mít řešení,
které funguje všude. Také jsem chtěl vědět, jak se ukáže iommu S/G.
Vypadá to docela dobře, takže je načase zapnout přenosy s velikostí lba48.
Většina SATA disků bude z tohoto a dalších důvodů stejně lba48 - i těch
menších než 137GB.
S tímto jednoduchým patchem se maximální velikost požadavku zvýší ze 128K
na 32MB... takže vám může být jasné, že to určitě pomůže výkonu. Zvýší se
propustnost. Sníží se počet přerušení. Zábava pro celou rodinu.
Přiložený patch je pouze pro jádra 2.6.x. Měl by být aplikovatelný na
2.6.5-rc2 a pozdější, včetně posledního mého patche 2.6-libata z
kernel.org. Měl by to být celkem neškodný patch, ale nedá se předvídat, co
se může stát, když ten kohoutek otevřete naplno. Bylo by fajn to otestovat
v -mm :).
Hledá se dobrovolník, který vytvoří backport tohoto patche a pošle jej do
linux-ide@vger.kernel.org - já jej pak začlením do mé fronty pro 2.4
libata.
Stefan Smietanowski se zeptal: Co se stane, když bude PATA disk ležet za
Marvel bridgem - jak tomu je dnes u většiny SATA disků? A Jeff odpověděl:
Větší přenosy s PATA fungují také. U bridgů je obecně lepší nastavit
omezení na UDMA/100 (udma), ale větší přenosy jdou také. Stefan se ještě
zeptal: A jsou v SATA LBA48 přenosy skutečně povinné? A Jeff odpověděl:
Ano i ne, v tomto pořadí :). SATA nevyžaduje lba48, ale je velmi
nepravděpodobné, že bys narazil na SATA disk bez lba48.
Tak jako tak, libata podporuje to, co podporuje disk. Starší disky fungují
bez problémů.
Na jiném místě poznamenal Nick Piggin, že maximální velikost požadavku 32M
je příliš velká. Dodal: Vsadím se, že zisk se začne po asi 1MB rapidně
zmenšovat. Jeff nesouhlasil; řekl, že jeho implementace prostě exportuje
maximální hodnoty hardwaru a je na administrátorovi systému, aby pro daný
stroj zavedl vhodná pravidla rozvrhu práce disku [disk scheduling].
Následovala dlouhá diskuze, ve které mimo jiné Andrea Arcangeli vyjádřil
souhlas s tím, že překročení hranice 1MB nepřinese žádné výrazné zlepšení.
Jeff víceméně souhlasil, ale řekl:
Chci říci, že existují dvě maxima:
1) hardwarový limit
2) limit, který "dává smysl", např. 512k nebo 1M ve většině případů
Ovladač by se měl starat pouze o #1 a měl by být "zpraven" o #2.
Později dodal: Myslím, že délka této diskuze jasně ukazuje, že
nízkoúrovňový ovladač by o nastavení té hodnoty neměl rozhodovat. Jens
Axboe připojil:
Tady je rychlý patch, který se pokouší upravit hodnotu podle posledních
dokončených požadavků. Změní ->max_sectors na hardwarový limit a přidá
->optimal_sectors, který odpovídá největšímu volanému IO cíli. Je rozdělen
na READ (čtení) a WRITE (zápis). Snahou je udržet dobu provádění požadavku
pod BLK_IORATE_TARGET, který je v tomto patchi 50ms.
Jens pak vyjmenoval ještě několik věcí, které jeho narychlo spíchnutý
patch opomíjel.
Jeff a ostatní byli rádi, že někdo s něčím takovým přišel a pokračovali v
diskuzi o dalších technických aspektech věci.
Ext3 pre-alokace založená na rezervaci, 12 e-mailů
30. bře - 5. dub
Mingming Cao řekl:
Ext3 prealokace teď není k dispozici. Tohle je první prototyp ext3
prealokace založené na rezervaci - podle nápadů Andrewa a Teda. Ta
implementace není kompletní, ale rád bych znal váš názor na současný
design.
V této verzi prototypu už mám:
* základní rezervační struktury a operace
* ext3 blokovou alokaci založenou na rezervaci
* a alokace rezervačních oken
* blokovou alokaci, je-li fs rezervace vypnuta
Jednotlivé body pak Mingming rozebral podrobněji a Andrew Morton odpověděl:
Myslím, že to směřuje správnou cestou.
Kromě jiného pak Andrew ještě navrhl přidat parametr pro "mount", který by
tu funkčnost povolil (s výchozí hodnotou "off" (vypnuto)). Mingming poslal
upravený patch a ještě se mluvilo o různých technických záležitostech.
Správa SCSI ovladače atp870u, 2 e-maily
4. dub - 7. dub Stuart Longland se zeptal, kdo je správcem ovladače
atp870u SCSI, protože nedávno získal PCI ACARD SCSI kartu a ta vypisuje
při použití chyby. Marcelo Tosatti odpověděl: Oficiálně to vlastně nikdo
nespravuje. James Bottomley a Doug Ledford udělali několik oprav pro v2.6,
takže možná kontaktuj přímo je. Správcovství BTTV, 3 e-maily
5. dub Luis Miguel napsal: Mám údaje o nové kartě založené na bttv 878.
Myslím, že by měla být zařazena do databáze karet, aby mohla začít
fungovat. Kdo teď ten ovladač spravuje? Gerd Knorr odpověděl, že právě on.
Porušení GPL firmou Tritton Technologies, 3 e-maily
7. dub
Roy Franz napsal:
Narazil jsem na prodejce, který prodává zařízení využívající upravený
linuxový kernel, a který odmítá poskytnout zdrojový kód upraveného jádra.
Tvrdí, že na jejich změny se GPL nevztahuje. Nezdá se, že by používali
moduly. Nevím, co s tím dál, takže na to upozorňuji vývojáře jádra.
Jedná se Tritton Technologies NAS120. (Nabízejí i verzi s funkčností
routeru, která je založena stejné desce.) Ta deska je založena na procesuru
Toshiba TX39 (MIPS) a má na sobě ethernetový chip Realtek. Běží na tom
kernel verze 2.4.16.
Viz: http://www.trittontechnologies.com/products.html
Vyrábí to zjevně mct.com.tw: http://www.mct.com.tw/prod/sa-100.html,
protože některé soubory to tak označují.
Několik dalších prodejců prodává podobné verze téhož.
http://www.iogear.com/main.php?loc=product&product_id=645 a
http://www.claxan.ch/de/prod_det.asp?PRODID=CL-SA110&TOPNAVID=-1
(claxan nabízí nějaký zdrojový kód ke stažení, ale ne jádro. Jejich
zákazník je kontaktoval a i oni odmítají dát zdrojové kódy jádra k
dispozici.)
Následuje odpověď z Trittonu, ve které říkají, že upravené zdrojové kódy
jádra nedají k dispozici. Následovalo to po několika vyměněných emailech,
ve kterých jsem velmi srozumitelně říkal, že mám zájem o zdrojové kódy
jádra.
Citovaný email od technické podpory:
Dříve jsem řekl, že jádro bude součástí balení. Ačkoliv to i nadále platí,
buďte srozuměn s tím, že úpravy provedené v jádru tam obsaženy nebudou.
Kvůli dvěma důvodům: 1) Ty úpravy nespadají pod GPL a 2) Vlastní je
Toshiba.
Matthias Urlichs odpověděl: Upozornil bych je na to, že se jim dostane
velkého množství negativní reklamy.
A Erik Andersen dodal: Přidal jsem NAS120 do BusyBox Hall of Shame...
LISP interpretr v kernelu, 84 e-mailů
3. dub - 9. dub
Tohle byla jedna z těch diskuzí typu "to by bylo zvláštní ale super", "ne
to by tedy nebylo". Sergej Lozovsky ji začal docela nevinně, když se
zeptal, jak řešit přetečení haldy v jádře. Pak se ukázalo, že jde o toto:
Dal jsem do jádra LISP interpretr - http://vxe.quercitron.com - Funguje to,
ale využívá hodně paměti haldy. Není to tak jednoduché přepsat, ale budu
pátrat, proč to využívá tolik té paměti. .
Timothy Miller, který si v tomto vlákně nebral servítky, se dožadoval
důvodu, který by ospravedlňoval přidávání interpretru Lispu do kernelu, a
Sergej vysvětlil, že to bylo z bezpečnostních důvodů. Jednak to umožní
systémovým administrátorům nakonfigurovat bezpečnostní pravidla systému bez
překompilovávání jádra nebo psaní kódu v nízkoúrovňovém C; a zadruhé to
ochrání systém před chybami v těchto bezpečnostních pravidlech, které se
tam mohly dostat díky administrátorovi systému během konfigurace.
Sergej pokračoval: LISP interpretr je LISP Virtual Machine (jako Java VM).
Takže všechny chyby jsou uvnitř a neovlivní jádro. I vážné chyby v tomto
modulu interpretru LISPu mohou způsobit pouze pád uživatelských aplikací
(kromě toho přetečení haldy - o které mi jde). Chybová hláška LISPu bude
zaznamenána v logu jádra. Následovala poměrně dlouhá diskuze, ve které
lidi především předkládali jednu stížnost za druhou a Sergej se je všechny
snažil vysvětlit. Jeden z argumentů byl, že celá ta věc patří do
uživatelského prostoru a ne do kernelu. John Stoffel řekl, že by to celé
muselo být přepracováno, aby byla alespoň malá naděje, že se to v jádře
uchytí. Poukázal na všechny ochrany, které Sergej implementoval, aby
zabránil chybám LISPu v ohrožení jádra, jako na důvod, proč ta věc patří
do uživatelského prostoru. V uživatelském prostoru by těchto složitých
ochran nebylo třeba. Sergej na to odpověděl tím, že se pouze snaží
rozšířit tradiční unixový bezpečnostní model přirozenou cestou. Kdyby jeho
interpretr LISPu patřil do uživatelského prostoru, pak by se dalo stejně
argumentovat pro přesunutí kontroly oprávnění roota nebo přístupových práv
k souborům do uživatelského prostoru.
Další častou připomínkou byla prostě velikost té obludy. Timothy to
vyjádřil v jednom ze svých příspěvků: LISP VM je velká, obrovská,
nafouknutá... *CHRAPTÍM* *KAŠLU* *PRSKÁM* *DUSÍM SE* ... věc, která BY
NIKDY NEMĚLA BÝT v jádře.
Sergej reagoval, že velikost je pouhých 100K. Neimplementoval kompletní
Common LISP interpretr, ale pouze malou část. Poznamenal, že se mu
nepodařilo najít žádný virtuální stroj, který by se vešel do menšího
prostoru. Robin Rosenberg připomněl LeJOS pro Lego Mindstorm, který se
vejde do 32K a je licencován Mozilla licencí.
Dalším námitky byly zaměřené na výběr jazyka LISP a že, jak se opět nechal
slyšet Timothy, systémoví administrátoři by nikdy nepsali bezpečnostní
pravidla v LISPu, ale spíše v něčem podobném unixovému shellu. Další
možností by bylo vyvinout sadu nástrojů, které by kompilovaly pravidla
napsaná v C do modulů dynamicky natahovaných do jádra :). Process
kompilace by byl pro uživatele transparentní, protože nástroj "vložit toto
pravidlo" by kompilaci prováděl pomocí GCC (pokud by v keši již nebyl
aktuální .ko, atd.). Celkově poskytl Sergej zajímavé odpovědi na všechny
námitky, ale nevypadalo to, že by někoho přesvědčil o tom důležitém, totiž
jestli by taková věc měla v kernelu být.
Obejití bufferové keše, 32 e-mailů
6. dub - 10. dub
Andy Isaacson napsal: Vypadá to, že v moderním Linuxu je správným
způsobem, jak obejít bufferovou keš při zápisu na blokové zařízení,
otevření blokového zařízení s O_DIRECT. To například uživateli umožňuje
jednodušeji zajistit realokaci jediného sektoru na vadném IDE disku (bez
přepisování čehokoliv jiného než toho 1k "sektorového páru" s chybou).
dd(1) se pro tento účel hodí, ale postrádá způsob, který by zaručil
použití O_DIRECT. Přiložený patch přidává parametr "conv=direct", který to
umožňuje. Andrew Morton projevil velký zájem a požádal Andyho, aby provedl
nějaké další pročišťující úpravy, když už v té oblasti pracuje. Andy však
narazil na nějaké problémy a řekl: V 2.4.25 se mi vůbec nedaří O_DIRECT
rozchodit na ext3 -- open(O_DIRECT) je úspěšné, ale zápis vrátí EINVAL.
Andrew odpověděl: ext3 O_DIRECT v 2.4 jádrech nepodporuje. Kdysi jsem
napsal patch a myslím, že je v 2.4-aa kernelech. ext3 podporuje O_DIRECT v
jádrech 2.6. Dost dalších filesystémů rovněž. Posléze začalo být zřejmé,
že Andy má v plánu implementovat podporu O_DIRECT pouze pro zápisy na
disk, protože předpokládá, že pro čtení z disku k tomu není důvod. Ale
Andrew prohlásil, že pro čtení i zápis existují stejné důvody, totiž že to
šetří užití CPU a zabraňuje přílišnému používání bufferové keše. Andy
souhlasil, že využití CPU by bylo s podporou O_DIRECT pro čtení nižší, ale
ten zisk by byl tak mizivý, že to nestojí za implementaci.
Pokračoval, že to považuje za práci jádra, aby přišlo na to, že "hele,
vypadá to jako posloupné [streaming] čtení - ušetříme tedy bufferovou keš,
protože se nebudeme pokoušet zachytit 20GB na systému s 512MB". Jestli
chceš říct, že lidi kolem jádra to vzdali a řídí se teď pravidlem "pokud
nechceš vyhodit všechno ostatní kvůli posloupným datům, musíš použít
O_DIRECT", pak jsem tedy zklamaný. A uzavřel:
Copak by otevření jak if=, tak of= s O_DIRECT neproměnilo dd v synchronní
kopírku? To by bylo fakt na houby třeba v případě "dd if=/dev/hda1
of=/dev/hdc1". Když dělá bufferová keš readahead [načítání dopředu],
zvládne ten příkaz nějakých 40MB/s čtení a 40MB/s psaní; se synchronním
čtením i psaním by to kleslo na 40MB/s čtení+psaní, pokud by byly velikosti
bloků dostatečné na to, aby se vyplatilo zpomalení kvůli hledání [seek
overhead].
Když je O_DIRECT pouze na of=, myslím, že se můžeme dostat zpět na 40MB/s+40MB/s.
Tvrdím, že O_DIRECT na of= je důležité, protože vyškrábnout malé velikosti
IDE bloků bez toho prostě nelze. Nevidím však žádnou podobnou výhodu
použití O_DIRECT na straně if=.
Andrewa nic z toho nepřesvědčilo a řekl naopak:
Jestli chceš něco na vyškrábnutí bloků, napiš si to.
Jestli chceš do dd přidat podporu O_DIRECT, pak by to mělo být
implementováno správně, a to znamená implementováno jak pro zápis, tak pro
čtení.
Uživatel by měl vlastně mít možnost určit použití read-O_DIRECT a
write-O_DIRECT nezávisle - třeba proto, že zdrojový a cílový filesystém
nemusí oba O_DIRECT podporovat.
Andy neměl pocit, že by to byl moc dobrý nápad, ale i tak napsal a poslal
patch podle Andrewových požadavků. Někdy v tu dobu se ozval také Paul
Eggert se svým patchem, který řešil ještě několik dalších věcí. Tento patch
byl pak akceptován do 'coreutils'.
Ovladač adm8211 802.11b pro 2.6, 1 e-mail
10. dub
Michael Wu napsal:
Tady máte ovladač pro chipset adm8211 802.11b.
http://aluminum.sourmilk.net/adm8211/adm8211-20040411.tar.bz2 Je pouze pro
jádra 2.6.x a ještě není tak docela hotov. Měl by fungovat v
infrastrukturních a monitorovacích režimech, ale adhoc a WEP ještě nejdou.
Běžná bezdrátová síť by měla fungovat dobře.
Díky Jouni Malinenovi, že s tím ovladačem začal, Jerrittu Collordovi, že
mi o tom řekl, a Davidu Youngovi za jeho NetBSD ovladač, který jsem použil
jako referenci.
Skript pro patchování jádra - ketchup - ve verzi 0.5, 2 e-maily
11. dub
Matt Mackall napsal: ketchup je skript, který automaticky patchuje
mezi verzemi jádra, přičemž stahuje a ukládá patche podle potřeby.
Automaticky také určuje poslední verze několika stromů. A pokračoval:
Novinky v této verzi na žádost uživatelů:
* změna jména kpatchup -> ketchup
* automatické ověření podpisů
* funguje se staršími verzemi Pythonu
V současné době je výchozím chováním snaha použít gpg, což znamená, že
musíte mít gpg nainstalované a příslušné klíče uložené ve vašem keyringu.
Zbavit se toho můžete pomocí parametrů -g nebo --no-gpg.
Najdete na:
http://selenic.com/ketchup/ketchup-0.5
Matt přiložil příklad použití ketchup:
$ ketchup 2.6-mm
2.6.3-rc1-mm1 -> 2.6.5-mm4
Applying 2.6.3-rc1-mm1.bz2 -R
Applying patch-2.6.3-rc1.bz2 -R
Applying patch-2.6.3.bz2
Applying patch-2.6.4.bz2
Applying patch-2.6.5.bz2
Downloading 2.6.5-mm4.bz2
Downloading 2.6.5-mm4.bz2.sign
Verifying signature...
gpg: Signature made Sat Apr 10 21:55:36 2004 CDT using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key
"
gpg: aka "Linux Kernel Archives Verification Key
"
owner.
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the
Primary key fingerprint: C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E
Applying 2.6.5-mm4.bz2
Přidání podpory SysFS do DVB subsystému, 3 e-maily
12. dub
V rámci pokračující snahy o zprovoznění všeho se SysFS pracoval Michael
Hunold na přidání podpory SysFS do subsystému DVB. Nebyl si však jistý,
jestli na to jde správně. Podařilo se mu vytvořit adresář /sys/class/dvb/,
ale měl problémy s vytvářením podadresářů. Zeptal se proto na nějakou
dokumentaci. Stephen Hemminger vysvětlil: Layout adresáře sysfs je
logickou reprezentací příslušných datových struktur v jádře. Každý adresář
(kromě skupin atributů) je 1:1 ke kobjectu. Greg KH dodal:
Adresář nelze vytvořit pouhým přidáním '/' ke jménu třídy zařízení. Pro
adresář bude třeba vytvořit kobject a v tomto kobjectu vytvořit atributy,
jako v případě síťování.
Jo, je to trochu otrava, ale vytváření podadresářů jednoduchým způsobem je
na seznamu pro 2.7.
Jestli chceš všechno urychlit, což by ti ušetřilo práci s přípravou
pravidel životnosti tvých dvb ovladačů, můžeš implementovat rozhraní
class_simple - stejně to teď dělá mnoho dalších ovladačových subsystémů. Ve
2.7 by se to pak převedlo na správný model konverze ovladačů.
Crypto CRC32C modul, 11 e-mailů
19. dub - 27. dub
Clay Haapala napsal: Tento patch oproti 2.6.6-rc1-bk implementuje CRC32C
algoritmus jako formu výtažku. Je to provedené jako wrapper pro libcrc32c a
dostupné v samostatném patchi. Crypto CRC32C modul bude využíván ovladačem
iscsi-sfnet. David S. Miller a James Morris patch schválili; Clay udělal
ještě diff oproti oficiálnímu stromu 2.6.6-rc1 a po vyřešení několika
malých připomínek jej David začlenil.
Odstraňování IDE modulů; IDE a libata, 11 e-mailů
21. dub - 26. dub
Bartlomiej Zolnierkiewicz poslal patch, který znemožnil odstraňovat
[unload] moduly ovladačů starších IDE chipsetů. Spočívalo to v pouhém
vyřazení volání module_exit() z ovladačů.
Erik Andersen se zeptal: Jen ze zvědavosti, co by bylo potřeba, aby bylo
odstraňování všech IDE modulů bezpečné na systému s root filesystémem
SCSI? Bartlomiej řekl, že na tom nezáleží, protože uživatel by i tak mohl
nakonec odstranit moduly, které by byly v tu dobu ještě používány.
Erik Mouw napsal, že IDE moduly již úspěšně odstraňuje roky a zeptal se: V
čem je IDE natolik odlišné od SCSI, že ty IDE host ovladače nemůžeme
odstraňovat? Bartlomiej odpověděl, že to má na svědomí neexistence
referenčního počítání a zároveň nedostatečné zamykání.
Erik M. pokračoval: A plánujete odstraňování modulů opravit v současném
kódu nebo by bylo jednodušší napsat nový ovladač založený na libata (za
předpokladu, že v libata už to je v pořádku)? Pokud jsem dobře porozuměl
poslední aktualizaci libata od Jeffa, mělo by to jít už velmi brzy, je to
tak? Bartlomiej odpověděl: Chystám se to opravit, ale aby to mohlo být
uděláno správně, tak budou nutné zásadní změny v IDE kódu. A dodal:
Zdá se mi, že existuje všeobecný omyl co se libata týče: v dohledné
budoucnosti se nechystá nahradit IDE ovladače.
Chci přepsat+sloučit současný IDE kód s libata během 2.7 (a ano, stará
pojmenování a uspořádání budou zachována!).
Doufám, že se nikdo nepustí do přepisování existujících IDE ovladačů pro
libata a nebude se je snažit prosadit do hlavního jádra -> to by znamenalo
daleko větší problémy se správou než OSS+ALSA.
Nicméně psaní _nových_ libata ovladačů pro 'exotický' PATA hardware je OK.
Opravy SiS ovladače, 2 e-maily
25. dub - 26. dub
Jeff Garzik napsal:
Připojen je patch plné verze SiS ovladače pro 2.6.x připravený k testování.
Měl by řešit problém, při kterém nebyly SATA jednotky během prohlížení systému nalezeny.
Jakékoliv reakce, včetně "nic jsi nezvoral" bych moc ocenil, protože nemám
v provozu žádný testovací SiS hardware.
Robin Parker to vyzkoušel a napsal: Co říct? Funguje to jedna báseň.
Ovladač AHCI; otevřené hardwarové specifikace, 2 e-maily
25. dub
Jeff Garzik napsal:
Tak ATA se konečně probudila do moderních časů. Lidi, kteří pracují s ATA,
vědí, že rozhraní host řadiče byla vždy pomalá, často vyžadovala 8 a více
IO zápisů na jeden příkaz. Lidi od SCSI a ethernetových řadičů už kroutí
očima několik let.
Současá vlna SATA řadičů udělala velký pokrok... do současnosti. Buď DMA
rings nebo fronty s hloubkou kolem 32 začínají být standardem. Všechno si
to dobře rozumí s připojováním za chodu [hotplug] a cesty jsou vysoce
optimalizované a rychlé.
Samozřejmě, jak už je nešťastným zvykem v oboru ukládání dat, všechny tyto
řadiče jsou pokryté smlouvami o neprozrazení (NDA). Výjimkou je ICH6 od
Intelu, který odpovídá plně otevřené specifikaci AHCI. Abyste mohli
podporovat takový řadič, potřebujete pouze PCI ID a následující
specifikace:
AHCI: http://www.intel.com/technology/serialata/pdf/rev1_0.pdf
SATA 1: http://www.serialata.org/collateral/zipdownloads/serialata10a.ZIP
SATA 2: http://www.serialata.org/collateral/pdf/S2Ext_1_1_Gold.pdf
ATA 1: http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf
ATA 2: http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf
ATA 3: http://www.t13.org/docs2004/d1532v1r4b ATA-ATAPI-7.pdf
Kromě toho, že je to otevřená architektura, tak to má všechno, co byste
očekávali od moderního řadiče: všude podpora 64 bitového DMA (žádné
přepínání banků), podpora front, triviální podpora PIO a ATAPI, přístup k
nizkoúrovňovému SATA FIS a ještě více.
Takže bravo lidem od AHCI (hlavně z Intelu) za to, že udělali slušný
otevřený řadič. Vždy je mi milejší pracovat na řadičích pro slušný
hardware, jehož hardwarové specifikace jsou otevřené a přístupné.
Sven Köhler odpověděl: Vypadá to, že SiS se chystá také používat AHCI:
http://www.sis.com/products/chipsets/oa/athlon64/756Presentation.pdf.
LinuxAnt lže o své licenci, 2 e-maily
26. dub
Jon DeVree oznámil:
Někdo by se měl podívat na řetězec MODULE_LICENSE, který vracejí ovladače
HSF modemů od LinuxAntu.
http://www.linuxant.com/drivers/hsf/full/downloads.php Vynalézavě do něj
vložili znak \0. MODULE_LICENSE("GPL\0for files in the \"GPL\" directory;
for others, only LICENSE file applies"); (Česky: "GPL\0pro soubory v
adresáři \"GPL\"; pro ostatní platí soubor LICENSE").
Když spustíte modinfo -F license na zkompilovaném ovladači, ukáže vám to
GPL díky jejich vynalézavému null znaku. Skutečná licence většiny souborů
NENÍ GPL.
Chris Friesen poznamenal: Ummm... to je nepěkné. Možná bychom měli pro
modinfo ukládat velikost licenčního řetězce, aby se nezastavil na první
nule.
Opravy a aktualizace ReiserFS verze 3, 22 e-mailů
6. dub - 16. dub
Chris Mason napsal:
Sadu experimentálních patchů pro reiserfs v3 můžete stahovat odsud:
ftp://ftp.suse.com/pub/people/mason/patches/reiserfs/2.6.5 Vzhledem k tomu,
že některé z těchto již v -mm jsou a jiné ne, jsou připraveny dva soubory:
series.linus obsahuje patche potřebné pro hlavní strom 2.6.5, series.mm pak
patche pro 2.6.5-mm1.
Většina je od Jeffa Mahoneyho a ode mě. Jsou mezi nimi:
opravy chyb
optimalizace logování
podpora data=ordered
xattr
acl
kvóty
chybové hlášky s názvy zařízení (založeno na Olegově patchi pro 2.4)
vylepšení alokátoru bloků
ACL a xattr od Jeffa Mahoneyho pro reiserfs v3 už jsou nějakou dobu
používány v 2.4 a 2.6 kernelech od SUSE. Mnohokrát jsem je poslal do
namesys ke kontrole, ale Hans ten kód vůbec nechce vzít na vědomí. Minulý
měsíc jsem se znovu pokusil s ním o tom kódu mluvit, ale úplně mě ignoruje.
Jeho tehdejším argumentem bylo, že nechce nové funkce ve verzi 3. Ta
implementace ale nikterak nezmění formát disku (xattr jsou uloženy jako
běžné soubory ve skrytém adresáři). Mám zato, že reiserfs tyto funkce
potřebuje, aby byl v jádře i nadále aktuální, a proto je posílám k
začlenění do -mm. Pro -mm sérii Andrewovi posílám následující patche ze
series.mm:
reiserfs-end-trans-bkl
reiserfs-acl-mknod.diff
reiserfs-xattrs-04
reiserfs-acl-02
reiserfs-trusted-02
reiserfs-selinux-02
reiserfs-xattr-locking-02
reiserfs-quota
permission-reiserfs
reiserfs-warning
(což znamená vše kromě kódu nového alokátoru bloků)
Následovala kratší diskuze ohledně alokátoru bloků a problémech, se kterými
se současná i nová implementace potýká. O něco dále nabídl Chris Wright
patch, ale Chris Mason odpověděl: Na počátek patche budeš muset přidat pár
slov o tom, že Hansovi přenecháváš copyright. Ale Hans Reiser reagoval s
tím, že taková formulace je velmi nepřesná. Tento dokument:
www.namesys.com/legalese.html to vysvětluje lépe. Budeš-li tak laskav a
povolíš mi licencovat příspěvek do reiserfs třetím stranám (kromě běžné
GPL), budu za to rád, protože mi to občas umožňuje získat velmi potřebné
prostředky pro vývoj reiser4. Podpora tabulky atributů stránek v 2.6, 20
e-mailů
12. dub - 21. dub
Terence Ripperda napsal:
Před dost dlouhou dobou jsem poslal email o přidání podpory tabulky
atributů stránek (PAT - Page Attribute Table)
(http://www.kerneltraffic.org/kernel-traffic/kt20030616_219.html#3).
Tehdy šlo o to, abychom měli možnost označit remapované I/O stránky jako
Write Combined v případě, že by pro ten účel došly MTRR. To bylo především
kvůli apertuře AGP a framebufferu. Jak se objevují PCI Express systémy,
potřeby se trochu mění. PCI Express nemá centralizovanou aperturu jako AGP,
kterou by bylo možno označit WC. Namísto toho musí být jednotlivé systémové
stránky paměti označeny WC přes PAT v tabulkách stránek. To výrazně zvyšuje
potřebu podpory PAT, aby byla zachována vysoká úroveň výkonu na PCI Express
systémech.
Měl jsem pocit, že nejlepší bude se trochu věnovat původním reakcím ještě
než se obrátím zpět na LKML. Mluvil jsem o tom s Andi Kleenem, který
navrhl, abych se nejprve zaměřil na jednodušší oblasti I/O a pak se vrátil
k hlavní paměti po té, co to bude hotovo a budu mít od lidí reakce.
Pracoval jsem na mechanismu (cachemap), který sleduje, jaký druh kešování
je pro určitou oblast paměti právě namapován. Při namapování nové oblasti
paměti se zeptáme cachemap, jestli je druh kešování nové oblasti stejný
jako starý druh (nebo je s ním kompatibilní). Uspěje-li dotaz na cachemap,
může být nová I/O oblast bezpečně namapována, jinak ne.
Nejdříve jsem se soustředil na ioremap, aby byly dotazy na cachemap
prováděny pouze z ioremap. Také jsem přidal kód, který nechává MTRR kód
volat kód cachemap (v tomto případě jde spíše o zprávu než o dotaz - značí,
že mapování už bylo provedeno). Provedl jsem několik testů na systémech,
které tu mám k dispozici, a všechno se zdá fungovat docela dobře.
Ten současný patch obsahuje původní podporu PAT a ten nový mechanismus
cachemap. Upozorňuji, že cachemap mechanismus ve skutečnosti žádné atributy
kešování nemění - pouze atributy sleduje a testuje oblasti. Myslím, že
finální podoba by mohla být taková, že ovladače by používaly běžné
mechanismy ioremap/change_page_attr/remap_page_range jako doposud a tyto
mechanismy by používaly cachemap, aby bylo jisté, že nemáme žádné
konflikty. Vítám všechny připomínky k tomu, jak by jednotlivé detaily měly
fungovat, a jaké je třeba provést změny.
Andi Kleen napsal, že Terencova práce vypadá pro začátek dobře a bylo by
dobré to testovat. I tak je však nutné všechno pročistit. Pak dodal:
Co se rozhraní týče, stále si myslím, že by bylo čistší to prostě volat z
change_page_attr(). Pak by další uživatelé museli volat jen jednu jedinou
funkci. Ale to se dá snadno změnit.
Aby to bylo opravdu užitečné, myslím, že bychom potřebovali
ioremap_wrcomb() a podporu ve funkci bus/pci mmap (PCI vrstva už pro tohle
má ioctl, pouze to na i386 ignorovali). Pak by to mohl začít využívat X
server.
Bez uživatelů asi nebude testování moc dobré, ale než to bude začleněno,
musí se tomu nějakého skutečného testování dostat. Možná by to mohlo být
prostě pověšeno na nějaký AGP a DRM ovladač. Pak by to lidi aspoň začali
testovat.
Eric W. Biederman ještě diskutoval s Andim o přínosu, který by to mělo pro
systémy s velkým objemem paměti, zatímco Terence posílal aktualizované
patche.
SATA bude ve 2.4.27, 27 e-mailů
15. dub - 17. dub
Serial ATA, ačkoliv relativně nové, jde kupředu velmi rychle. Tento týden
Marcelo Tosatti napsal:
Jeff Garzik mi poslal aktualizované SATA pro začlenění do 2.4.x.
Hodně nových počítačů už se prodává pouze se SATA disky a bylo by dost
špatné mít "stabilní" sérii bez podpory takového rozšířeného standardu.
Tohle bude poslední funkce přidaná do 2.4.x - a to pouze proto, že je nezbytná.
Někdo proti?
Stefan Smietanowski řekl, že je to tak dobře, protože 2.4 bude lidmi i
nadále používán, zatímco 2.6 se bude stabilizovat a stávat standardem.
Na jiném místě Andre Hedrick Marcelovi spílal za to, že měl SATA začlenit
již dávno. Marcelo odpověděl: Jeff poslal SATA 1.0 již dříve, ale radši
jsem to ještě chvíli pozdržel (abych si byl jistý, že je to stabilní). Teď
to vypadá, že Jeff už v to má důvěru. Následovalo další obviňování, dokud
vlákno nevymizelo. Marcelova rozhodnutí ohledně 2.4 budou zjevně
kontroverzní až do chvíle, než se plně přejde na 2.6.
Automatický hledač chyb odhalil v jádře několik děr, 19 e-mailů
16. dub - 20. dub
Ken Ashcraft poslal dlouhý seznam potenciálních chyb v jádře. Doprovodil to
vysvětlením:
Pracuji ve společnosti, která se jmenuje Coverity. Děláme na derivátu MC
Checkeru vytvořeném ve Stanfordu pro profesionální nasazení. Napsal jsem
statický analytický checker, který v jádře vyhledává místa, kde kernel
dostane od uživatele skalár a pak jej použije bez provedení kontroly
hranic. Například když ovladač načte integer od uživatele a pak ten integer
použije jako index pole nebo parametr délky pro mempcy, uživatel může
způsobit přetečení bufferu.
Přiložené chyby jsou zhruba seřazeny podle závažnosti. Posledních 12 chyb
je celkem nicotných, protože jsou buď chráněny kontrolou capable() nebo jde
pouze o 8-bitový skalár. Za malou chybu považuji i předání nezkontrolované
hodnoty do kmalloc(). Uvědomuji si, že kmalloc() selže, bude-li požádán o
více než 128k, ale i tak možná není vhodné nechávat uživatele alokovat
tolik paměti. Všechny tyto chyby jsou ve zprávě označeny [MINOR] a/nebo
[CAPABLE].
Chris Wright několik chyb potvrdil a poslal patche; některé šly přes Jeffa
Garzika rovnou do 2.4 a 2.6 kernelů, jiné byly nejprve upraveny lidmi jako
Andrea Arcangeli. Několik dalších chyb také Chris před ukončením vlákna
vyvrátil.
Dokumentace ke kompilaci externích modulů, 4 e-maily
20. dub - 21. dub Sam Ravnborg poslal hrubé a nekompletní HOWTO ke
kompilaci externích modulů: Kompilace externích modulů kbuild poskytuje
možnost kompilovat externí moduly za předpokladu, že existuje již
zkompilované jádro s plnými zdrojovými kódy. Některé z cílů dostupných pro
kompilaci jádra jsou k dispozici při kompilaci externího modulu. Kompilace
modulu Příkaz vypadá takto:
make -C M=$PWD
Aby byl zmíněný příkaz úspěšný, musel být kernel zkompilován s povolenými moduly.
Právě kompilované moduly nainstalujete pomocí:
make -C M=$PWD modules_install
Další komplexnější příklady přijdou později. Uvedené příkazy by měly stačit
ve většině případů.
Dostupné cíle:
make -C $KDIR M=$PWD
Stejné i při zadání 'modules'. Viz popis cíle modules níže.
make -C $KDIR M=$PWD modules
Zkompiluje moduly umístěné v aktuálním adresáři. Všechny výstupní
soubory budou ve stejném adresáři jako zdrojový kód modulů.
Neprovádí se žádný pokus o aktualizaci zdrojů jádra a předpokládá
se, že make kernelu proběhl úspěšně.
make -C $KDIR M=$PWD modules_install
Instalace externích modulů
make -C $KDIR M=$PWD clean
Odstranění všech vygenerovaných souborů v aktuálním adresáři
Dostupné volby:
make -C $KDIR
Používá se k zadání místa, kde hledat zdrojáky jádra. '$KDIR'
představuje adresář se zdrojovými kódy kernelu. Make do zadaného
adresáře při spuštění přepne.
make -C $KDIR M=$PWD
M= se používá k oznámení kbuildu, že kompilujeme externí modul.
Hodnota parametru M= je adresář, kde je externí modul umístěn. Při
kompilaci externího modulu je k dispozici pouze omezená sada
obvyklých cílů.
make -C $KDIR SUBDIRS=$PWD
Totéž co M=. SUBDIRS= je ponecháno kvůli zpětné kompatibilitě.
make -C $KDIR M=$PWD help
help vypíše dostupné cíle při kompilaci externího modulu.
Pokročilejší příklad
Tento příklad znázorňuje případ, kdy se distribuce moudře rozhodla oddělit
zdrojové kódy jádra a výstupní soubory:
Zdrojové kódy jádra:
/usr/src/linux-/
Výstup kompilace jádra, včetně .config:
/lib/modules/linux-/build/
Externí moduly, které chceme kompilovat:
/home/user/module/src/
Moduly umístěné ve zmíněném adresáři zkompilujete následujícím příkazem:
cd /home/user/module/src
make -C /usr/src/linux- \
O=/lib/modules/linux-/build \
M=$PWD
Pak je nainstalujte pomocí příkazu:
make -C /usr/src/linux- \
O=/lib/modules/linux-/build \
M=$PWD modules_install
Výše jsou uvedeny poněkud dlouhé příkazy a následující část ukazuje, jak to
všechno zjednodušit.
Triky pro zjednodušení
.... Tohle je potřeba přepracovat ....
Příkazová řádka s make a několika parametry je únavně dlouhá a náchylná k
chybám. Následuje malý trik, který umožňuje kompilaci modulu s použitím
jediného příkazu 'make'.
Vytvořte makefile pojmenovaný 'Makefile' s následujícím obsahem:
---> Makefile:
all:
$(MAKE) -C /home/sam/src/kernel/v2.6 M=$(PWD) \
$(filter-out all,$(MAKECMDGOALS))
obj-m := module.o
---> Konec Makefile
Při spuštění si make všimne pravidla all: a zavolá make znovu se správnými parametry.
Je-li vyvíjen ovladač, který má za cíl začlenění do hlavního jádra, je
lepší vložit pravidlo all: do Makefile pojmenovaného +makefile (menší velké
m) - asi takto:
---> makefile
all:
$(MAKE) -f Makefile -C /home/sam/src/kernel/v2.6 \
M=$(PWD) $(MAKECMDGOALS)
---> Konec makefile
Makefile pro kbuild bude obsahovat jedinou věc:
---> Makefile:
obj-m := module.o
---> Konec Makefile
Při spuštění bude make hledat makefile pojmenovaný makefile před souborem
pojmenovaným Makefile. Takže make použije soubor s menším velkým 'm'.
Příprava jádra pro kompilaci externích modulů
Při kompilaci externích modulů se očekává, že je na to jádro připraveno. To
zahrnuje přítomnost určitých binárek, konfiguraci jádra a symlink na
include/asm. K tomuto účelu slouží pohodlný cíl:
make modules_prepare
U typické distribuce by to vypadalo asi takto:
make modules_prepare O=/lib/modules/linux-/build
ZBÝVÁ UDĚLAT: Naplnit následující kapitoly
Verze modulůLokální include soubory
CLFAGS := include ...
Pouze binární .o soubory
Používejte _shipped ...
*******************************
Zprávičky
1.6.2004 12:18 Vojtěch Hála
Petr Olšák, předseda CSTUGu, poslal do českých konferencí o TeXu a o Linuxu
příspěvek popisující zkušenost, kterak svobodné licence brání šíření
svobodného software. A těší se na reakce.
1.6.2004 14:45 Petr Krčmář
MythTV je zajímavý projekt, který si klade za cíl vytvořit kompletní balík
software pro potřebu domácích set-top boxů (multimediálních počítačů se
snadnou obsluhou).
1.6.2004 15:05 Petr Krčmář
Firma Lindows vyhrála v Nizozemí soudní spor s Microsoftem a může tedy v
této zemi používat své původní obchodní jméno. Více o historii celé kauzy
píše The Register.
1.6.2004 22:03 Martin Dvořák
Vadí vám rozdílný vzhled aplikací napsaných pro různé grafické toolkity?
Pokud ano, bude vás možná zajímat projekt MetaTheme.
2.6.2004 08:20 Petr Krčmář
Spammeři začali využívat PGP signatury vykradené z legitimní pošty, aby
jednoduše oklamali antispam filtry.
2.6.2004 08:43 Petr Krčmář
MandrakeSoft uvolnil betaverzi druhého Mandrakemove (live CD distribuce),
který je založen na MDK 10.0 a obsahuje mimo jiné například jádro 2.6.3.
2.6.2004 09:47 Petr Krčmář
U Intelu se chystá vývoj nového BIOSu, který nahradí standardní, dvacet let
starý, a dnes již vysloužilý model. Důležité ovšem je, že se jej zároveň
chystá uvolnit pod CPL.
2.6.2004 14:22 Martin Kysela
Liberečáci a jiní severočecháci! Zúčastněte se v úterý 8. června besedy a
křtu nové knihy Petra Krčmáře.
3.6.2004 08:18 tomasini
Výborný otevřený dopis, popisující problematiku softwarových patentů,
zaslal českým médiím vývojář Hynek Hanke z www.freebsoft.org (Svobodný
software pro nevidomé a zrakově postižené). Velmi doporučuji jeho přečtení.
Je dobré poukázat, jak může být znemožněno vývojářům pomoci zrakově
postiženým. Možná právě na to média budou slyšet.
3.6.2004 09:07 Petr Krčmář
Sun Microsystems pravděpodobně uvolní Solaris pod některou z Open Source
licencí. Chce se tak vyrovnat svým rivalům a vylepšit své pozice na trhu.
3.6.2004 12:32 Petr Krčmář
Nový kancelářský balík ElOffice, jehož recenzi si můžete přečíst na
NewsForge, je zajímavý především svou multiplatformností. Je totiž
kompletně napsán v Javě.
3.6.2004 12:36 Petr Krčmář
Microsoft získal patent na dvojklik. Slashdot to komentoval slovy: "Takže
tohle je to, na co se můžeme těšit v EU?"
4.6.2004 09:18 Petr Krčmář
Zajímá vás, jak to vypadá v zákulisí provozu velkého linuxového portálu?
Přečtěte si zajímavý článek na NewsForge.
4.6.2004 09:30 Petr Krčmář
Vznikla nová vývojová větev linuxu, pojmenovaná wireless-2.6, která se
zaměří na začleňování kódu pro bezdrátovou komunikaci, který se nedostane
do stable větve.
4.6.2004 10:04 Petr Krčmář
Osm z deseti nejspolehlivějších hosting providerů používá na svém železe
Linux nebo FreeBSD.
4.6.2004 12:04 Antonín Slejška
SuSE ČR končí. SUSE Linux 9.1 v české verzi stále není (a není jisté, zda
bude). OPRAVA: Původní zprávička interpretovala informaci nesprávně; SUSE
ČR nekončí, jeho aktivity pouze přebírá firma Novell.
4.6.2004 16:05 Martin Hassman
Pokud máte zájem o novinky ze světa Mozilly, přihlašte se k odběru
zpravodaje Mozilla Links. 19. číslo zpravodaje tu bude cobydup.
4.6.2004 22:32 dantm
SuSE Linux 9.1 je k dispozici ke stažení zdarma na ftp.
5.6.2004 12:29 Jan Hykel
Vyšlo GTK+ a Glib verze 2.4.2. Jedná se o bugfixní vydání. Stahovat můžete
zde.
7.6.2004 07:55 Václav Hlobil
Vyšla nová verze DTP programu Scribus 1.1.7, "Alyssa". Jedná se převážně o
"bug-fix" vydání, ale ani o nové funkce není nouze. Více na domovské
stránce projektu www.scribus.net.
7.6.2004 09:15 Petr Krčmář
Mladému studentovi se podařilo pomocí reverzního inženýrství zdokumentovat
autentizační a komunikační protokoly iTunes. Získané informace mají umožnit
práci s iTunes i na oficiálně nepodporovaných platformách.
7.6.2004 12:25 Tomáš Hála
Zeptejte se svých kandidátů do Evropského Parlamentu, jak budou hlasovat v
kauze softwarových patentů (např. s odkazem na otevřený dopis médiím), a
podělte se o reakce v diskusi.
7.6.2004 13:16 Petr Krčmář
10. - 13. června se v Berlíně uskuteční konference o svobodném software ,
které se zúčastní více než stovka mluvčích z celého světa.
7.6.2004 13:30 Petr Krčmář
Mozilla foundation a Opera Software společně vytvořili novou pracovní
skupinu, která se zaměří na vývoj nových specifikací pro web, CSS a další
aplikace.
7.6.2004 14:33 Petr Krčmář
Víte, jak se baví správní hackeří? Pokud ne, napoví vám tento animovaný gif.
Zaslal Kaktus.
8.6.2004 08:21 Petr Krčmář
Sun Microsystems podepsal smlouvu s ministrem školství Ontaria o nasazení
StarOffice do 72 školských zařízení.
8.6.2004 08:22 Petr Krčmář
Včera uběhlo 50 let od úmrtí Alana Turinga, známého matematika a
počítačového průkopníka.
8.6.2004 13:04 Petr Krčmář
Pěkný ascii art poskládaný ze zdrojáků jádra v rozlišení 257x303 znaků
poslal Pajus.
8.6.2004 14:15 Ondra 'Kepi' Kudlík
Po několikaměsíční odmlce vzniklé kvůli kompromitování gnome.org webserveru
se alespoň v prozatímním statickém kabátu vrátil art.gnome.org.
8.6.2004 17:31 Martin Fiala
MandrakeLinux bude pravděpodobně další distribucí, která vymění XFree86 za
X.Org. Ve verzi Cooker k tomu došlo již dnes, upgrade proběhl bez problémů.
8.6.2004 20:53 finn
Vyšla další subverze legendárního textového editoru Vim ? 6.3. Bylo
opraveno mnoho chyb, přidána podpora pro přeložené soubory nápovědy
(ChangeLog).
9.6.2004 03:10 srakyi
Po mnoha žádostech byl spuštěn webový formulář, v němž můžete vyjádřit svou
podporu otevřenému dopisu Hynka Hankeho o softwarových patentech.
9.6.2004 11:34 Petr Krčmář
Linus vydal nové jádro 2.6.7-rc3, které je jednak čistší a hlavně obsahuje
patche kolem DRM, AGP, cpufreq, sparc64 a dalších.
9.6.2004 11:58 Petr Krčmář
RedHat a Intel společně vyvinuli linuxovou podporu pro intelovskou
technologii NX (no execute), která by měla zvýšit bezpečnost systému na
hardwarové úrovni.
9.6.2004 16:00 Petr Krčmář
Před necelým týdnem jsme vás informovali o tom, že Sun microsystems uvažuje
o uvolnění Solarisu pod GPL. Nechvalně známá firma SCO dnes vyrukovala
proti Sunu s licencí, která mu prý tento krok zakazuje.
9.6.2004 21:27 Tomáš Hála
Oblíbený proxy server Squid obsahuje buffer overflow a umožňuje vzdálené
vykonání kódu. Problém se týká pouze verzí zkompilovaných s NTLM
autentizací. K dispozici je patch, více viz oznámení.
10.6.2004 08:16 Martin Kysela
V úterý 8. června proběhla v Liberci přednáška a beseda k příležitosti
vydání nové knihy Petra Krčmáře. Fotky jsou k dispozici na stránkách
Kyosukeho.
10.6.2004 11:09 Petr Krčmář
O tom, že Linux začíná nepříjemně přibírat na váze a je čím dál náročnější
na hardware se v obsáhlém článku rozepsal Bob Marr.
10.6.2004 11:15 Petr Krčmář
Mandrakesoft dnes uvolnil Mandrakelinux 10.0 pro platformu AMD64. Slibuje
tak spojení kvalitní distribuce a nejnovějšího hardware.
10.6.2004 15:41 Jozef Vondrák
Jestli chcete znát skutečný význam slov linux, windows, root ... podívejte
se na www.cyborgname.com.
11.6.2004 10:07 komodo
Vyšla nová mozilla 1.7 rc3, pravdepodobne posledná rc verzia, keďže je
označená ako final draft. Mimo ďalších zmien prináša v browseri tzv.
"whitelist", ktorý obsahuje zoznam lokalít, z ktorých je povolené
inštalovať rôzne rozšírenia a prídavné funkcie. Mail by mal byť opať o
niečo rýchlejši pri sťahovaní, prezeraní a ukladaní pošty, ďalej ponúka
podporu viacerých identít pre jedno konto. Podrobný popis zmien nájdete na
stránke mozilla.org
11.6.2004 11:36 Michal Marek (twofish)
Nechvalně známá firma SCO má menší finanční problémy.
11.6.2004 12:24 Petr Krčmář
Německý McDonald kompletně přechází na SUSE Linux. V Něměcku se jedná o
více než 1200 restaurací.
11.6.2004 13:13 Petr Krčmář
Mono, linuxová implementace microsoftího .NET prý mnoho vývojařů ani
zákazníků neláká. Kdo používá linux ho prý raději spojí s Javou.
12.6.2004 11:12 Antonín Kolísek
Vyšla nová verze senzorů lm_sensors-2.8.7. Více informací o změnách viz
CHANGES.
13.6.2004 17:47 Ondřej Čečák
Pozor, díky chybě v linuxové verzi PunkBusteru není možné hrát ve hře
America's Army na honor serverech. Výrobce o problému ví a doufejme, že ho
i začne řešit. Více na fóru hry.
14.6.2004 09:01 Petr Krčmář
I Debian už oznámil svou 64bitovou verzi. Ta vychází z unstable vývojové
větve a přeloženo je už téměř všechno (97%).
14.6.2004 10:29 Petr Krčmář
Skvělá live distribuce Slax má konečně oficiální český web. Ke stažení je
celá distribuce, doplňky a řada zajímavých informací.
14.6.2004 13:47 Rastislav Stanik
Veríte v stabilitu svojho Linuxového systému? Možno to nie je až také
ružové.
14.6.2004 14:32 Petr Krčmář
Po dvou letech testování vyšla nová verze raytraceru POV-Ray (3.6). Hlavní
úpravy proběhly na renderovacím jádře, byla zvýšena stabilita a program je
připraven na další implementace.
14.6.2004 16:30 finn
Před pár dny se na linuxreviews.org objevilo oznámení o chybě linuxových
jader řad 2.4.2x a 2.6.x, útočníkovi stačí k napadení přístup k shellu.
14.6.2004 20:03 Vlastimil Ott
Ještě jsou volná místa na konferenci SLT 2004 (www.cstug.cz/slt/04/).
Podrobnější informace (program, informace o registraci, atd.) najdete na
adrese www.cstug.cz/slt/04/.
15.6.2004 08:29 Petr Krčmář
Počet linuxových řešení stále roste na úkor ostatních platforem. Nedávno
jej například na svých strojích nainstaloval soudní dvůr ve Washingtonu.
15.6.2004 08:33 Petr Krčmář
Mozilla Firefox se v nejbližších měsících dočká první ostré verze (1.0).
Měla by se objevit ke konci léta.
15.6.2004 12:16 finn
Vyšla očekávaná Mozilla Firefox 0.9. K dispozici jsou verze pro linux, mac
i win32 v angličtině. Nová verze je štíhlejší, byl změněn vzhled, byl
přidán správce témat, nový je systém nápovědy. Podrobnější seznam k
nahlédnutí na mozilla.org.
15.6.2004 20:18 Josef Vybíral
Na FTPku GIMP.org se objevily zdrojové kódy dalšího bugfixu GIMPu,
tentokráte ve verzi 2.0.2. Opravuje některé bugy z práce s tabletem,
chování pluginů... Pro toho, komu se nechce stahovat celých 13 MB, jsou
připraveny i patche na v2.0.1. Zase jsme o krůček blíž verzi 2.2.
16.6.2004 08:50 Petr Krčmář
O budoucnosti Mozilla Firefoxu, open source desktopu, GNOME a dalších
tématech v zajímavém rozhovoru se Scottem Collinsem z Mozilla.org.
16.6.2004 09:27 Martin Krauskopf
Po bouřlivých změnách v Changelogu přichází na svět první "release
candidate" Slackwaru 10.0. Oficiální stránky prozatím mlčí. Na změny se
můžete podívat přímo do Changelogu a ISO můžete stahovat třeba odsud nebo
použít geniální Swaret. Keep on slacking ;)
16.6.2004 10:22 Daniel Čižinský
Do světa byla vypuštěna nová verze stabilní větvě jádra Linuxu - 2.6.7. Z
Čech pocházejí například poměrně výrazné změny v ovladačích zvukových karet
ALSA, opravy v kódu kvót, či vstupních zařízení. Z často používaných
zařízení došlo kupříkladu k rozdělení ovladače pro IDE řadiče Promise. Změn
je opravdu mnoho, mezi nimi spousta oprav, takže stahujte, kompilujte,
testujte... Nové jádro je zatím k disposici na hlavním serveru. Český
mirror na synchronizaci zatím čeká!
16.6.2004 12:55 Petr Krčmář
O tom, že Java je už dnes výkonostně srovnatelná s jinými jazyky, jsme už
na ABC psali. Nově to potvrzuje i Sys-con.
16.6.2004 15:50 Petr Krčmář
Novým šéfredaktorem měsíčníku Linux+ se od sedmého čísla stává náš známý
Martin Kysela. Podle zákulisních informací se chce založit o rapidní
zvýšení kvality tohoto papírového magazínu.
16.6.2004 20:26 Vlastimil Ott
Rádio Akropolis, jedno z nejposlouchanějších internetových rádií v ČR,
vyhlašuje konkurs na nového moderátora pořadu Terabajt, který je zaměřen na
počítače a IT. Požadavkem je přehled v oblasti IT a chuť investovat trochu
svého času. Předchozí praxi nepožadujeme. Případní zájemci se mohou hlásit
na e-mailovou adresu: terabajt@radioakropolis.cz.
17.6.2004 11:24 Petr Krčmář
Sun oficiálně potvrdil svůj záměr uvolnit Solaris jako open source.
17.6.2004 12:40 Petr Krčmář
Poštovní klient Mozilla Thunderbird se dočkal verze 0.7. Je menší,
rychlejší, obsahuje nového správce témat vzhledů a další vylepšení.
Stahovat můžete třeba na ftp.mozilla.org.
18.6.2004 01:30 finn
Mozilla 1.7 (zatím jen v angličtině) je na světě. Celkový počet oprav a
změn dosáhl úctyhodného hodnoty sedmnácti set. Ve srovnání s předchozí
verzí je rychlejší a menší, zájemci najdou podrobný seznam nových
vlastností (jsou jich desítky) na mozilla.org.
18.6.2004 09:21 Petr Krčmář
Na linuxdevices.com je k vidění velmi poučný seznam procesorů a jednočipů,
které si rozumí s Linuxem, včetně odkazů na další informace. Jen pro
zajímavost se jedná o více než 150 různých architektur!
18.6.2004 09:42 Petr Krčmář
Již tradiční přednášková akce OpenWeekend 2004 se letos koná opět v Praze,
v budově ČVUT, 16.-17.10. 2004.
18.6.2004 11:02 tomasini
Chyběli jste na akci Openparty v Olomouci? Jaká byla účast a atmosféra,
můžete posoudit z několika fotografií.
18.6.2004 14:21 Petr Krčmář
Nové, tentokrát již páté pokračování příběhu Yetiho a tučnáka je na světě.
Tentokrát se s nimi podíváme mezi plameňáky do Afriky.
18.6.2004 21:18 Vlastimil Ott
Nic originálního (naštěstí): druhé největší norské město Bergen migruje na
SUSE Linux. Důvod: úspora a otevřenost systému.
18.6.2004 22:01 Vlastimil Ott
Na Friedrich Schiller Universität v německé Jeně se 17.6. konala přednáška
(pdf) Gregory Bleppa, viceprezidenta SCO-group, na téma Duševní
vlastnictví. Zpráva o průběhu. Blepp dříve pracoval pro SuSE Linux AG.
Výsledek? Nepřesvědčil... (příklad)
18.6.2004 22:09 Vlastimil Ott
Na světě je OpenOffice.org 1.1.2 Hakone. Více jazyků, lepší práce s XML,
nová komponenta pro práci s fonty. Stáhnout.
18.6.2004 22:20 Vlastimil Ott
Podle heise.de se Nokia stala sponzorem Mozilla Foundations. Je pro ni
vyvíjena platforma Minimo - prohlížeč pro chytré telefony.
19.6.2004 15:31 Tomáš Hála
Vyšel Postfix 2.1.3 opravující pár méně důležitých chyb v kódu a v
dokumentaci.
19.6.2004 20:09 Lukáš Zapletal
Druhý kandidát na Eclipse 3.0 již bude týden venku, brzy se tedy dočkáme
finální verze. Eclipse je vývojové prostředí napsané v Javě (a částečně v
jazyce C), novinek ve verzi 3.0 je mnoho.
21.6.2004 08:39 Petr Krčmář
Pro ty z vás, kteří se ještě neodhodlali vyzkoušet GNOME 2.6, připravil
Chris Dunphy rozsáhlý článek, který shrnuje jeho zkušenosti s tímto
prostředím.
21.6.2004 09:18 Bob Bobovich
ISO SUSE 9.1 Personal je k dispozici ke stažení z FTP SUSE i mirrorů.
21.6.2004 09:47 Petr Krčmář
RedHatu se očividně daří. Prodej jeho produktů zaznamenal nárůst o 53%
proti stejnému (druhému) čtvrtletí minulého roku. Letos tedy činil 41.6
milionů dolarů.
21.6.2004 11:10 Petr Krčmář
Na webu update.mozilla.org vznikl zajímavý portálek, který nabízí ke
stažení grafická témata a vylepšení (pluginy) pro Mozillu, Mozillu Firefox
a Thunderbird.
21.6.2004 13:33 Petr Krčmář
Jak na Linux ve dvaceti krocích, co všechno musíte vědět a co si musíte
ujasnit, vám poradí osnews.com. Zajímavé čtení pro úplné začátečníky.
22.6.2004 08:18 Antonín Kolísek
Program Skype pro internetovou telefonii byl konečně portován pro Linux.
22.6.2004 11:06 Petr Krčmář
Linux už běží na více než polovině počítačů, které jsou v současné době v
žebříčku 500 nejrychlejších počítačů světa.
22.6.2004 13:57 Petr Krčmář
BBC oznámilo, že se v Iráku skupina Linuxových uživatelů rozhodla vytvořit
vlastní svobodný operační systém, který by měl být levnou a dále se
rozšiřující platformou. Chtěji tak pomoci své zemi k lepší budoucnosti.
23.6.2004 08:33 Petr Krčmář
Ohlašování podpory 64bitových procesorů se stává novým trendem. Dalším z
ohlašovatelů je VMware. Podpora zahrnuje virtualizaci procesorů AMD64,
Intel EM64T a možnost zároveň využít 64 i 32 bitové aplikace.
23.6.2004 08:38 Petr Krčmář
Nová studie antispamových filtrů prokázala, že nejúčinnějším z testovaných
programů je Spamassassin, který dokáže redukovat počet spamů ze 150 na
pouhé 2 denně.
24.6.2004 02:39 Plesinger Jindrich
Slackware 10.0 je na světě. Jádro 2.4.26 a 2.6.7, GNOME 2.6.1, KDE 3.2.3,
X.org a tuny dalšího softwaru. ChangeLog, seznam všech balíčků.
24.6.2004 13:49 Petr Krčmář
Sun je často kritizován za licenční podmínky, které si u svých produktů
klade. Velmi pozitivně v tomto světle působí zjištění, že je zároveň
ochoten o těchto problémech diskutovat.
24.6.2004 15:10 Petr Krčmář
ION je moderní, komerční podnikové řešení, které slibuje pevné spojení
dodaného hardware a software, kterým je Debian, upravený pro podnikový
desktop. Jeho výrobce slibuje 100% kompatibilitu s aplikacemi pro Windows
95/98/Me.
24.6.2004 15:14 Petr Krčmář
RedHat a Oracle spolu založili Linux Enterprise Applications Porting
Centre, které se má v budoucnu zaměřit na tvorbu (portování) enterprise
aplikací na společných platformách obou firem.
25.6.2004 14:55 Petr Krčmář
New York City *BSD User Group přišla s velmi originální myšlenkou. Její
členové založili fórum, kam uživatelé posílají výpisy dmesg. Cílem je
vytvořit rozsáhlou databázi kombinací hardware, na kterém *BSD běží.
25.6.2004 15:02 Petr Krčmář
SuSE ČR, s.r.o. definitivně ukončila svou činnost. Produkty SUSE jsou nyní
k dispozici prostřednictvím partnerské sítě společnosti Novell Praha.
UPDATE: SUSE samozřejmě nekončí, pouze obchodní aktivity firmy přecházejí
na Novell Praha [Ott].
28.6.2004 08:57 Petr Krčmář
Sun oznámil zveřejnění kódu Java 3D API na java.net. K dispozici jsou
samotné kódy, základní utility a příklady.
28.6.2004 10:10 Petr Krčmář
Na myšlenky Linuxfromscratch se nyní pokouší navázat také nový projekt
Minixfromscratch. Cílem je zpřístupnit tvorbu operačního systému i
průměrným uživatelům, kteří si tak mohou vytvořit svou vlastní distribuci
Minixu a proniknout tak hlouběji do podstaty systému.
28.6.2004 14:36 Petr Krčmář
Na mozilla.sk jsou ke stažení slovenské lokalizační balíčky pro Mozilla 1.7
a Mozilla Firefox 0.9.
28.6.2004 15:54 Petr Krčmář
Spolupráce RedHatu a Novellu přináší první viditelné ovoce. Helix player je
plnohodnotnou náhradou komerčního RealPlayeru a zatím běží pod Linux,
Solaris a Symbian. A to nejlepší: je pod GNU GPL.
29.6.2004 09:00 Bob Bobovich
Na stažení čekají Firefox 0.9.1 a Thunderbird 0.7.1. Řeší řadu chyb, které
byly objeveny brzy po vydání předchozích verzí. Mimo jiné se jedná i opravu
několika problémů, které se projevují v neanglických verzích programů.
29.6.2004 09:01 Petr Krčmář
Sun se očividně vydal správnou cestou. Dnes oznámil otevření dalšího ze
svých projektů, tentokráte se jedná o Projekt Looking Glass, který nabízí
3D prostředí na Linuxovém desktopu. Obrázky i video vypadají velmi slibně.
29.6.2004 09:31 Petr Krčmář
Používáte-li Mandrakelinux 10.0 nebo se na něj chystáte, podívejte se na
poslední verzi errata, kde můžete najít seznam objevených problémů a jejich
řešení.
29.6.2004 11:24 Petr Krčmář
Ty z vás, které zajímá ladění systému za účelem dosažení nejvyššího výkonu
pravděpodobně zaujme zpráva, že Peter Williams vydal novou verzi jaderného
patche CPU Scheduler Evaluation pro jádra 2.6.7, který umožňuje změnu
scheduleru za jízdy(!).
29.6.2004 11:41 Petr Krčmář
Wi-Fi se dočkalo nového standardu 802.11i, který má pomocí AES a WPA2
šifrování konečně zajistit dostatečnou neprůstřelnost bezdrátových sítí.
29.6.2004 19:32 Vlastimil Ott
Redakce Databázového světa hledá redaktora s perfektním rozhledem v
databázových technologiích a znalostí češtiny. Více na dbsvet.cz.
29.6.2004 20:19 Vlastimil Ott
Zajímavý článek a zajímavá diskuze pod ním se objevil/a na Lupě: Softwarové
patenty aneb Poslední dějství počítačového programování?
30.6.2004 10:44 Petr Krčmář
Pokud se vám líbí sunovský projekt Looking Glass, rádi byste měli něco
podobného, ale nechcete investovat tolik procesorového času, můžete se
podívat třeba na Metisse. Používá OpenGL a rozhýbe vaše okna ve 3D.
30.6.2004 14:20 Petr Krčmář
O tom, že vyšlo Skype (software pro IP telefonii) pro Linux jsme už
informovali. Dnes se na NewsForge objevila krátká, ale zajímavá recenze.
30.6.2004 16:21 Petr Krčmář
Opravdu zajímavě vypadá společný projekt studentů mechatroniky z Linköping
University (Švédsko) a Volvo Cars, který vám dovolí zaparkovat vaše auto
zcela automaticky pomocí počítače s Linuxem. Můžete se podívat na video.