
                           Helysprols mini-HOGYAN

rta Guido Gonzato, [1]mailto:guido@ibogeo.df.unibo.it

   v1.0.1, 1999. prilis 7.
     _________________________________________________________________

   Ez a mini-HOGYAN elmagyarzza, hogyan lehet a lehet lehet
   legkisebb helyre beszortani egy Linux rendszert. Fleg notebook
   felhasznlknak hasznos.
     _________________________________________________________________

1. Bevezets

   Kaptam egy notebookot elteleptett Windows 95 opercis rendszerrel,
   s felraktam r egy Linuxot is. sszenyomtam a Windows partcijt 500
   MB-ra, 240 MB maradt a Linux partci szmra. Ez elg kevsnek
   tnik, de mgis sikerlt egy elgg teljes Red Hat 4.1 alap Linux
   rendszert rtennem, nmi trkkzs rn, amivel sok helyet sproltam
   meg.

   Ha helyre van szksgnk, a kvetkez fejezetekben lert tancsok
   megfogadsval elg sok lemezhelyet szabadthatunk fel. Felhvom a
   figyelmet, hogy senki ne engem okoljon, ha valami tnkremegy. Jpr
   olyan programot kell majd hasznlni, amelyek nlam klasszul mkdtek,
   de termszetknl fogva veszlyesek. n megmondtam...

2. Szoftverkvetelmnyek

   Szksg lesz:

     * egy mkd Linux rendszerre (brmelyik verzi megfelel);
     * a szles krben elterjedt gzip tmrtprogramra, vagy a
       bzip2-re, ami letlthet a
       [2]ftp://sunsite.unc.edu/pub/Linux/utils/compress webhelyrl, s
       jobban tmrt, mint a gzip, de lassabb s rengeteg memrit
       hasznl;
     * az upx vgrehajthat llomnyokat tmrt programra, amelynek a
       honlapja a [3]http://www.nexus.hu/upx/ s a
       [4]http://wildsau.idv.uni-linz.ac.at/mfx/upx.html webhelyeken
       tallhat;
     * s a [5]ftp://sunsite.unc.edu:/pub/Linux/libs/compression
       webhelyrl letlthet zlibc csomagra, amelyet
       zlibc-X.X.tar.gz-nek hvnak, ahol X.X a legjabb verzi .

   Vannak ms vgrehajthat llomnyokat tmrt programok is. Az egyik
   a gzexe (felejtsk el), egy msik a tcx, ami taln a legjobb volt,
   mieltt az upx megjelent, egy harmadik a tzx, ami elvileg jobb, mint
   a tcx. A helyzet az, hogy mindent tnkretett, amikor kiprbltam egy
   tartalk szmtgpen, br nem vagyok biztos benne, hogy mindent jl
   csinltam. A legjobb, ha az upx-et hasznljuk, mert megbzhat,
   hatkony s knyelmes.

   Lteznek olyan kernel foltok, amelyek Stacker-szer rptmrtett
   fjlrendszert hoznak ltre, de jelen pillanatban egyik sem a
   stabilitsrl s a megbzhatsgrl hres. Biztos, ami biztos,
   tartzkodjunk ezek hasznlattl.

3. Az eljrs

3.1 A kernelforrs eltvoltsa

   A kernel forrsa tbb mit 20 MB helyet foglal, megfontolhatjuk a
   letrlst. Ha gy dntennk, fordtsunk egy kernelt egyszer s
   mindenkorra, ami a gpnkre kell, s szabaduljunk meg a forrskdtl.
   Azrt legynk vatosak.

   A kernelforrs eltvoltsa nem ajnlatos, ha nem vagyunk biztosak
   benne, hogy a gpnk megfelelen be van konfigurlva. Emellett a
   kernel # fejlcfjljai szksgesek a C programok fordtshoz.
   Gondoljuk meg ktszer!

   Ha a trls mellett dntnk, akkor se trljk le az include/linux
   knyvtrstruktrt, hacsak nem vagyunk biztosak benne, hogy soha nem
   fogunk alkalmazsokat fordtani a gpen.

3.2 Az alkalmazsok ritktsa

   Dntsk el, hogy melyik programra van igazn szksgnk. Nhny
   alkalmazs felesleges lehet. Pldul: biztos, hogy kell az emacs?
   Hasznlhatjuk helyette a jed szvegszerkesztt.

   Rajtunk mlik, hogy mit tartunk meg. Nhny ltalnos tlet:

     * A gcc elg nagy csomag. Ez szksges a kernel jrafordtshoz, s
       minden olyan alkalmazs lefordtshoz, amelynek nincs elre
       lefordtott Linux binris vltozata. Termszetesen akkor is
       szksgnk lesz r, ha a sajt C vagy Fortran (f2c-vel vagy
       g77-tel) programjainkat akarjuk lefordtani, trls eltt
       gondoljuk t, hogy fogunk-e valaha programokat fejleszteni.. Ms
       fordtprogramok, pl. az lcc elg jk, de nem rik el a gcc
       szintjt. Azt javaslom, tartsuk meg!
     * Az X11 szrnyen nagy, de j ha megvan. Ha nem tudunk meglenni
       nlkle, legalbb prbljuk a mrett a lehet legkisebbre
       leszortani: csak a megfelel X szerver program, csak egy
       egyszer ablakkezel, csak egy xterm, ne teleptsk a 100 dpi-s
       betkszleteket, stb.
     * A TeX s kiegszt csomagjai szintn nagyon nagyok. Ha nem
       hasznljuk a LaTeX csomagot, s megelgsznk a plain TeX
       csomaggal, sok helyet sprolhatunk. Nem kell hasznlnunk az X11
       alatti nzegetket (xdvi s ghostview), mert hasznlhatjuk a
       dvitty, a dvivga s a hasonl programokat. Ha nincs szksgnk az
       X11 alatti nzegetkre, akr maga az X11 is feleslegess vlhat.
     * A jtkok sosem ltfontossgak.

3.3 A binris fjlok mretnek cskkentse

   Kezdjk el cskkenteni a binris fjlok mrett! Lpjnk be az
   /usr/bin knyvtrba, s adjuk a kvetkez parancsot:

 machine:/usr/bin# strip *

   Ez eltvoltja a binris fjlokba begyazott szimblumokat. Ismteljk
   meg ezt a lpst az /usr/X11R6/bin/ knyvtrban is, s az sszes olyan
   knyvtrban, ahol vgrehajthat fjlok lehetnek. Ne feledjk
   megkeresni a TeX s a gcc binrisait. Ha nem akarjuk tnkretenni a
   rendszernket, akkor ne futtassuk ezt a parancsot az /sbin, a /bin,
   vagy az /usr/sbin/ knyvtrakban!

3.4 Tmrts az upx programmal

   Teleptsk az upx programot, s olvassuk el a dokumentcijt. Utna
   lpjnk be az /usr/bin knyvtrba s adjuk ki az upx * parancsot. Ez
   minden vgrehajthat fjlt tmrt, a suid-osakat is (a tcx ezt nem
   tenn). Ismteljk meg ezt a lpst a tbbi fent emltett knyvtrra.

   Ne feledjk tmrteni a vgrehajthat fjlokat, amikor j csomagot
   teleptnk!

3.5 Gzippeljk, amit lehet

   Van egy csom fjl, amit egyszer s mindenkorra tmrthetnk. Kezdjk
   az /usr/doc/ knyvtrral! Lpjnk bele s adjuk ki a kvetkez
   parancsot:

 machine:/usr/doc# find . -type f -exec gzip -9 {} \; 2> /dev/null

   Ne feledjk tmrteni a dokumentcit, amikor j csomagot teleptnk!

   Ismteljk meg ezt a lpst a TeX dokumentcijt tartalmaz
   knyvtrra (az n rendszeremen ez az /usr/lib/texmf/texmf/doc/). Ha
   teljesen biztosak vagyunk benne, akr le is trlhetjk ezeket a
   knyvtrakat.

   Teleptsk a zlibc csomagot s fordtsuk le. Az olyan rendszereken,
   mint az enym, a fordts megszakad, mert a fordt nem tallja a
   (statikus) libc knyvtrat. Semmi gond, fogunk tallni egy
   uncompress.o nev fjlt, s ez az, amire szksgnk van. Msoljuk ezt
   a fjlt az /usr/local/lib/ knyvtrba, s adjuk hozz a kvetkez
   sort az /etc/profile fjlhoz:

 export LD_ELF_PRELOAD=/usr/local/lib/uncompress.o

   Ezek utn nemcsak a dokumentcit tmrthetjk a gzip programmal,
   hanem az adatfjlokat is, az ket hasznl alkalmazsok mgis tudjk
   majd hasznlni ket. Elvileg ennek trkknek mkdni kellene a
   legtbb alkalmazsra, de gyakorlatilag ez nem felttlenl van gy. n
   nem rtem el klnsebb sikert ezzel a trkkel.

4. Egy valdi plda

   Az albbiakban olvashat, hogy hogyan alkalmaztam a fent emltett
   eljrsokat a sajt gpemre. A kezels eltt a df szerint 398.798 db.
   1024 bjt mret blokkot hasznltam.

     * Nem tvoltottam el a kernelforrst s a kernel fejlcfjljait.
     * Eltvoltottam egy csom alkalmazst s az sszes jtkot, de
       meghagytam az X11-et, az X11 fejlesztkszletet, a C s Fortran
       fejlesztkszletet, a Tcl/Tk-et, a hlzati segdprogramokat s
       mg nhny egyb alkalmazst. A df szerint ekkor 244.668 blokk
       volt foglalt.
     * Lefuttattam az upx programot az /usr/bin, az /usr/X11R6/bin, az
       /usr/lib/texmf/bin/i586-linux s az
       /usr/lib/gcc-lib/i386-linux/2.7.2.1 knyvtrakban. 226.270 foglalt
       blokkra cskkent a felhasznlt terlet.
     * Tmrtettem a dokumentcit az /usr/doc s az
       /usr/lib/texmf/texmf/doc knyvtrakban. 198.745 foglalt blokkra
       cskkent a felhasznlt terlet.

   sszefoglalva, 398.798 blokkal kezdtem, s 198.745 blokkal fejeztem
   be. Gondoljunk arra, hogy mennyi mindent trolhatunk azon a 200.000
   megsprolt blokkon! Mg tbb helyet felszabadthattam volna, ha a
   bzip2 programot hasznlom a gzip helyett.

   tlagos esetben, ha az elejtl fogva vatosak vagyunk, s csak a
   szksges alkalmazsokat teleptjk, a vgrehajthat llomnyok s a
   dokumentci tmrtse kb. 20 MB helyet szabadt fel. Egy notebook
   gpen ez ``letet menthet''.

5. Befejezs

5.1 Szerzi jogok

   A Linux HOGYAN dokumentumok szerzi joga a megfelel szerzk,
   hacsak mskpp nem rendelkeznek. A Linux HOGYAN dokumentumokat szabad
   rszben vagy egszben msolni s terjeszteni brmilyen fizikai vagy
   elektronikus adathordozn, de ezt a szerzi jogokra vonatoz
   megjegyzst minden msolathoz mellkelni kell. Az zleti cl
   terjeszts megengedett s btortott, de a szerz szeretne tudomst
   szerezni minden ilyen terjesztsrl.

   Minden Linux HOGYANon alapul fordts, szrmaztatott m vagy
   sszefoglal munka ezen szerzi jogi ktelmek al kell essen. Ez azt
   jelenti, hogy nem szabad olyan HOGYANon alapul mvet ltrehozni,
   amely tovbbi megktseket tartalmaz a terjesztsre. Bizonyos
   felttelek esetn ezek a szablyok figyelmen kvl hagyhatak, errl
   a Linux HOGYAN koordittor ad felvilgostst a lent olvashat cmen.

   Rviden megfogalmazva, szeretnnk, ha az informci elterjedne minl
   tbb csatornn, de szeretnnk megtartani a HOGYAN dokumentumok
   szerzi jogt, s szeretnnk rteslni brmilyen terjesztsi
   tervrl.

   Krdsekkel a Linux HOGYAN koordintort, Tim Bynumot lehet megkeresni
   a linux-howto@metalab.unc.edu drtpostacmen.

5.2 Jogi felelssg

   A Helysprols mini-HOGYANt Guido Gonzato rta (
   [6]REMOVE_MEguido@ibogeo.df.unibo.it).

   Erre a dokumentumra nem vonatkozik semmilyen garancia. Nagyon
   igyekeztem, hogy hibtlan legyen, de mindenki csak a sajt
   felelssgre hasznlhatja az itt kzlt informcikat. Semmilyen
   esetben sem lehet engem felelss tenni az itt lertak
   felhasznlsbl ered krokrt.

   A visszajelzseket rmmel veszem. Brmilyen krdst, krst,
   javaslatot szvesen meghallgatok.

   lvezzk a Linuxot s az letet!

   Guido =8-)

5.3 Magyar fordts

   A magyar fordtst [7]Tmr Andrs ksztette. A lektorlst [8]Daczi
   Lszl vgezte el (2002.11.11). Brmilyen fordtssal kapcsolatos
   szrevtelt a [9]linuxhowto@sch.bme.hu cmre kldjetek. A dokumentum
   legfrissebb vltozata megtallhat a [10]Magyar Linux Dokumentcis
   Projekt honlapjn.

References

   1. mailto:guido@ibogeo.df.unibo.it
   2. ftp://sunsite.unc.edu/pub/Linux/utils/compress
   3. http://www.nexus.hu/upx/
   4. http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
   5. ftp://sunsite.unc.edu/pub/Linux/libs/compression
   6. file://localhost/home/dacas/temp/REMOVE_MEguido@ibogeo.df.unibo.it
   7. mailto:timar_a@freemail.hu_NO_SPAM
   8. mailto:dacas@freemail.hu_NO_SPAM
   9. mailto:linuxhowto@sch.bme.hu_NO_SPAM
  10. http://tldp.fsf.hu/index.html
