Glibc 2 HOGYAN

Eric Green, ejg3@cornell.edu

v1.6, 1998. j�nius 22.
A glibc 2 HOGYAN le�rja, hogyan telep�tsd �s haszn�ld a GNU C programk�nyt�r 2-es verzi�j�t (libc 6) a Linux oper�ci�s rendszeren.

1. Bevezet�s

1.1 Amit a glibc 2-r�l tudni kell

A Glibc 2 a GNU C programk�nyvt�r leg�jabb v�ltozata. Jelenleg m�dos�t�s n�lk�l fut GNU Hurd rendszereken �s a Linux i386, mk68k �s alpha rendszereken. A 2.1-es verzi� t�mogatni fogja a Linux PowerPc-t valamint a MIPS, Sparc, Sparc-64 �s Arm platformokat. A k�nyvt�r a j�v�ben m�s architekt�r�kat �s oper�ci�s rendszereket is t�mogatni fog.

A Linux rendszereken a glibc 2, a 6-os verzi�sz�m� libc-vel egyezik meg, amely a libc 5 ut�dja. A Linuxos libc fejleszt�i a libc 6-al fel akarjak v�ltani a libc 5-�t. A 2.0.6-os verzi�t�l kezdve, a libc megb�zhat�nak tekinthet�. A 2.1-es v�ltozat, amely hamarosan napvil�got l�t, k�szen �ll majd a sz�lesk�r� felhaszn�l�sra, �s tov�bbi platformokat is fog t�mogatni.

H�rom opcion�lis kieg�sz�t� l�tezik a glibc 2-h�z:

Crypt

Az UFC-crypt csomag. Ezt a csomagot nem integr�lt�k a glibc-be, az exporttilalmak miatt.

LinuxThreads

A Posix 1003.1c "pthread" interf�sz egy implemet�ci�ja.

Locale data

Ez tartalmazza a locale adatf�jlok el��ll�t�s�hoz sz�ks�ges adatokat, ezekre akkor van sz�ks�g, ha haszn�lni akarod a glibc nemzetk�zi lehet�s�geit.

A crypt �s LinuxThreads kieg�sz�t� csomagok er�sen aj�nlottak... Ha nem haszn�lod �ket, inkompatibilit�si probl�m�k l�phetnek fel m�s rendszerek k�l�nb�z� k�nyvt�raival. (Ha ezek ut�n m�gsem akarod haszn�lni �ket, meg kell adjad a --disable-sanity-checks opci�t a configure szkript futtat�s�n�l.)

1.2 Err�l a dokumentumr�l

Ez a HOGYAN arr�l sz�l, hogyan telep�tsd a glibc 2 k�nyvt�rat egy megl�v� Linux rendszerre. A le�r�s abb�l indul ki, hogy libc 5-ot haszn�lsz i386-os architekt�r�n, de m�s rendszerek �s k�nyvt�rak (pl. glibc1) felhaszn�l�i is haszn�t vehetik, csak le kell cser�lj�k a megfelel� f�jl- �s architekt�ra-neveket a szitu�ci�nak megfelel�en.

Eme HOGYAN legfrissebb v�ltozat�t megtal�lod a Linux Documentation Project r�szek�nt vagy a k�vetkez� kiszolg�l�n: http://www.imaxx.net/~thrytis/glibc/Glibc2-HOWTO.html.

1.3 Mi v�ltozott a k�zelm�ltban?

K�l�nbs�gek a dokumentum 1.6-os �s 1.5-os v�ltozatai k�z�tt:

K�l�nbs�gek a dokumentum 1.5-os �s 1.4-es v�ltozatai k�z�tt:

2. Telep�t�si m�dszer kiv�laszt�sa

A glibc-t t�bbf�lek�ppen telep�theted. Feltelep�theted tesztel�s c�lj�ra, ebben az esetben a r�gi k�nyvt�rakat haszn�lod tov�bbra is alap�rtelmez�sben, de ha ford�tasz egy programot, megadhatod, hogy az haszn�lja a teszt k�nyvt�rat. Ha ezt a telep�t�si m�dszert v�lasztod, k�s�bb k�nnyen elt�vol�thatod a glibc-t a g�pedr�l (persze a hozz� kapcsol�d� programok nem fognak m�k�dni). Ha ilyen m�don tesztelni akarod a glibc-t, forr�sb�l kell ford�tsad, mert nem k�sz�lt tesztel�si c�lb�l bin�ris csomag (pl. rpm). Err�l a megold�sr�l a Telep�t�s teszt k�nyvt�rk�nt fejezetben olvashatsz.

Ezzel ellent�tben, telep�theted a glibc-t els�dleges programk�nyvt�rk�nt is. Ilyenkor minden �j program, amit a g�pen ford�tasz, alap�rtelmez�sben a glibc-t fogja haszn�lni, kiv�tel persze, ha ford�t�skor a r�gi k�nyvt�rat adod meg. Ford�thatod a k�nyvt�rat magad, vagy feltelep�theted bin�ris csomagb�l is. Ha v�ltoztatni akarsz a glibc be�ll�t�sain, az optimaliz�l�ssal akarsz vari�lni, vagy olyan kieg�sz�t�t akarsz haszn�lni, ami a bin�ris csomagban nincsen benne, le kell t�ltened a forr�sk�dot, �s le kell ford�tanod a k�nyvt�rat. Ez esetben a telep�t�si �tmutat�t megtal�lod a Telep�t�s els�dleges C k�nyvt�rk�nt fejezetben.

Frodo Looijaard le�r egy harmadik telep�t�si m�dszert. Az � m�dszer�nek l�nyege, hogy a glibc-t m�sodlagos k�nyvt�rk�nt telep�ted, �s be�ll�tasz egy keresztford�t�t (cross compiler), ami a glibc-t haszn�lja. Ez a telep�t�si m�dszer kicsit bonyolultabb, mint a tesztk�nyvt�rk�nt telep�t�s, de ut�na egyszer�bb olyan programokat ford�tani, amik a glibc-t haszn�lj�k. Ennek a m�dszernek a le�r�s�t a A glibc-2 telep�t�se Linuxra c�m� dokumentumba tal�lod.

Ha 1.3-as Debiant haszn�lsz, �s nem akarod a glibc miatt az "unstable" v�ltozatot haszn�lni, olvasd el a Debian libc5 to libc6 Mini-HOWTO-t, ez le�rja, hogyan friss�tsd Debian csomagokkal rendszeredet.

Ha a glibc 2-t egy fontos g�pre telep�ted, val�sz�n�leg a teszt telep�t�s a jobb v�laszt�s. M�g ha a glibc-ben nincsenek is hib�k, egyes programokat esetleg m�dos�tani kell, hogy le tudd ford�tani �ket, mert v�ltozhatnak a k�nyvt�rban a f�ggv�nyek protot�pusai �s t�pusai.

3. A k�nyvt�r beszerz�se

A glibc 2 n�gy csomagb�l �ll: a glibc csomagb�l �s a h�rom kieg�sz�t� csomagb�l, ezek: LinuxThreads, Locale �s Crypt. A forr�sokat let�ltheted a k�vetkez� helyekr�l:

A teljes glibc ford�t�s�hoz �s telep�t�s�hez kb. 150 MB lemezter�letre lesz sz�ks�ged. Ha bin�ris csomagb�l telep�ted az alap glibc-t, akkor kb. 50MB-al kell sz�molnod.

A 2.0.6-os v�ltozatb�l nincsenek bin�ris csomgok. A 2.0.4-es verzi� bin�ris csomagjai i386-os �s m68k architekt�r�kra, valamint a 2.0.1-es v�ltozat alph�ra megtal�lhat� itt:

A Crypt kieg�sz�t� csomagra exportkorl�toz�sok vannak �rv�nyben. Az Egyes�lt �llamokon k�v�l �l� felhaszn�l�k ezt a csomagot a ftp://ftp.ifi.uio.no/pub/gnu kiszolg�l�r�l szerezhetik be.

Ha Red Hat �ssze�ll�t�st haszn�lsz, let�ltheted a 2-es glibc-t rpm csomagokban a Red Hat ftp kiszolg�l�j�r�l: ftp://ftp.redhat.com/pub/redhat/. A Red Hat a glibc 2 k�nyvt�rat haszn�lja els�dleges C k�nyvt�rk�nt az �ssze�ll�t�s 5.0-as verzi�ja �ta.

Ha Debiant haszn�lsz, let�ltheted a 2-es glibc-t deb csomagokban a Debiant�l ftp://ftp.debian.org/debian/dists/unstable/main/. A f�jlokat libc6-nak h�vj�k. A glibc 2 r�sze a Debian hamm verzi�j�nak, els�dleges C k�nyvt�r lesz a Debian 2.0 megjelen�s�t�l.

4. Telep�t�s teszt k�nyvt�rk�nt

Ez a r�sz azt �rja le, a glibc 2 telep�t�s�t teszt k�nyvt�rk�nt. Ha b�rmilyen programot ford�tasz, azt a ford�t� a r�gi glibc-vel szerkeszti �ssze, hacsak nem adod meg k�l�n, hogy a teszt k�nyvt�rat szeretn�d haszn�lni. Ford�t�skor az el�r�si �tvonalak beleker�lnek n�h�ny f�jlba, ez�rt val�sz�n�leg forr�sb�l kell telep�tsd a k�nyvt�rat.

4.1 Ford�t�s �s telep�t�s

Telep�t�si k�vetelm�nyek

Egy i586@133 g�pen 64 MB RAM-mal, kb. 3 �r�ba telik, am�g elk�sz�l a teljes k�nyvt�r a kieg�sz�t�kkel. Egy er�sen leterhelt i686@200 g�pen ugyanez kb. f�l �r�ba ker�l.

A forr�s kicsomagol�sa

Ahhoz, hogy le tudd ford�tani a forr�st, ki kell csomagolnod. Ezt legk�nnyebben a k�vetkez� m�don teheted meg:

 tar xzf glibc-2.0.6.tar.gz
 cd glibc-2.0.6
 tar xzf ../glibc-linuxthreads-2.0.6.tar.gz
 tar xzf ../glibc-crypt-2.0.6.tar.gz
 tar xzf ../glibc-localedata-2.0.6.tar.gz
 
Ez a glibc-2.0.6 k�nyvt�rba csomagolja ki a linuxthreads, crypt �s locale kieg�sz�t�ket, ahol a configure megtal�lja �ket.

Be�ll�t�s

A glibc-2.0.6 k�nyvt�rba hozz�l l�tre egy compile nev� k�nyvt�rat, majd l�pj bele. Mindent ebben a k�nyvt�rban fogsz csin�lni, ez egyszer�s�ti a takar�t�st. (A fejleszt�k eddig nem t�rt�k magukat, hogy a 'make clean' t�k�letesen m�k�dj�n.)

 mkdir compile
 cd compile
 
Futtasd le a ../configure szkriptet. Ha kieg�sz�t� csomagokat is akarsz haszn�lni, meg kell adnod a --enable-add-ons kapcsol�t, pl.: --enable-add-ons=linuxthreads,crypt,localedata. Ki kell v�laszd a c�lk�nyvt�rat, ahova a k�nyvt�rat telep�teni fogod. Erre a /usr/i486-linuxglibc2 egy j� v�laszt�s. Ehhez a configure param�terei a k�vetkez�k:
 ../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr/i486-linuxglibc2
 

Ford�t�s �s telep�t�s

A ford�t�shoz �s ellen�rz�shez �rd be a k�vetkez�ket:

 make
 make check
 
Ha a 'make check' sikeresen lefutott, telep�tsd a k�nyvt�rat root felhaszn�l�k�nt (m�g mindig a compile k�nyvt�rb�l):
 make install
 

4.2 A dinamikus bet�lt� (dynamic loader) friss�t�se

  1. Hozz�l l�tre egy k�t�st, ami az �j ld.so -r�l a /lib/ld-linux.so.2 -ra mutat:
     ln -s /usr/i486-linuxglibc2/lib/ld-linux.so.2 /lib/ld-linux.so.2
     
    
    Ez az egyetlen k�nyvt�r, amelynek r�gz�tett a helye, miut�n egy programhoz hozz� lett kapcsolva. Ha a /lib k�nyvt�rban l�trehozol egy kapcsot (link) hozz�, akkor k�s�bb k�nnyebb lesz �tt�rni a glibc-re, mint els�dleges C k�nyvt�rra, amikor megjelenik a stabil verzi�ja.
  2. Szerkeszd a /etc/ld.so.conf f�jlt. A f�jl v�g�re be kell �rnod a lib k�nyvt�r el�r�si �tvonal�t, amiben az �j programk�nyvt�rak vannak. Valahogy �gy fog kin�zni: <prefix>/lib, teh�t pl. /usr/i486-linuxglibc2/lib a fenti esetben. A /etc/ld.so.conf f�jl elment�se ut�n futtasd le a k�vetkez� parancsot:
     ldconfig -v
     
    

4.3 Be�ll�t�s a gcc ford�t�hoz

A telep�t�s utols� l�p�se a /usr/lib/gcc-lib friss�t�s�b�l �ll. Ez az�rt sz�ks�ges, hogy a gcc tudja haszn�lni az �j programk�nyvt�rakat. Els� k�rben duplik�lni kell a gcc-t. Hogy megtudd melyik az �ppen m�k�d� ggc konfigur�ci�, haszn�ld a gcc -v kapcsol�j�t:

 % gcc -v
 Reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs
 gcc version 2.7.2.2
 
Ebben az esetben az i486-unknown-linux a rendszer t�pusa, �s a 2.7.2.2 a gcc verzi�sz�ma. �t kell m�solnod a /usr/lib/gcc-lib/<system> k�nyvt�rat az �j tesztrendszer k�nyvt�r�ba:
 cd /usr/lib/gcc-lib/
 cp -r i486-unknown-linux i486-linuxglibc2
 
L�pj be az �j tesztrendszer k�nyvt�r�ba, majd a verzi�sz�mmal jel�lt k�nyvt�rba,
 cd /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2
 
ezek ut�n m�dos�tsd a specs f�jlt, ami ebben a k�nyvt�rban tal�lhat�. �rd �t a /lib/ld-linux.so.1 sz�veget /lib/ld-linux.so.2-re. Ha ez megvan, t�r�lj ki minden %{...:-lgmon} f�jlra mutat� hivatkoz�st, mert a glibc nem haszn�lja a gmon k�nyvt�rat. Tal�lsz egy p�lda spec f�jlt a P�lda specs f�jl fejezetben.

4.4 A fejl�cf�jlokra mutat� kapcsok friss�t�se

Kapcsokat (link) kell l�trehoznod az �j include k�nyvt�rban, amik egy�b include k�nyvt�rakra mutatnak:

 cd /usr/i486-linuxglibc2/include
 ln -s /usr/src/linux/include/linux
 ln -s /usr/src/linux/include/asm
 ln -s /usr/X11R6/include/X11
 
El�fordulhat, hogy vannak m�s programk�nyvt�raid, mint pl. az ncurses, ezeknek a fejl�cf�jlait is ebbe a k�nyvt�rba kell helyezned. Ezeket a f�jlokat �t kell m�solnod vagy kapcsoznod (link) a /usr/include k�nyvt�rb�l. (Lehetnek olyan programk�nyvt�rak is, amiket �jra kell ford�tanod, hogy a glibc2-vel m�k�dni tudjanak. Ebben az esetben egyszer�en ford�tsd le �ket, �s a telep�t�sn�l add meg a /usr/i486-linuxglibc2 k�nyvt�rat.)

4.5 A telep�tett programk�nyvt�r tesztel�se

A programk�nyvt�r tesztel�s�hez, hozz l�tre egy glibc.c f�jlba k�vetkez�kkel:

 #include <stdio.h>

 main()
 {
     printf("hello world!\n");
 }
 
Ford�tsd le a k�vetkez� opci�kkal: "-b <base install directory> -nostdinc -I<install directory>/include -I/usr/lib/gcc-lib/<new system dir>/<gcc version>/include":
 % gcc -b i486-linuxglibc2 -nostdinc -I/usr/i486-linuxglibc2/include \
       -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include glibc.c -o glibc
 
Az ldd parancs seg�ts�g�vel ellen�rizd, hogy a ford�t� t�nyleg a glibc2-vel szerkesztette-e �ssze a programocsk�t �s nem a r�gi libc-vel:
 % ldd glibc
 libc.so.6 => /usr/i486-linuxglibc2/lib/libc-2.0.6.so (0x4000d000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 
Ha a programot le tudtad ford�tani, a gcc az �j glibc2-h�z szerkesztette �s amikor elind�tod, azt �rja ki, hogy "hello world!", a telep�t�s sikeres volt.

5. Telep�t�s els�dleges C k�nyvt�rk�nt

Ez a r�sz arr�l sz�l, hogy hogyan telep�tsd a glibc 2-t els�dleges C k�nyvt�rk�nt. Ezek ut�n minden program amit a rendszereden ford�tasz az �j C programk�nyvt�rat fogja haszn�lni, hacsak nem besz�led le err�l speci�lis ford�t� kapcsol�k seg�ts�g�vel.

Ha RedHat vagy Debian Linuxot haszn�lsz �s let�lt�tted a megfelel� rpm vagy deb csomagokat, �tugorhatod ezt a r�szt, n�zd meg a RedHat vagy Debian telep�t�si �tmutat�t.

5.1 A k�nyvt�r ford�t�sa forr�sk�db�l

Ez a r�sz le�rja, hogy hogyan ford�tsd le a glibc 2-t �s a kieg�sz�t�it a forr�sb�l. Akkor kell ford�tanod a glibc-t, ha v�ltoztatni akarsz az alapbe�ll�t�sain vagy az optimaliz�l�son, vagy olyan kieg�sz�t�t akarsz haszn�lni, amihez nincsen bin�ris csomag.

Telep�t�si k�vetelm�nyek

Egy i586@133 g�pen 64 MB RAM-mal, kb. 3 �r�ba telik, am�g elk�sz�l a teljes k�nyvt�r a kieg�sz�t�kkel. Egy er�sen leterhelt i686@200 g�pen ugyanez kb. f�l �r�ba ker�l.

A forr�s kicsomagol�sa

Ahhoz, hogy le tudd ford�tani a forr�st, ki kell csomagolnod. Erre a legjobb megold�s a k�vetkez�:

 tar xzf glibc-2.0.6.tar.gz
 cd glibc-2.0.6
 tar xzf ../glibc-linuxthreads-2.0.6.tar.gz
 tar xzf ../glibc-crypt-2.0.6.tar.gz
 tar xzf ../glibc-localedata-2.0.6.tar.gz
 
Ez a glibc-2.0.6 k�nyvt�rba csomagolja ki a linuxthreads, crypt �s locale kieg�sz�t�ket, ahol a configure megtal�lja �ket.

Be�ll�t�s

A glibc-2.0.6 k�nyvt�rba hozz�l l�tre egy compile nev� k�nyvt�rat majd l�pj bele. Mindent ebben a k�nyvt�rban fogsz csin�lni, ez egyszer�s�ti a takar�t�st. (A fejleszt�k eddig nem t�rt�k magukat, hogy a 'make clean' t�k�letesen m�k�dj�n.)

mkdir compile
cd compile

Futtasd le a ../configure szkriptet. Ha kieg�sz�t� csomagokat is akarsz haszn�lni, meg kell adnod az --enable-add-ons kapcsol�t, pl.: --enable-add-on\s=linuxthreads,crypt,localedata.

Val�sz�n�leg meg akarod adni a c�lk�nyvt�rat is, ahova a glibc-t telep�teni akarod. Mivel a szabv�nyos Linux disztrib�ci�hoz akarsz igazodni, add meg a --prefix=/usr kapcsol�t. (Ha egy Linux rendszeren az /usr k�nyvt�rat adod meg, a configure mag�t�l be tud �ll�tani egy�b fontos el�r�si �tvonalakat, ahova a libc.so �s egy�b m�s fontos a /lib-ben l�v� k�nyvt�rakat kell tenni. A configure parancssora valahogy �gy fog kin�zni:

 ../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr

Ford�t�s

A ford�t�shoz �s ellen�rz�shez �rd be a k�vetkez�ket:

 make
 make check
 

5.2 Felk�sz�l�s a telep�t�sre

Ak�r ford�tod a glibc-t, ak�r bin�ris csomagokb�l rakod fel, n�h�ny f�jlt �t kell helyezned, mert b�r minden �jonnan ford�tott program az �j glibc-t fogja haszn�lni, a r�gi (nem statikusan linkelt) programoknak sz�ks�g�k van a r�gi programk�nyvt�rra (libc5), ez�rt azt nem �rhatod egyszer�en fel�l.

  1. Hozz l�tre egy �j k�nyvt�rat a r�gi f�jloknak:
     mkdir -p /usr/i486-linuxlibc5/lib
     
    
  2. A r�gi fejl�c f�jlokat ki kell helyezni a /usr/include k�nyvt�rb�l:
     mv /usr/include /usr/i486-linuxlibc5/include
     
    
  3. Csin�lj egy �j include k�nyvt�rat �s hozd l�tre a sz�ks�ges, m�s include k�nyvt�rakra mutat� kapcsokat:
     mkdir /usr/include
    
     ln -s /usr/src/linux/include/linux /usr/include/linux
     ln -s /usr/src/linux/include/asm /usr/include/asm
     ln -s /usr/X11R6/include/X11 /usr/include/X11
     ln -s /usr/lib/g++-include /usr/include/g++
     
    
    Ezek a kapcsok lehet, hogy kicsit elt�rnek a megadott�l, mert az include k�nyvt�rak helye �ssze�ll�t�st�l f�gg�. Legal�bb is a Slackware Linuxokon a g++ fejl�c f�jlok a /usr/local/g++-include k�nyvt�rban vannak, m�g a Debian alatt a /usr/include/g++ k�nyvt�rban tal�lhat�k �s a /usr/lib/g++-include kapocs a /usr/include/g++-ra mutat. Az ut�bbi esetben val�sz�n�leg szerencs�sebb az eredeti g++ include k�nyvt�rat visszahelyezni a /usr/include k�nyvt�rba.
  4. �ll�ts vissza minden plusz fejl�c f�jlt �s kapcsot, ami esetleg az eredeti /usr/include k�nyvt�rban volt. Egyes szabv�nytalan programk�nyvt�rak, mint pl. az ncurses f�jlokat raknak be a /usr/include k�nyvt�rba, vagy kapcsokat hoznak ott l�tre, melyek az adott programk�nyvt�r include k�nyvt�r�ra mutatnak. Ezeket a f�jlokat �s kapcsokat vissza kell �ll�tanod, hogy tov�bbra is haszn�lni tudd a k�rd�ses programk�nyvt�rakat.
  5. Add hozz� az �j programk�nyvt�r k�nyvt�r�t (pl. /usr/i486-linuxlibc5/lib) az /etc/ld.so.conf f�jl elej�hez. Legal�bb az 1.8.8-as verzi�j� ld.so-ra van sz�ks�ged, k�l�nben bizarr hiba�zenetekkel tal�lod magad szembe a glibc telep�t�se ut�n.
  6. Helyezd �t az �sszes r�gi C programk�nyvt�rat az �j k�nyvt�rba.
     mv /usr/lib/libbsd.a /usr/i486-linuxlibc5/lib
     mv /usr/lib/libc.a /usr/i486-linuxlibc5/lib
     mv /usr/lib/libgmon.a /usr/i486-linuxlibc5/lib
     mv /usr/lib/libm.a /usr/i486-linuxlibc5/lib
     mv /usr/lib/libmcheck.a /usr/i486-linuxlibc5/lib
     mv /usr/lib/libc.so /usr/i486-linuxlibc5/lib
     mv /usr/lib/libm.so /usr/i486-linuxlibc5/lib
     cp /lib/libm.so.5.* /usr/i486-linuxlibc5/lib
     cp /lib/libc.so.5.* /usr/i486-linuxlibc5/lib
     
    
    A libm.so.5 �s libc.so.5 f�jlokat m�solni kell �s nem �thelyezni, ha a /usr nem a / part�ci�n van, mert ezekre a programk�nyvt�rakra a Linuxnak indul�skor sz�ks�ge van, ez�rt a / k�teten kell legyenek.
  7. Helyezd �t az /usr/lib/*.o f�jlokat az �j k�nyvt�rba.
     mv /usr/lib/crt1.o /usr/i486-linuxlibc5/lib
     mv /usr/lib/crti.o /usr/i486-linuxlibc5/lib
     mv /usr/lib/crtn.o /usr/i486-linuxlibc5/lib
     mv /usr/lib/gcrt1.o /usr/i486-linuxlibc5/lib
     
    
  8. Friss�tsd a programk�nyvt�r gyors�t�t�r�t, miut�n �trendezted a programk�nyvt�rakat.
     ldconfig -v
     
    

5.3 Telep�t�s bin�ris csomagb�l

Ha el�re ford�tott bin�ris csomagokb�l telep�ted a glibc-t, el�sz�r ellen�rizd a csomagok tartalm�t:

 tar -tzvf glibc-2.0.bin.i386.tar.gz
 tar -tzvf glibc-crypt-2.0.bin.i386.tar.gz
 
Ha el�gedett vagy az eredm�nnyel, telep�theted a glibc-t:
 cd /
 tar -xzf glibc-2.0.bin.i386.tar.gz
 tar -xzf glibc-crypt-2.0.bin.i386.tar.gz
 ldconfig -v
 
Ha m�s architekt�r�t vagy verzi�t haszn�lsz, �rtelemszer�en helyettes�tsd a f�jlneveket.

A glibc leg�jabb verzi�ja �ltal�ban nincs meg bin�ris csomagban, viszont a leg�jabb verzi� haszn�lata mindig javasolt, a hibajav�t�sok miatt. Ha nem tudod a glibc-t leford�tani a saj�t g�peden, t�lts le egy bin�ris programk�nyvt�rat tartalmaz� csomagot egy olyan disztrib�ci�b�l, ami a glibc-t haszn�lja (pl. RedHat) �s telep�tsd azt.

5.4 Telep�t�s forr�sk�db�l

A programk�nyvt�r forr�sk�db�l val� telep�t�s�hez, add ki root felhaszn�l�k�nt a compile/ k�nyvt�rb�l a k�vetkez� utas�t�sokat:

 make install
 ldconfig -v
 

5.5 A gcc specs f�jlj�nak friss�t�se

A telep�t�s utols� l�p�sek�nt (mind a bin�ris csomagok, mind a forr�sk�db�l val� telep�t�s eset�n) friss�teni kell a gcc specs f�jlj�t, hogy a ford�t� az �j glibc-vel szerkessze �ssze a k�s�bbiekben ford�tott programokat. Hogy meghat�rozd, a gcc melyik specs f�jl haszn�lja, add ki a k�vetkez� parancsot:

 % gcc -v
 reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs
 gcc version 2.7.2.2
 

Ebben az esetben a i486-unknown-linux �rja le a rendszert �s a 2.7.2.2 a verzi�t. �t kell m�solnod a /usr/lib/gcc-lib/<system> k�nyvt�rat a r�gi rendszer k�nyvt�rba:

 cd /usr/lib/gcc-lib/
 cp -r i486-unknown-linux i486-linuxlibc5
 

L�pj�l be az eredeti k�nyvt�raba, majd a verzi�sz�m �ltal jel�lt k�nyvt�rba:

 cd /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2
 

Ezek ut�n m�dos�tsd a specs f�jlt, ami ebben a k�nyvt�rban tal�lhat�. �rd �t a /lib/ld-linux.so.1 sz�veget /lib/ld-linux.so.2-re. Ha ez megvan, t�r�lj ki minden %{...:-lgmon} f�jlra mutat� hivatkoz�st, mert a glibc nem haszn�lja a gmon k�nyvt�rat. Tal�lsz egy p�lda spec f�jlt a P�lda specs f�jl fejezetben.

5.6 A feltelep�tett programk�nyvt�r tesztel�se

A programk�nyvt�r ellen�rz�s�hez, hozz l�tre egy glibc.c nev� f�jlt a k�vetkez� tartalommal:

 #include <stdio.h>

 main()
 {
     printf("hello world!\n");
 }
 
Ford�tsd le a programot.
 % gcc glibc.c -o glibc
 
Az ldd programmal ellen�rizd, hogy a ford�t� t�nyleg az �j programk�nyvt�rat haszn�lja:
 % ldd glibc
 libc.so.6 => /lib/libc.so.6 (0x4000e000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
 
Ha a programot siker�l leford�tani, �s fut�sa eredm�nyek�nt ki�rja, hogy "hello world!" a telep�t�s siker�lt.

6. Ford�t�s a nem els�dleges libc-vel

Vannak olyan alkalmak, amikor nem az els�dleges programk�nyvt�rat szeretn�d haszn�lni ford�t�skor. Ez a r�sz azt �rja le, hogy ezt hogyan teheted meg. A felhaszn�lt k�nyvt�r- �s f�jlnevek megegyeznek az el�z� r�szben haszn�ltakkal. Ne felejtsd el megv�ltoztatni ezeket a neveket a telep�t�sednek megfelel�en.

6.1 Figyelmeztet�s, ha nem els�dleges C programk�nyvt�rat haszn�lsz

Miel�tt b�rmilyen olyan programot ford�tan�l, amit a Linux a rendszer indul�sakor haszn�l (a nem root part�ci�k felcsatol�sa el�tt), ne felejtsd el, hogy ha a program dinamikusan linkelt, sz�ks�ge van a programk�nyvt�rakra a root part�ci�n. Ha megfigyelted az el�z� r�szben le�rt telep�t�st, hi�ba a glibc az �j C programk�nyvt�r, a r�gi libc is megmaradt a /lib k�nyvt�rban, ami a root part�ci�n van. Ez azt jelenti, hogy a r�gi libc-vel �sszeszerkesztett programok tov�bbra is haszn�lhat�k az indul�si folyamat sor�n. Ha viszont a /usr nem a root part�ci�n van �s a glibc-t teszt k�nyvt�rk�nt telep�ted a /usr/i486-linuxglibc2 k�nyvt�rba, minden �j, a teszt k�nyvt�rral ford�tott program m�k�d�sk�ptelen lesz, am�g nincs felcsatolva a /usr k�nyvt�rat tartalmaz� part�ci�.

6.2 Programok ford�t�sa teszt glibc-vel

Ahhoz, hogy egy programot a teszt glibc k�nyvt�rral ford�ts, be kell �ll�tanod az include k�nyvt�rak �s f�jlok el�r�si �tvonalait �gy, hogy azok a teszt glibc k�nyvt�rban l�v� include f�jlokra mutassanak. Ha a parancssoron megadod a "-nostdinc" kapcsol�t, az t�rli a hivatkoz�sokat az alap�rtelmezett include el�r�si �tvonalakat, a "-I/usr/i486-linuxglibc2/include" pedig megadja a glibc include f�jlok hely�t. Meg kell m�g add a gcc include f�jljait, amelyek a /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include k�nyvt�rban tal�lhat�k (akkor, ha 2.7.2.2-es gcc-t haszn�lsz �s a teszt programk�nyvt�rat az i486-linuxglibc2 k�nyvt�rba telep�tetted).

Meg kell add ezeken k�v�l a gcc be�ll�t�sait. Ezt megteheted a "-b i486-linuxglibc2" kapcsol�val.

A legt�bb programn�l megadhatod ezeket a kapcsol�kat a makefile $CFLAGS �s $LDFLAGS opci�in�l:

 CFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include \
          -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include \
          -b i486-linuxglibc2
 LDFLAGS = -b i486-linuxglibc2
 

Ha configure szkriptet haszn�lsz a ford�t�s el�tt, �ll�tsd be a $CFLAGS �s $LDFLAGS k�rnyezeti v�ltoz�kat (csh/tcsh-ban haszn�ld az env/setenv parancsokat, sh/bash-ban haszn�ld a set/export-ot ) a configure futtat�sa el�tt. Az �gy gener�lt makefile f�jlokban szerepelnie kell a megfelel� $CFLAGS �s $LDFLAGS be�ll�t�soknak. Nem minden configure szkript olvassa ki a parancs�rtelmez� k�rnyezet�b�l a v�ltoz�kat, ez�rt ellen�rizni kell a makefile-t, �s k�zzel jav�tani sz�ks�g eset�n.

Ha a ford�tand� program csak a gcc-t h�vja meg (�s nem egyenesen a cpp-t vagy a binutils-t), haszn�lhatod a k�vetkez� szkriptet a kapcsol�k megad�s�ra:

 #!/bin/bash
 /usr/bin/gcc -b i486-linuxglibc2 -nostdinc \
              -I/usr/i486-linuxglibc2/include \
              -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include "$@"
 
Haszn�ld ezt a szkriptet ford�t�sn�l a "gcc" helyett.

6.3 Programok ford�t�sa libc 5-el, ha a glibc az els�dleges programk�nyvt�r

Ha a r�gi libc k�nyvt�rral akarsz programot ford�tani �s a glibc-t els�dleges k�nyvt�rk�nt telep�tetted, vissza kell �ll�tsad az include f�jlok el�r�si �tvonal�t a r�gi include f�jlok�ra. Meg kell add a "-nostdinc" kapcsol�t, ez t�rli az alap�rtelmezett be�ll�t�sokat, majd a "-I/usr/i486-linuxlibc5/include" kapcsol�val be kell �ll�tanod a libc5 include f�jljainak az el�r�si �tvonal�t. Meg kell m�g adnod a "-I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include" kapcsol�t, amely a gcc specifikus include f�jlok hely�t adja meg. Ne felejtsd el, az itt megadott k�nyvt�rneveket a saj�t rendszerednek megfelel�en megv�ltoztatni (k�nyvt�rnevek �s gcc verzi�).

V�g�l meg kell add a gcc be�ll�t�sait, a "-b i486-linuxlibc5" kapcsol�val.

A legt�bb programn�l megadhatod ezeket a kapcsol�kat a makefile $CFLAGS �s $LDFLAGS opci�in�l:

 CFLAGS = -nostdinc -I/usr/i486-linuxlibc5/include \
          -I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include \
          -b i486-linuxlibc5
 LDFLAGS = -b i486-linuxlibc5
 

Ha configure szkriptet haszn�lsz a ford�t�s el�tt, �ll�tsd be a $CFLAGS �s $LDFLAGS k�rnyezeti v�ltoz�kat (csh/tcsh-ban haszn�ld az env/setenv parancsokat, sh/bash-ban haszn�ld a set/export-ot ) a configure futtat�sa el�tt. Az �gy gener�lt makefile f�jlokban szerepelnie kell a megfelel� $CFLAGS �s $LDFLAGS be�ll�t�soknak. Nem minden configure szkript olvassa ki a parancs�rtelmez� k�rnyezet�b�l a v�ltoz�kat, ez�rt ellen�rizni kell a makefile-t, �s k�zzel jav�tani sz�ks�g eset�n.

Ha a ford�tand� program csak a gcc-t h�vja meg (�s nem egyenesen a cpp-t vagy a binutils-t), haszn�lhatod a k�vetkez� szkriptet a kapcsol�k megad�s�ra:

 #!/bin/bash
 /usr/bin/gcc -b i486-linuxlibc5 -nostdinc \
              -I/usr/i486-linuxlibc5/include \
              -I/usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.2/include "$@"
 
Haszn�ld ezt a szkriptet ford�t�sn�l a "gcc" helyett.

7. C++ programok ford�t�sa

A libg++ haszn�lja a matematikai programk�nyvt�rat, teh�t a libm k�nyvt�rhoz van kapcsolva. Mivel a megl�v� libg++ k�nyvt�rad a r�gi C programk�nyvt�rat haszn�lja, �jra kell ford�tanod a glibc-vel, vagy telep�tened kell egy bin�ris k�nyvt�rat (amit glibc-vel ford�tottak). A libg++ legfrissebb v�ltozat�t (forr�sk�dot vagy bin�ris csomagot x86-os architekt�r�hoz) let�ltheted a ftp://ftp.yggdrasil.com/private/hjl/ ftp helyr�l.

7.1 A libg++ telep�t�se teszt glibc k�nyvt�rral

Ha teszt k�nyvt�rk�nt telep�tetted a glibc-t, abba a k�nyvt�rba kell telep�tened a f�jlokat, amelyikben a glibc tal�lhat� (pl. /usr/i486-linuxglibc2, az el�z� fejezetekben le�rt p�ld�k alapj�n). Ha bin�ris csomagb�l telep�ted a libg++ k�nyvt�rat (amit forr�n aj�nlok, mert m�g sohasem volt szerencs�m �gy libg++ k�nyvt�rat ford�tani), csomagold ki a f�jlokat egy �tmeneti k�nyvt�rba, majd helyezd �t a usr/lib/ k�nyvt�rban l�v� f�jlokat az <install directory>/lib/ k�nyvt�rba, a usr/include/-ban l�v� f�jlokat a <install directory>/include/ k�nyvt�rba (ne felejtsd el el�sz�r t�r�lni az include/g++ kapcsot!) �s a usr/bin/-ben l�v� f�jlokat az <install directory>/bin/ k�nyvt�rba.

7.2 A libg++ telep�t�se els�dleges glibc k�nyvt�r eset�n

Ha a glibc-t els�dleges k�nyvt�rk�nt telep�tetted, el�sz�r �t kell helyezned a r�gi libg++ f�jljaidat a r�gi libc k�nyvt�rba, abban az esetben ha ezen t�l is akarsz ford�tani g++ programokat a r�gi libc-vel. val�sz�n�leg ennek az a legegyszer�bb m�dja, hogy telep�tesz egy libc5-el ford�tott �j libg++, mint az el�z� fejezetben �s ut�na feltelep�ted a glibc-t norm�lisan.

7.3 C++ programok ford�t�sa a nem els�dleges libc k�nyvt�rral

Ha C++ programokat szeretn�l nem els�dleges libc-vel ford�tani, meg kell add a g++ include k�nyvt�rat, ami a fenti p�ld�k eset�n /usr/i486-linuxglibc2/include/g++ lenne teszt glibc konfigur�ci� eset�n vagy /usr/i486-linuxlibc5/include/g++ els�dleges glibc konfigur�ci� eset�n. Ezt �ltal�ban el lehet �rni a $CXXFLAGS v�ltoz� m�dos�t�s�val:

 CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include \
            -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include \
            -I/usr/i486-linuxlibc5/include/g++ -b i486-linuxglibc2
 

8. Probl�m�k

A glibc csomagban tal�lhat� egy GYIK (FAQ), amiben tov�bbi inform�ci�t �s megold�sokat tal�lhatsz a probl�m�kra. A GYIK-nek van egy h�l�zaton el�rhet� v�ltozata is: http://www.imaxx.net/~thrytis/glibc/glibc-FAQ.html. Most kiemeln�k n�h�ny probl�m�t, amikr�l a GYIK-ben nincs (vagy nem el�g r�szletesen van) sz�.

8.1 Nem m�k�dik a g�pnevek felold�sa

A glibc 2 m�s m�dszert haszn�l a g�pnevek felold�s�ra, mint a libc5. A glibc "name server switch" (NSS) k�dr�sze keresi a /etc/nsswitch.conf f�jlt. Ha nem m�k�dik a g�pn�v felold�s, amikor glibc 2 k�nyvt�rat haszn�l� alkalmaz�sokat futtatsz, �s a /etc/resolv.conf f�jlod megvan, �s tartalmazza a sz�ks�ges inform�ci�kat, n�zd meg, hogy van-e /etc/nsswitch.conf f�jlod. Ha nincs ilyen nev� f�jl, akkor hozz l�tre egyet, a k�vetkez� tartalommal:

 hosts:        files dns
 
Ezzel be�ll�tottad, hogy a n�vkiszolg�l�kra vonatkoz� inform�ci�k a /etc/resolv.conf f�jlban vannak.

Ha tov�bbi r�szletek is �rdekelnek, olvasd el a libc info lapj�t, amiben r�szletesen le van �rva a nsswitch.conf f�jl fel�p�t�se.

9. Hib�k bejelent�se

Ha �gy gondolod, hogy hiba van a programk�nyvt�rban, olvasd el el�sz�r a GYIK-et. Nem kiz�rt, hogy m�snak esetleg ugyanaz a probl�m�ja volt, mint Neked, �s van egyszer� megold�s. Ellen�rizd m�g a glibc csomagj�ban tal�lhat� INSTALL f�jl "Recommended Tools to Install the GNU C Library" r�sz�t, mert a probl�m�d ad�dhat m�s program hib�j�b�l is, nem felt�tlen�l a glibc m�k�dik rosszul.

Ha hib�t tal�lt�l, el�sz�r gy�z�dj meg r�la, hogy t�nyleg igazi hib�r�l van sz�. Ennek ellen�rz�s�re egy j� m�dszer, ha �sszehasonl�tod a GNU C programk�nyvt�r �s valamilyen m�sik C programk�nyvt�r viselked�s�t. Ha ugyanaz az eredm�ny mind a k�t programk�nyvt�rral, akkor val�sz�n�leg nem hib�r�l van sz� (b�r nem 100%). Ha a k�t k�nyvt�r viselked�se nem egyezik meg, akkor val�sz�n�, hogy hib�t tal�lt�l.

Ezek ut�n n�zd meg a http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl c�men el�rhet� hib�kat tartalmaz� adatb�zist (bug database). Lehet, hogy valaki m�r el�tted bejelentette a hib�t. �rdemes megn�zni a glibc csomagban tal�lhat� BUGS f�jlt, amiben szint�n az ismert hib�k list�ja tal�lhat�.

Ha m�r biztos vagy benne, hogy �j hib�t tal�lt�l, pr�b�ld meg�llap�tani a lehet� legpontosabban, egy nagyon egyszer� tesztprogrammal, hogy mi okozza a hib�t. A C program k�nyvt�r eset�ben ez azt jelenti, hogy meg kell �llap�tanod, hogy melyik f�ggv�nyh�v�s id�zi el�. Ez nem t�l neh�z feladat.

A legutols� l�p�s, amikor megvan az egyszer� kis tesztprogram, a hiba bejelent�se. A hiba bejelent�s�n�l, k�ldd el a tesztprogramot, az eredm�nyeket amiket kapt�l, az eredm�nyeket amiket v�rt�l, esetleg arr�l valamit, hogy szerinted mi lehet a gond (ha van valami �tleted), a rendszer t�pus�t, a GNU C programk�nyvt�r verzi�j�t, a gcc ford�t� verzi�j�t �s a GNU Binutils verzi�j�t. Mell�keld m�g a config.status �s config.make f�jlokat, ezeket abban a k�nyvt�rban tal�lod, ahonnan a configure szkriptet futtattad.

Minden a GNU C k�nyvt�rral kapcsolatos hibabejelent�st a glibcbug shell szkipt seg�ts�g�vel kell elk�ldeni a bugs@gnu.org c�mre (m�k�dik m�g a r�gi bugs@gnu.ai.mit.edu c�m is), vagy a GNATS webes interf�sz�n kereszt�l a http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl honlapon.

Javaslatokat �s k�rd�seket a bugs-glibc@prep.ai.mit.edu levelez�list�ra lehet k�ldeni. Ha nem olvasod a gnu.bug.glibc h�rcsoportot, feliratkozhatsz a list�ra a bug-glibc-request@prep.ai.mit.edu honlapon.

K�rlek NE k�ldj�l GNU C k�nyvt�rral kapcsolatos hibabejelent�st a <bug-gcc@prep.ai.mit.edu> c�mre. Ez a lista a GNU CC hib�ival foglalkozik. A GNU CC �s a GNU C k�nyvt�r k�t k�l�n dolog, k�l�nb�z� emberek tartj�k karban.

10. P�lda specs f�jl

Ide besz�rtam egy specs f�jlt, amit a gcc haszn�l a glibc 2-vel ford�t�sn�l �s linkel�sn�l. A f�jl a /usr/lib/gcc-lib/<new system dir>/<gcc version> k�nyvt�rban tal�lhat�. Ha x86-os rendszered van, val�sz�n�leg bem�solhatod a f�jlba ezt a r�szt egy az egyben.

 *asm:
 %{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}

 *asm_final:
 %{pipe:-}

 *cpp:
 %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} 
 %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}

 *cc1:
 %{profile:-p}

 *cc1plus:


 *endfile:
 %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s

 *link:
 -m elf_i386 %{shared:-shared}   %{!shared:     %{!ibcs:       %{!static:   
 %{rdynamic:-export-dynamic}      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}}
 %{static:-static}}}

 *lib:
 %{!shared: %{pthread:-lpthread}  %{profile:-lc_p} %{!profile: -lc}}

 *libgcc:
 -lgcc

 *startfile:
 %{!shared:      %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s}                        %{!p:%{profile:gcrt1.o%s}
 %{!profile:crt1.o%s}}}}    crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}

 *switches_need_spaces:


 *signed_char:
 %{funsigned-char:-D__CHAR_UNSIGNED__}

 *predefines:
 -D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)

 *cross_compile:
 0

 *multilib:
 . ;
 

11. Egy�b

11.1 Tov�bbi inform�ci�

Web lapok

H�rcsoportok

Levelez�list�k

Glibc 2 Linux f�rum.

Ez a lista olyan Linux felhaszn�l�k vitaf�ruma, akik feltelep�tett�k a glibc2-t, az �j GNU C programk�nyvt�rat. A t�m�k: kompatibilit�ssal �sszef�gg� k�rd�sek, programok ford�t�sa sor�n felmer�l� probl�m�k (Linux/glibc k�rnyezetben). A feliratkoz�shoz k�ldj egy levelet a Majordomo@ricardo.ecn.wfu.edu c�mre, a lev�l t�rzs�ben legyen:"subscribe glibc-linux <a saj�t e-mail c�med>".

A levelez�lista arch�vuma megtal�lhat� a http://www.progressive-comp.com/Lists/?l=linux-glibc&r=1&w=2#linux-glibc c�men.

11.2 K�sz�net

Ezen inform�ci� nagy r�sz�t a GNU Libc honlapr�l loptam, valamint Ulrich Drepper <drepper@gnu.ai.mit.edu> glibc 2 bejelent�seib�l �s megjegyz�seib�l. Andreas Jaeger-t�l <aj@arthur.rhein-neckar.de> sz�rmazik a hibabejelent�st le�r� fejezet egy r�sze.

A k�vetkez�k voltak seg�ts�gemre e dokumentum �ssze�ll�t�s�ban:

Ezt a dokumentumot k�l�nb�z� nyelvekre ford�tj�k:

11.3 Visszajelz�s

Ezen HOGYAN �r�s�t�l, valamint a glibc 2 for Linux honlap karbantart�s�t�l eltekintve semmi k�z�m sincs a glibc projekthez. T�vol �llok att�l, hogy mindent tudjak a t�mak�rr�l, ennek ellen�re sz�vesen megpr�b�lok seg�teni, ha gondjaid t�madnak. Sz�vesen l�tok minden visszajelz�st, jav�t�st vagy kieg�sz�t�st a ejg3@cornell.edu c�men.

11.4 Szerz�i jogok

Copyright © Eric Green, 1997.

Ez a dokumentum tov�bbadhat� az LDP licenc�ben r�gz�tett felt�telek mellett.

11.5 Magyar ford�t�s

A magyar ford�t�st Kov�cs Emese k�sz�tette (1999). A lektor�l�st Daczi L�szl� v�gezte el (2002.12.28). B�rmilyen ford�t�ssal kapcsolatos �szrev�telt a linuxhowto@sch.bme.hu c�mre k�ldjetek. Eme dokumentum legfrissebb v�ltozata megtal�lhat� a Magyar Linux Dokument�ci�s Projekt honlapj�n.