  Saving Space mini-HOWTO
  di Guido Gonzato,  <mailto:guido@ibogeo.df.unibo.it>
  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,  <darkpand@uni.net>
  ______________________________________________________________________

  Indice Generale


  1. Introduzione
  2. Requisiti di sistema
  3. La procedura
     3.1 Rimuovere i sorgenti del kernel
     3.2 Togliere applicazioni
     3.3 Ridurre i binari
     3.4 Comprimere con upx
     3.5 Gzippare

  4. Un esempio dalla vita reale
  5. La fine
     5.1 Copyright (in inglese)
     5.2 Liberatoria


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee


  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2..  RReeqquuiissiittii ddii ssiisstteemmaa


  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3..  LLaa pprroocceedduurraa



  33..11..  RRiimmuuoovveerree ii ssoorrggeennttii ddeell kkeerrnneell


  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.


  _N_o_n 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, _n_o_n rimuovere l'albero include/linux a meno che
  non sia sicuro che non compilerai mai applicazioni sulla tua macchina.


  33..22..  TToogglliieerree aapppplliiccaazziioonnii


  Ora, decidi di quali applicazioni hai _v_e_r_a_m_e_n_t_e 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..33..  RRiidduurrrree ii bbiinnaarrii


  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 _n_o_n
  eseguirlo in /sbin, /bin, o /usr/sbin/ se ti sta a cuore la tua
  installazione!



  33..44..  CCoommpprriimmeerree ccoonn uuppxx


  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3..55..  GGzziippppaarree


  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 _v_e_r_a_m_e_n_t_e
  _s_i_c_u_r_o, 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4..  UUnn eesseemmppiioo ddaallllaa vviittaa rreeaallee


  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5..  LLaa ffiinnee



  55..11..  CCooppyyrriigghhtt ((iinn iinngglleessee))

  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 tjbinum@sunsite.unc.edu via email.


  55..22..  LLiibbeerraattoorriiaa


  ``Saving Space mini-HOWTO''  stato scritto da Guido Gonzato,
  <REMOVE_MEguido@ibogeo.df.unibo.it>.

  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-)



