
  Helysprols mini-HOGYAN


    rta Guido Gonzato, 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
      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 http://www.nexus.hu/upx/ s a
      http://wildsau.idv.uni-linz.ac.at/mfx/upx.html webhelyeken tallhat;
    * s a 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 (
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 Tmr Andrs <mailto:timar_a@freemail.hu_NO_SPAM>
ksztette. A lektorlst Daczi Lszl
<mailto:dacas@freemail.hu_NO_SPAM> vgezte el (2002.11.11). Brmilyen
fordtssal kapcsolatos szrevtelt a linuxhowto@sch.bme.hu
<mailto:linuxhowto@sch.bme.hu_NO_SPAM> cmre kldjetek. A dokumentum
legfrissebb vltozata megtallhat a Magyar Linux Dokumentcis Projekt
<http://tldp.fsf.hu/index.html> honlapjn.

