  Oszczdzanie miejsca na dysku twardym (mae JTZ)
  Guido Gonzato, guido@ibogeo.df.unibo.it
  v1.0.1, 07 kwietnia 1999
  WWeerrssjjaa ppoollsskkaa:: TToommaasszz ''ttssccaa'' SSiieenniicckkii,, ttssccaa@@eeddbb..ddkk

  v1.01, 14 grudnia 2001


  Dokument zawiera informacje pomagajce w najwikszym moliwym stopniu
  ograniczy miejsce zajmowane przez Linuksa na twardym dysku. Przyda
  si szczeglnie uytkownikom laptopw.
  ______________________________________________________________________

  Spis treci


  1. Wstp

  2. Potrzebne oprogramowanie

  3. Procedura odzyskiwania miejsca

     3.1 Usuwanie rde jdra
     3.2 Usuwanie zbdnych aplikacji
     3.3 Usuwanie symboli z plikw binarnych ("strip")
     3.4 Kompresowanie plikw wykonywalnych
     3.5 Kompresowanie pozostaych plikw

  4. Przykad z ycia wzity

  5. Formalnoci

     5.1 Prawa autorskie
     5.2 Zastrzeenia

  6. Od tumacza



  ______________________________________________________________________

  11..  WWssttpp

  Posiadam laptopa, na ktrym obok fabrycznie doczonego Windows 95
  zainstalowaem Linuksa. Zajmowan przez Windows przestrze dyskow
  ograniczyem do 500 MB, co dao mi 240 MB wolnego miejsca. Niby
  niewiele, a jednak dziki rozsdnej gospodarce woln przestrzeni
  zmieciem tam w peni funkcjonaln instalacj Linuksa (Red Hat 4.1).

  Jeli brakuje ci wolnej przestrzeni na twardym dysku, wykorzystaj
  informacje zawarte w niniejszym dokumencie -- pomog ci one znacznie
  zwikszy jej ilo.  Zanim jednak przejdziemy do rzeczy, musz ci
  ostrzec: nie obwiniaj mnie, jeli co pjdzie nie tak. Niektre z
  wykorzystywanych w procedurze odzyskiwania wolnego miejsca programw
  mog by niebezpieczne pomimo, i sprawdziy si u mnie.


  22..  PPoottrrzzeebbnnee oopprrooggrraammoowwaanniiee

  Potrzebowa bdziesz:

    w peni sprawnej dowolnej wersji Linuksa,

    popularnego programu do kompresji gzip lub jego zamiennika: bzip2.
     bzip2 kompresuje lepiej, ni gzip, jest jednak nieco powolniejszy i
     zuywa mnstwo pamici.  Oba te programy znajdziesz pod adresem
     <ftp://sunsite.unc.edu:/pub/Linux/utils/compress>,

    programu kompresujcego pliki wykonywalne upx dostpnego pod
     adresami <http://cdata.tvnet.hu/~ml/upx.html> oraz
     <http://wildsau.idv.uni-linz.ac.at/mfx/upx.html>,

    pakietu zlibc dostpnego pod adresem
     <ftp://sunsite.unc.edu:/pub/Linux/libs/compression>.  Plik nazwany
     jest zlibc-X.X.tar.gz, gdzie X.X jest numerem najnowszej wersji
     programu.

  Istniej te inne programy do kompresji plikw wykonywalnych. Jednym z
  nich jest gzexe -- najlepiej od razu o nim zapomnij. tcx by niezy,
  zosta jednak zdetronizowany przez upx.  Kolejny program, tzx,
  teoretycznie powinien sprawowa si nawet lepiej, ni tcx.  Niestety,
  kompletnie zawid podczas prb, ktre przeprowadziem na zapasowym
  komputerze; by moe z mojej winy. Najlepiej uyj wic upx -- jest to
  program sprawdzony, wydajny i wygodny.

  Istniej atki umoliwiajce jdru obsug skompresowanych systemw
  plikw "w locie", jednak w momencie pisania tego tekstu adna z nich
  nie cieszy si opini stabilnej i bezpiecznej. Najbezpieczniej jest
  trzyma si od nich z daleka.


  33..  PPrroocceedduurraa ooddzzyysskkiiwwaanniiaa mmiieejjssccaa


  33..11..  UUssuuwwaanniiee rrddee jjddrraa

  rda jdra zajmuj ponad 20 MB, moesz wic rozway ich usunicie.
  Jeli si na to zdecydujesz, proponuj, eby najpierw raz a dobrze
  skompilowa jdro odpowiednie dla twojego komputera; potem moesz
  rda skasowa.  Ale uwaaj:

  NNiiee kkaassuujj rde jdra dopki nie jeste pewien, e twj system jest
  prawidowo skonfigurowany. Pamitaj rwnie, e kompilacja programw
  napisanych w C wymaga plikw nagwkowych (#include) jdra. Przemyl
  to!

  Kasujc rda jdra _o_s_z_c_z__d_ katalog include/linux/, chyba, e jeste
  pewien, e nigdy niczego nie bdziesz na swoim komputerze kompilowa.


  33..22..  UUssuuwwaanniiee zzbbddnnyycchh aapplliikkaaccjjii

  Teraz musisz zadecydowa, ktrych programw _n_a_p_r_a_w_d_ potrzebujesz.
  Niektre aplikacje mog okaza si w twoim przypadku zbdne; na
  przykad zastanw si, czy naprawd musisz mie na dysku emacsa?
  Zamiast niego moesz uywa jeda.

  Decyzja naley do Ciebie; przed jej podjciem rozwa nastpujce
  fakty:


    gcc jest bardzo duym pakietem uywanym do kompilowania jdra oraz
     wszelkich aplikacji, ktre rozprowadzane s w formie kodw
     rdowych.  Pakiet ten jest oczywicie rwnie niezbdny, jeli
     piszesz wasne programy w C lub Fortranie (z f2c lub g77).
     Zastanw si nad swoimi potrzebami, zanim usuniesz gcc.
     Alternatywne kompilatory, jak np. lcc te s nieze, ale ustpuj
     gcc.  Podsumowujc, proponuj pozostawi ten pakiet na dysku.

    X Window System zajmuje na olbrzymi ilo miejsca na dysku
     twardym, czasem jednak szkoda z niego rezygnowa. Jeli czujesz, e
     nie mgby tego zrobi, sprbuj przynajmniej ograniczy zajmowan
     przez X przestrze dyskow. W tym celu pozostaw sobie tylko
     waciwy dla twojego sprztu serwer X, jakiego niewielkiego
     Window-Managera, tylko jeden xterm, usu czcionki 100 dpi, itd.

    TeX i towarzyszce mu pakiety zajmuj naprawd wiele miejsca.
     Zrezygnowanie z LaTeXa i ograniczenie si do czystego TeXa znacznie
     zwikszy ilo dostpnej przestrzeni dyskowej. Dodatkowe miejsce
     moesz uzyska rezygnujc z dziaajcych pod X przegldarek plikw
     dvi i ps, takich jak xdvi czy ghostview.  Zamiast nich uyj
     programw dvitty, dvivga i podobnych. Przy okazji zastanw si:
     skoro nie uywasz X do przegldania dvi, moe wcale tego pakietu
     nie potrzebujesz...?

    gry nigdy nie s ``niezbdne''.

  33..33..  UUssuuwwaanniiee ssyymmbboollii zz pplliikkww bbiinnaarrnnyycchh ((""ssttrriipp""))

  Rozpoczynamy proces zmniejszania wielkoci plikw binarnych. Wejd do
  katalogu /usr/bin i wydaj w nim polecenie:



       /usr/bin# strip *




  Usunie to symbole z plikw binarnych. Powtrz ten krok w
  /usr/X11R6/bin/ i pozostaych zawierajcych binarne pliki wykonywalne
  katalogach (nie zapomnij te odnale binariw pakietw TeX i gcc).

  Jeli cenisz sobie swj system, nniiee wwyykkoonnuujj tteeggoo ppoolleecceenniiaa w
  katalogach /sbin, /bin ani /usr/sbin/ !

  33..44..  KKoommpprreessoowwaanniiee pplliikkww wwyykkoonnyywwaallnnyycchh

  Rozpocznij od zainstalowania pakietu upx i przeczytania jego
  dokumentacji. Nastpnie wejd do katalogu /usr/bin i wykonaj w nim
  polecenie



       /usr/bin# upx *





  Skompresuje to wszystkie pliki wykonywalne, w tym te z suid (txc nie
  poradziby sobie z tym). Powtrz ten krok w kolejnych katalogach
  wedug opisu zawartego w poprzednim podrozdziale.

  Pamitaj o kompresowaniu plikw wykonywalnych pojawiajcych si po
  instalacji nowego oprogramowania!

  33..55..  KKoommpprreessoowwaanniiee ppoozzoossttaayycchh pplliikkww

  W systemie znajduje si mnstwo plikw, ktre moesz raz na zawsze
  skompresowa. Rozpocznij od wejcia do katalogu /usr/doc/ (od
  tumacza: w nowszych dystrybucjach jest to /usr/share/doc/) i wydaj w
  nim polecenie:



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

  Pamitaj o kompresowaniu dokumentw doczanych do pniej
  instalowanych programw!

  Powtrz ten krok w katalogu zawierajcych dokumentacj systemu TeX (u
  mnie jest to /usr/lib/texmf/texmf/doc/).

  Jeli _n_a_p_r_a_w_d_ wiesz, co robisz, moesz katalogi z dokumentacj
  cakowicie skasowa.

  Zainstaluj teraz program zlibc i skompiluj go. Jeli twj system
  przypomina mj, podczas kompilacji zobaczysz komunikaty o braku
  statycznej biblioteki libc. Nie przejmuj si: jest to kwestia
  odnalezienia pliku uncompress.o, przeniesienia go do /usr/local/lib/ i
  dodania nastpujcej linii do pliku /etc/profile:



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




  Dziki powyszemu bdziesz teraz mg kompresowa gzipem nie tylko
  dokumentacj, ale rwnie pliki z wykorzystywanymi przez rne
  programy danymi; programy bd nadal mogy ich uywa. Teoretycznie
  sztuczka ta powinna dziaa z wikszoci aplikacji, praktycznie nie
  zawsze tak jest -- w moim przypadku sukces nie by oszaamiajcy.


  44..  PPrrzzyykkaadd zz yycciiaa wwzziittyy

  Oto co ja osignem zastosowawszy wyej opisan procedur. Przed
  rozpoczciem operacji system wg df zajmowa 398.798 blokw 1024.


    Nie usunem rde jdra ani plikw nagwkowych,

    Usunem kilka aplikacji i wszystkie gry. Zostawiem sobie X11,
     X11-narzdzia, C- i Fortran-narzdzia, Tcl/Tk, programy obsugujce
     sie oraz kilka standardowych aplikacji. Zajtych blokw: 244.668,

    Skompresowaem programem upx pliki znajdujce si katalogach
     /usr/bin, /usr/X11R6/bin, /usr/lib/texmf/bin/i586-linux oraz
     /usr/lib/gcc-lib/i386-linux/2.7.2.1.  Zajtych blokw: 226.270.

    Skompresowaem dokumentacj w katalogach /usr/doc oraz
     /usr/lib/texmf/texmf/doc. Zajtych blokw: 198.745.

  Liczba zajtych blokw przed rozpoczciem operacji: 398.798, po jej
  zakoczeniu: 198.745. Uzyskaem 200.000 wolnych blokw! A gdybym uy
  bzip2 zamiast gzipa, wolnych blokw byoby jeszcze wicej.

  Jeli od samego pocztku dziaasz wiadomie, instalujc wycznie
  niezbdne aplikacje i kompresujc pliki wykonywalne i dokumentacj,
  oszczdzisz okoo 20 MB. W przypadku laptopw jest to znaczca liczba.


  55..  FFoorrmmaallnnooccii


  55..11..  PPrraawwaa aauuttoorrsskkiiee

  O ile nie zaznaczono inaczej dokumenty HOWTO chronione s prawami
  autorskimi nalecymi odpowiednio do ich autorw. Zezwala si na
  powielanie i dystrybucj tych dokumentw w caoci lub w czci na
  jakimkolwiek fizycznym bd elektronicznym noniku pod warunkiem
  pozostawienia na wszystkich kopiach niniejszej informacji o prawach
  autorskich. Zezwala si i zachca do redystrybucji komercjalnej; autor
  jednak yczy sobie by powiadamiany o kadej z takiej dystrybucji.

  Niniejsze prawa autorskie dotycz rwnie wszelkich tumacze, prac
  pochodnych, skadajcych si z, lub zawierajcych jakiekolwiek
  dokumenty HOWTO. Oznacza to, e niedozwolone jest stworzenie pracy
  pochodnej od dokumentu HOWTO i naoenie dodatkowych ogranicze na jej
  dystrybucj. W pewnych szczeglnych okolicznociach moliwe s
  odstpienia od tych zasad.  Po blisze informacje naley skontaktowa
  si z koordynatorem projektu Linux HOWTO pod adresem podanym poniej.

  W skrcie: chcemy promowa rozprzestrzenianie si podanych tu
  informacji poprzez moliwie wiele kanaw.  Zatrzymujemy jednak prawa
  autorskie do dokumentw HOWTO i chcielibymy by informowani o
  jakichkolwiek planach redystrybucji tych dokumentw.

  W przypadku pyta skontaktuj si z koordynatorem projektu Linux HOWTO
  Timem Bynymem, tjbinum@sunsite.unc.edu.


  55..22..  ZZaassttrrzzeeeenniiaa

  Autorem niniejszego dokumentu jest Guido Gonzato,
  <REMOVE_MEguido@ibogeo.df.unibo.it>.

  Dokument ten jest udostpniony 'jak jest'. Staraem si napisa go jak
  najlepiej, jednak wszelkich zawartych tu informacji moesz uy tylko
  na wasne ryzyko. Nie ponosz odpowiedzialnoci za adne szkody
  wynike z zastosowania tych informacji.

  Uciesz mnie wszelkie reakcje: proby, sugestie, wyzwiska, itd.

  Ciesz si Linuksem i yciem,

  Guido   =8-)


  66..  OOdd ttuummaacczzaa

  Wersja oryginalna niniejszego dokumentu znajduje si pod adresem
  <http://sunsite.unc.edu/LDP/>.

  Tumaczenia pozostaych dokumentw HOWTO na jzyk polski:
  <http://www.jtz.org.pl>.

  Copyright for the translation
  (c) 2001 by Tomasz 'tsca' Sienicki, tsca@edb.dk


















