ďťż

Saving

Lemur zaprasza

Oszczędzanie miejsca na dysku twardym (małe JTZ)

Guido Gonzato, guido@ibogeo.df.unibo.it
v1.0.1, 07 kwietnia 1999
Wersja polska: Tomasz 'tsca' Sienicki, tsca@edb.dk

v1.01, 14 grudnia 2001

Dokument zawiera informacje pomagające w największym możliwym stopniu ograniczyć miejsce zajmowane przez Linuksa na twardym dysku. Przyda się
szczególnie użytkownikom laptopów.

1. Wstęp

Posiadam laptopa, na którym obok fabrycznie dołączonego Windows 95
zainstalowałem Linuksa. Zajmowaną przez Windows przestrzeń dyskową
ograniczyłem do 500 MB, co dało mi 240 MB wolnego miejsca. Niby niewiele,
a jednak dzięki rozsądnej gospodarce wolną przestrzenią zmieściłem tam
w pełni funkcjonalną instalację Linuksa (Red Hat 4.1).
Jeśli brakuje ci wolnej przestrzeni na twardym dysku, wykorzystaj informacje
zawarte w niniejszym dokumencie -- pomogą ci one znacznie zwiększyć jej ilość.
Zanim jednak przejdziemy do rzeczy, muszę cię ostrzec: nie obwiniaj mnie,
jeśli coś pójdzie nie tak. Niektóre z wykorzystywanych w procedurze
odzyskiwania wolnego miejsca programów mogą być niebezpieczne pomimo, iż
sprawdziły się u mnie.

2. Potrzebne oprogramowanie

Potrzebować będziesz:

w pełni sprawnej dowolnej wersji Linuksa,
popularnego programu do kompresji gzip
lub jego zamiennika: bzip2.
bzip2
kompresuje lepiej, niż gzip,
jest jednak nieco powolniejszy i zużywa mnóstwo pamięci.
Oba te programy znajdziesz pod adresem
ftp://sunsite.unc.edu:/pub/Linux/utils/compress,
programu kompresującego pliki wykonywalne upx
dostępnego pod adresami
http://cdata.tvnet.hu/~ml/upx.html oraz
http://wildsau.idv.uni-linz.ac.at/mfx/upx.html,
pakietu zlibc
dostępnego 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 plików wykonywalnych. Jednym z nich jest gzexe
-- najlepiej od razu o nim zapomnij. tcx
był niezły, został jednak zdetronizowany przez upx.
Kolejny program, tzx,
teoretycznie powinien sprawować się nawet lepiej, niż tcx.
Niestety, kompletnie zawiódł podczas prób, które przeprowadziłem na zapasowym
komputerze; być może z mojej winy. Najlepiej użyj więc upx
-- jest to program sprawdzony, wydajny i wygodny.
Istnieją łatki umożliwiające jądru obsługę skompresowanych systemów plików
"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. Procedura odzyskiwania miejsca


3.1 Usuwanie źródeł jądra

Źródła jądra zajmują ponad 20 MB, możesz więc rozważyć ich usunięcie. Jeśli
się na to zdecydujesz, proponuję, żebyś najpierw raz a dobrze skompilował
jądro odpowiednie dla twojego komputera; potem możesz źródła skasować.
Ale uważaj:
Nie kasuj
źródeł jądra dopóki nie jesteś pewien, że twój system jest prawidłowo
skonfigurowany. Pamiętaj również, że kompilacja programów napisanych w C
wymaga plików nagłówkowych (#include) jądra. Przemyśl to!
Kasując źródła jądra oszczędź
katalog include/linux/, chyba, że jesteś pewien, że nigdy niczego
nie będziesz na swoim komputerze kompilował.

3.2 Usuwanie zbędnych aplikacji

Teraz musisz zadecydować, których programów naprawdę
potrzebujesz. Niektóre aplikacje mogą okazać się w twoim przypadku zbędne;
na przykład zastanów się, czy naprawdę musisz mieć na dysku emacsa?
Zamiast niego możesz używać jeda.
Decyzja należy do Ciebie; przed jej podjęciem rozważ następujące fakty:


gcc
jest bardzo dużym pakietem używanym do kompilowania jądra oraz
wszelkich aplikacji, które rozprowadzane są w formie kodów źródłowych.
Pakiet ten jest oczywiście również niezbędny, jeśli piszesz własne
programy w C lub Fortranie (z f2c lub g77).
Zastanów się nad swoimi potrzebami, zanim usuniesz gcc.
Alternatywne kompilatory, jak np. lcc
też są niezłe, ale ustępują gcc.
Podsumowując, proponuję pozostawić ten pakiet na dysku.

X Window System zajmuje na olbrzymią ilość miejsca na dysku twardym,
czasem jednak szkoda z niego rezygnować. Jeśli czujesz, że nie
mógłbyś tego zrobić, spróbuj przynajmniej ograniczyć zajmowaną przez X
przestrzeń dyskową. W tym celu pozostaw sobie tylko właściwy dla
twojego sprzętu serwer X, jakiegoś niewielkiego Window-Managera,
tylko jeden xterm,
usuń czcionki 100 dpi, itd.

TeX i towarzyszące mu pakiety zajmują naprawdę wiele miejsca.
Zrezygnowanie z LaTeXa i ograniczenie się do czystego TeXa znacznie
zwiększy ilość dostępnej przestrzeni dyskowej. Dodatkowe miejsce
możesz uzyskać rezygnując z działających pod X przeglądarek plików
dvi i ps, takich jak xdvi czy ghostview.
Zamiast nich użyj programów dvitty, dvivga
i podobnych. Przy okazji zastanów się: skoro nie używasz X do
przeglądania dvi, może wcale tego pakietu nie potrzebujesz...?
gry nigdy nie są ``niezbędne''.

3.3 Usuwanie symboli z plików binarnych ("strip")

Rozpoczynamy proces zmniejszania wielkości plików binarnych. Wejdź do
katalogu /usr/bin i wydaj w nim polecenie:



/usr/bin# strip *


Usunie to symbole z plików binarnych. Powtórz ten krok w
/usr/X11R6/bin/ i pozostałych zawierających binarne pliki
wykonywalne katalogach (nie zapomnij też odnaleźć binariów pakietów TeX
i gcc).
Jeśli cenisz sobie swój system, nie wykonuj tego polecenia
w katalogach /sbin, /bin ani
/usr/sbin/ !
3.4 Kompresowanie plików wykonywalnych

Rozpocznij od zainstalowania pakietu upx
i przeczytania jego dokumentacji. Następnie 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 poradziłby sobie z tym). Powtórz ten krok w kolejnych katalogach według
opisu zawartego w poprzednim podrozdziale.
Pamiętaj o kompresowaniu plików wykonywalnych pojawiających się po
instalacji nowego oprogramowania!
3.5 Kompresowanie pozostałych plików

W systemie znajduje się mnóstwo plików, które możesz raz na zawsze
skompresować. Rozpocznij od wejścia do katalogu /usr/doc/
(od tłumacza: w nowszych dystrybucjach jest to /usr/share/doc/)
i wydaj w nim polecenie:



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


Pamiętaj o kompresowaniu dokumentów dołączanych do później instalowanych
programów!
Powtórz ten krok w katalogu zawierających dokumentację systemu TeX
(u mnie jest to /usr/lib/texmf/texmf/doc/).
Jeśli naprawdę wiesz, co robisz, możesz katalogi z dokumentacją
całkowicie skasować.
Zainstaluj teraz program zlibc
i skompiluj go. Jeśli twój system przypomina mój, 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 następującej linii
do pliku /etc/profile:



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


Dzięki powyższemu będziesz teraz mógł kompresować gzipem nie tylko dokumentację,
ale również pliki z wykorzystywanymi przez różne programy danymi; programy
będą nadal mogły ich używać. Teoretycznie sztuczka ta powinna działać z
większością aplikacji, praktycznie nie zawsze tak jest -- w moim przypadku
sukces nie był oszałamiający.

4. Przykład z życia wzięty

Oto co ja osiągnąłem zastosowawszy wyżej opisaną procedurę. Przed rozpoczęciem
operacji system wg df zajmował 398.798 bloków 1024.


Nie usunąłem źródeł jądra ani plików nagłówkowych,

Usunąłem kilka aplikacji i wszystkie gry. Zostawiłem sobie X11,
X11-narzędzia, C- i Fortran-narzędzia, Tcl/Tk, programy obsługujące
sieć oraz kilka standardowych aplikacji. Zajętych bloków: 244.668,

Skompresowałem programem upx
pliki znajdujące się katalogach /usr/bin,
/usr/X11R6/bin, /usr/lib/texmf/bin/i586-linux
oraz /usr/lib/gcc-lib/i386-linux/2.7.2.1.
Zajętych bloków: 226.270.

Skompresowałem dokumentację w katalogach /usr/doc oraz
/usr/lib/texmf/texmf/doc. Zajętych bloków: 198.745.

Liczba zajętych bloków przed rozpoczęciem operacji: 398.798, po jej
zakończeniu: 198.745. Uzyskałem 200.000 wolnych bloków! A gdybym użył
bzip2 zamiast gzipa,
wolnych bloków byłoby jeszcze więcej.
Jeśli od samego początku działasz świadomie, instalując wyłącznie niezbędne
aplikacje i kompresując pliki wykonywalne i dokumentację, oszczędzisz około
20 MB. W przypadku laptopów jest to znacząca liczba.

5. Formalności


5.1 Prawa autorskie

O ile nie zaznaczono inaczej dokumenty HOWTO chronione są prawami autorskimi
należącymi odpowiednio do ich autorów. Zezwala się na powielanie
i dystrybucję tych dokumentów w całości lub w części na jakimkolwiek fizycznym
bądź elektronicznym nośniku pod warunkiem pozostawienia na wszystkich kopiach
niniejszej informacji o prawach autorskich. Zezwala się i zachęca do
redystrybucji komercjalnej; autor jednak życzy sobie być powiadamiany
o każdej z takiej dystrybucji.
Niniejsze prawa autorskie dotyczą również wszelkich tłumaczeń, prac
pochodnych, składających się z, lub zawierających jakiekolwiek dokumenty
HOWTO. Oznacza to, że niedozwolone jest stworzenie pracy pochodnej od
dokumentu HOWTO i nałożenie dodatkowych ograniczeń na jej dystrybucję. W
pewnych szczególnych okolicznościach możliwe są odstąpienia od tych zasad.
Po bliższe informacje należy skontaktować się z koordynatorem projektu
Linux HOWTO pod adresem podanym poniżej.
W skrócie: chcemy promować rozprzestrzenianie się podanych tu informacji
poprzez możliwie wiele kanałów. Zatrzymujemy jednak prawa autorskie do
dokumentów HOWTO i chcielibyśmy być informowani o jakichkolwiek planach
redystrybucji tych dokumentów.
W przypadku pytań skontaktuj się z koordynatorem projektu Linux HOWTO
Timem Bynymem, tjbinum@sunsite.unc.edu.

5.2 Zastrzeżenia

Autorem niniejszego dokumentu jest Guido Gonzato,
REMOVE_MEguido@ibogeo.df.unibo.it.
Dokument ten jest udostępniony 'jak jest'. Starałem się napisać go jak
najlepiej, jednak wszelkich zawartych tu informacji możesz użyć tylko na
własne ryzyko. Nie ponoszę odpowiedzialności za żadne szkody wynikłe z
zastosowania tych informacji.
Ucieszą mnie wszelkie reakcje: prośby, sugestie, wyzwiska, itd.
Ciesz się Linuksem i życiem,
Guido =8-)

6. Od tłumacza

Wersja oryginalna niniejszego dokumentu znajduje się pod adresem
http://sunsite.unc.edu/LDP/.
Tłumaczenia pozostałych dokumentów HOWTO na język polski:
http://www.jtz.org.pl.
Copyright for the translation
(c) 2001 by Tomasz 'tsca' Sienicki, tsca@edb.dk
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza