  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.
  ______________________________________________________________________

  Tartalomjegyzk


  1. Bevezets
  2. Szoftverkvetelmnyek
  3. Az eljrs
     3.1 A kernelforrs eltvoltsa
     3.2 Az alkalmazsok ritktsa
     3.3 A binris fjlok mretnek cskkentse
     3.4 Tmrts az upx programmal
     3.5 Gzippeljk, amit lehet

  4. Egy valdi plda
  5. Befejezs
     5.1 Szerzi jogok
     5.2 Jogi felelssg
     5.3 Magyar fordts


  ______________________________________________________________________

  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 letlhet 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-et.

  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. Imteljk
  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 olvassul 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-t.  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-hoz:



        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 HOGYAN-on alapul fordts, szrmaztatott m vagy
  sszefoglal munka ezen szerzi jogi ktelmek al kell essen. Ez azt
  jelenti, hogy nem szabad olyan HOGYAN-on 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-HOGYAN-t 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 (atimar@itp.hu) ksztette.



