Saving Space mini-HOWTO
 di Guido Gonzato,  <mailto:[email protected]>
 v1.0.1, 7 aprile 1999

 Questo mini-HOWTO vuole dare dei consigli per far stare la tua instal�
 lazione di Linux in uno spazio il pi� piccolo possibile. � rivolto
 specialmente agli utilizzatori di notebook. Traduzione di Mariani
 Dario,  <[email protected]>

 1.  Introduzione


 Ho un notebook su cui ho installato Linux, insieme a Windows 95 che
 era pre-installato. Ho ristretto la partizione di Windows a 500 Mb,
 facendo cos� spazio a una di tipo Linux da 240 Mb. Per quanto possa
 sembrare piccola, sono riuscito a installare un sistema Linux
 pressoch� completo, basato sulla Red Hat 4.1 e su qualche trucco per
 liberare pi� spazio possibile.

 Se hai bisogno di spazio, le indicazioni che troverai nella sezione
 seguente possono liberare una considerevole fetta del tuo hard disk.
 L'unico avvertimento che ti voglio dare � questo: non dare la colpa a
 me se qualcosa va storto! Utilizzeremo un paio di programmi che per me
 hanno funzionato bene, ma che sono pericolosi. Sei stato avvertito.


 2.  Requisiti di sistema


 Hai bisogno di:


 �  Un sistema Linux completamente funzionante (qualunque versione
    dovrebbe andare bene);

 �  la comune utility di compressione gzip, o alternativamente bzip2
    che puoi trovare all'indirizzo
    <ftp://sunsite.unc.edu:/pub/Linux/utils/compress>;  questo
    strumento comprime meglio dello gzip, ma � anche un poco pi� lento
    e consuma pi� memoria;

 �  il compressore di eseguibili upx, le cui home page sono
    all'indirizzo  <http://cdata.tvnet.hu/~ml/upx.html> e
    <http://wildsau.idv.uni-linz.ac.at/mfx/upx.html>;

 �  il pacchetto zlibc, disponibile all'indirizzo
    <ftp://sunsite.unc.edu:/pub/Linux/libs/compression>. Si chiama
    zlibc-X.X.tar.gz, dove X.X � l'ultima versione.

 Ci sono altri compressori di eseguibili. Uno � gzexe (dimenticalo),
 mentre tcx era probabilmente il migliore prima che upx fosse
 disponibile; ancora un altro � tzx, in teoria migliore di tcx. Il
 fatto � che ha rovinato tutto su un PC "di scorta", bench� io non sia
 sicuro di aver fatto qualcosa di sbagliato.  Ti conviene utilizzare
 upx: � sicuro, efficiente, e molto utile. Vai sul sicuro.


 3.  La procedura




 3.1.  Rimuovere i sorgenti del kernel



 I sorgenti del kernel occupano pi� di 20 Mb, e potresti volerli
 rimuovere.  Se � cos�, ti suggerisco di compilare un nuovo kernel
 adattato alla tua macchina una volta per tutte, e poi cancellare i
 sorgenti. Comunque, fai attenzione.


 Non ti raccomando di rimuovere i sorgenti del kernel finch� non sei
 sicuro che la tua macchina sia correttamente configurata. Inoltre, ti
 servono i #include del kernel per compilare i programmi in C. Pensaci
 due volte!

 Se decidi di farlo, non rimuovere l'albero include/linux a meno che
 non sia sicuro che non compilerai mai applicazioni sulla tua macchina.


 3.2.  Togliere applicazioni


 Ora, decidi di quali applicazioni hai veramente bisogno. Qualcuna pu�
 dimostrarsi ridondante: per esempio, sei sicuro di non poter vivere
 senza emacs? Puoi utilizzare jed al suo posto.

 Sta a te decidere cosa vuoi tenere. Qualche consiglio generale:

 �  gcc � un pacchetto molto grande. � richiesto per ricompilare il
    kernel e tutte le applicazioni per cui non ci sono binari Linux
    pre-compilati.  � necessario, ovviamente, se scrivi tuoi programmi
    in C o in Fortran (con f2c o g77); considera i tuoi bisogni prima
    di rimuoverlo.  Altri compilatori come lcc sono buoni, ma non al
    livello di gcc.  Ti suggerisco di tenerlo;

 �  X11 � terribilmente grande, ma � una bella cosa da avere. Se decidi
    di non potervi rinunciare, almeno cerca di farlo con il minimo
    indispensabile: solo l'X server giusto, un semplice window manager,
    solo un xterm, nessun font a 100 dpi, e cos� via;

 �  TeX e i pacchetti che lo accompagnano sono veramente molto grandi.
    Lasciar stare il LaTeX e utilizzare il TeX semplice fa risparmiare
    molto spazio; togliere i visualizzatori per X11 come xdvi e
    ghostview � possibile utilizzando dvitty, dvivga e simili.
    L'eliminazione del software dvi per X11 pu� rendere anche X11
    ridondante;

 �  i giochi non sono mai ``necessari''.



 3.3.  Ridurre i binari


 Cominciamo riducendo l'ampiezza dei binari. Spostati in /usr/bin e
 digita il comando



      machine:/usr/bin# strip *




 che toglier� i simboli contenuti nei binari. ripeti questo passo in
 /usr/X11R6/bin/ e altre directory che potresti avere che contenegono
 eseguibili (non dimenticare di trovare i binari di TeX e gcc), ma non
 eseguirlo in /sbin, /bin, o /usr/sbin/ se ti sta a cuore la tua
 installazione!

 3.4.  Comprimere con upx


 Prima di tutto, installa upx e leggi la sua documentazione. Poi
 spostati in /usr/bin e avvialo con il comando upx *; comprimer� tutti
 gli eseguibili, includendo i suid (tcx non lo avrebbe fatto).  Ripeti
 questo passo nelle altre directory come visto sopra.

 Ricordati di comprimere gli eseguibili ogni volta che installi un
 nuovo pacchetto!



 3.5.  Gzippare


 Ci sono molti altri file che possono essere compressi una volta e per
 sempre.  Cominciamo con /usr/doc/; spostati in questa directory e
 digita il comando



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




 Ricorda di comprimere i documenti ogni volta che installi un nuovo
 pacchetto!

 Ripeti questo passo nella directory contenente la documentazione per
 il TeX (sul mio sistema, /usr/lib/texmf/texmf/doc/). Se sei veramente
 sicuro, cancella del tutto queste directory.

 Ora, installa zlibc e compilalo. Se il tuo sistema � come il mio, la
 compilazione fallir� lamentando la mancanza di una libc statica.  Non
 ti preoccupare; troverai un file chiamato uncompress.o che � quello
 che ci serve. Spostalo in /usr/local/lib/ e aggiungi questa linea al
 tuo /etc/profile:



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




 Ora, puoi comprimere con gzip non solo la documentazione, ma anche i
 file di dati: le applicazioni che li usano potranno utilizzarli
 ugualmente.  In teoria, il trucco dovrebbe funzionare con la maggior
 parte delle applicazioni, ma in pratica il tuo grado di successo pu�
 variare. Il mio � stato piuttosto basso.



 4.  Un esempio dalla vita reale


 Questo � il risultato ottenuto applicando i procedimenti di cui sopra
 ad una delle mie macchine.  Prima del trattamento, df riportava
 398.798 blocchi da 1024 byte utilizzati:


 �  non ho rimosso i sorgenti e gli header del kernel;


 �  ho disinstallato molte applicazioni e tutti i giochi, ma ho
    lasciato X11, sviluppo X11, sviluppo C e Fortran, Tcl/Tk, strumenti
    di rete, e poche altre applicazioni standard. df ha riportato
    244.668 blocchi usati;

 �  ho eseguito upx in /usr/bin, /usr/X11R6/bin,
    /usr/lib/texmf/bin/i586-linux, e /usr/lib/gcc-
    lib/i386-linux/2.7.2.1: 226.270 blocchi usati;

 �  ho compresso la documentazione in /usr/doc e
    /usr/lib/texmf/texmf/doc: 198.745 blocchi usati.

 Per riassumere, ho cominciato con 398.798 blocchi e ho finito con
 198.745.  Pensa alle cose che puoi mettere in questi 200.000 blocchi
 risparmiati!  Avrei potuto risparmiarne ancora di pi� se avessi usato
 bzip2 invece di gzip.

 In media, se fai attenzione fin dall'inizio e installi solo le
 applicazioni necessarie, comprimere gli eseguibili e i documenti pu�
 farti liberare alcune decine di Mb. Su un notebook, ci� pu� essere
 veramente utile..



 5.  La fine



 5.1.  Copyright (in inglese)

 Unless otherwise stated, Linux HOWTO documents are copyrighted by
 their respective authors. Linux HOWTO documents may be reproduced and
 distributed in whole or in part, in any medium physical or electronic,
 as long as this copyright notice is retained on all copies. Commercial
 redistribution is allowed and encouraged; however, the author would
 like to be notified of any such distributions.

 All translations, derivative works, or aggregate works incorporating
 any Linux HOWTO documents must be covered under this copyright notice.
 That is, you may not produce a derivative work from a HOWTO and impose
 additional restrictions on its distribution. Exceptions to these rules
 may be granted under certain conditions; please contact the Linux
 HOWTO coordinator at the address given below.

 In short, we wish to promote dissemination of this information through
 as many channels as possible. However, we do wish to retain copyright
 on the HOWTO documents, and would like to be notified of any plans to
 redistribute the HOWTOs.

 If you have questions, please contact Tim Bynum, the Linux HOWTO
 coordinator, at [email protected] via email.


 5.2.  Liberatoria


 ``Saving Space mini-HOWTO'' � stato scritto da Guido Gonzato,
 <[email protected]>.

 Questo documento � fornito ``cos� com'�''. Ho posto grandi sforzi
 nello scriverlo il pi� accuratamente che mi fosse possibile, ma
 utilizzi le informazioni contenute in esso a tuo rischio. In nessun
 caso posso essere responsabile per qualsiasi danno dovuto all'uso di
 questa opera.


 I commenti sono i benvenuti. Per ogni richiesta, suggerimento,
 insulto, ecc., ritieniti libero di contattarmi.

 Goditi Linux e la vita,

 Guido   =8-)