De kernel-sources nemen meer dan 20 Mb in beslag, en misschien dat je ze wilt verwijderen. Als dit zo is, raad ik je aan een nieuwe kernel te compileren die voor eens en voor altijd aan je computer is aangepast. Wees echter voorzichtig.
Ik raad je niet aan je kernel-sources te verwijderen, tenzij je er zeker van bent dat je computer juist is geconfigureerd. Bovendien heb je de kernel #includes nodig om C-programma's te compileren. Bedenk je tweemaal!
Als je toch besluit dit te doen, verwijder dan niet de include/linux tree, tenzij je weet dat je nooit applicaties op je computer zal compileren.
Neem nu de beslissing over welke applicaties je echt nodig hebt.
Een aantal kan overtollig blijken: ben je er bijvoorbeeld zeker van niet
zonder emacs
te kunnen? Je zou in plaats daarvan jed
kunnen gebruiken.
Het is aan jou te beslissen wat je wilt behouden. Een aantal algemene punten:
gcc
is een tamelijke groot package. Het is nodig voor het
compileren van de kernel en alle applicaties waar geen voorgefabriceerde
binaire Linux-bestanden voor zijn. Het is uiteraard ook nodig als je je
eigen C of Fortran (met f2c
of g77
) programma's schrijft; overweeg
wat je nodig hebt voordat je het verwijdert.
Andere compilers zoals lcc
zijn prima, maar niet tot aan het niveau
van gcc
. Ik raad je aan het te houden;xterm
, geen 100 dpi fonts, enzovoort;xdvi
en ghostview
is mogelijk als je dvitty
,
dvivga
en dergelijke gebruikt. Het elimineren van
X11 dviware zou zelfs X11 overtollig maken;
Laten we beginnen met het laten afnemen van de grootte van binaire bestanden. Ga naar /usr/bin en geef het commando
machine:/usr/bin# strip *
waarmee alle symbolen ingesloten in de binaire bestanden zullen worden
verwijderd. Herhaal deze stap in /usr/X11R6/bin/ en andere
directory's met uitvoerbare bestanden die je mogelijk hebt
(vergeet de binaire bestanden van TeX en gcc
niet te lokaliseren),
maar voer het niet uit onder /sbin, /bin, of
/usr/sbin/ als je prijs stelt op je installatie!
Installeer als eerste upx
en lees de documentatie ervan. Ga dan naar
/usr/bin en voer 't uit met het commando upx *
; het zal
alle uitvoerbare bestanden comprimeren, inclusief de suid bestanden
(tcx
zou dit niet doen). Herhaal deze stap net als hierboven in andere
directory's.
Denk eraan de uitvoerbare bestanden te comprimeren wanneer je een nieuw package installeert!
Er zijn heel wat andere bestanden die voor eens en voor altijd kunnen worden gecomprimeerd. Laten we eens beginnen met /usr/doc/; ga naar deze directory en pas het volgende commando toe:
machine:/usr/doc# find . -type f -exec gzip -9 {} \; 2> /dev/null
Denk eraan de docs te comprimeren als je een nieuw package installeert!
Herhaal deze stap in de directory met de documentatie voor TeX (op mijn systeem, /usr/lib/texmf/texmf/doc/. Als je het echt zeker weet, verwijder deze directory's dan voorgoed.
Installeer nu zlibc
en compileer het. Als je systeem net als dat
van mij is, dan zal het compilatie-proces worden afgebroken en een melding
geven over een ontbrekend (static) libc.
Doet er niet toe: er zal een bestand genaamd uncompress.o
te vinden zijn,
dat is wat ik nodig had. Verplaats het naar /usr/local/lib/ en
voeg deze regel toe aan /etc/profile:
export LD_ELF_PRELOAD=/usr/local/lib/uncompress.o
Nu kun je met gzip
niet alleen documentatie comprimeren, maar
ook gegevenbestanden:
de applicaties waarmee ze worden gebruikt, zullen ze niettemin kunnen
gebruiken. In theorie zou de truc bij de meeste applicaties moeten kunnen
werken, maar in praktijk kan de mate van succes variëren. De mijne
was niet bepaald indrukwekkend.