1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
|
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>
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 tjbinum@sunsite.unc.edu via email.
5.2. Liberatoria
``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-)
|