<!DOCTYPE ARTICLE PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<article id="SmallMemory" lang="it"> 
	<articleinfo> 
		<title>Small Memory mini-HOWTO</title> 
		<author> 
			<firstname>Todd</firstname> 
			<surname>Burgess</surname> 
			<affiliation> 
				<address> <email>tburgess@uoguelph.ca</email> </address>
			</affiliation> 
		</author> 
		<abstract> 

			<para>Descrive come eseguire Linux su un sistema con
			un piccolo quantitativo di memoria. Traduzione a
			cura di pctips
			&lt;pctips@TOGLIMI.hardwaretips.com&gt; e revisione
			a cura di Claudio Cattazzo
			&lt;claudio@TOGLIMI.pluto.linux.it&gt;.</para>

		</abstract> 
		<pubdate>2000-12-12</pubdate> 
		<revhistory> 
			<revision> 
				<revnumber>0.1</revnumber> 
				<date>2000-12-01</date> 
				<authorinitials>tb</authorinitials> 
			</revision> 
		</revhistory> 
	</articleinfo> 
	<sect1 ID="Introduzione"> 
		<title>Introduzione</title> 
		<para>Assumendo che comprare ulteriore memoria sia fuori
		luogo, ci sono molte cose che si possono fare per
		ottimizzare l'utilizzo della memoria sotto Linux.</para>
		<para>Molte distribuzioni Linux sono sprecone da questo
		punto di vista. Eseguono pi&ugrave; servizi e offrono
		pi&ugrave funzionalit&agrave; di quelle che serviranno mai
		alla maggior parte di noi. Rimuovendo molti di questi
		servizi si potranno liberare importanti megabyte di memoria
		reale.</para>
		<para>Il mio sistema &egrave; un 486DX2-66 con 12MB di memoria
		fisica e 12 MB di spazio swap. Ha fatto funzionare Linux
		piuttosto felicemente negli ultimi tre anni e spero che lo
		far&ograve; girare per molti altri anni ancora :)</para>
	</sect1> 
	<sect1 id="LinuxKernel"> 
		<title>Il kernel Linux</title> 
		<para>Tutti i kernel Linux presenti nelle distribuzioni sono
		piuttosto abbondanti e contengono pi&ugrave;
		funzionalit&agrave; di quelle che chiunque tra noi
		richieder&agrave; o user&agrave; mai. Se non si &egrave;
		ricompilato un proprio kernel si consiglia altamente di
		farlo. Come ricompilare un kernel &egrave; fuori dallo scopo
		di questo documento, ma molti libri e guide eccellenti per
		Linux coprono questo argomento nei minimi dettagli.</para>
		<para>Se si ricompila il kernel ci si ricordi di non
		inserirvi pi&ugrave; funzionalit&agrave; di quelle
		necessarie. Per esempio: quanti includono il supporto PLIP
		nel kernel? Quanti lo usano realmente? Kernel pi&ugrave;
		piccoli richiedono meno tempo per caricarsi, usano meno
		memoria e occupano meno cicli di CPU.</para>
		<para>Un'altra cosa sono i moduli. Personalmente non li uso
		perché li trovo ingombranti. Se si usano e si gradiscono
		possono aiutare ad alleggerire "l'abbondanza dei
		kernel".</para>
	</sect1> 
	<sect1 id="VConsoles"> 
		<title>Le console virtuali</title> 

		<para>Le console virtuali [NdT: o VC, dall'inglese Virtual
		Consoles] sono una buona maniera per liberare memoria. La
		maggior parte delle distribuzioni Linux ne usa all'incirca
		sei. In media eseguire 6 VC richiede circa 4MB di memoria.
		Rimuovendone un paio &egrave; possibile liberare un paio di
		MB di memoria. La maggior parte degli utenti usa solo 3 o 4
		VC. Quante eliminarne &egrave; una scelta strettamente
		personale. Ci si ricordi solo che meno se ne eseguono
		pi&ugrave; memoria avranno le proprie applicazioni per
		lavorare.</para>
		<para>Il file che stabilisce quante VC vengono caricate
		&egrave; <filename>/etc/inittab</filename>. Per rimuovere
		delle VC:</para>
		<orderedlist> 
			<listitem>
				<para>Aprire
				<filename>/etc/inittab</filename> con un
				editor di testo.</para>
			</listitem> 
			<listitem> 
				<para>Cercare una riga che somigli alla
				seguente (la caratteristica chiave &egrave;
				una riga che inizi per c1): </para>
				<programlisting>c1:12345:respawn:/sbin/getty tty1 38400 linux</programlisting> 
				<para>Iniziare dal numero pi&ugrave; grande
				(p.e. c6) e commentarlo inserendo un '#'
				nella prima colonna. Ripetere questo
				passaggio quante volte si vuole. Ci si
				ricordi che ogni riga commentata equivale ad
				una VC in meno.</para>
			</listitem> 
			<listitem> 
				<para>Riavviare il sistema affinch&eacute;
				le modifiche abbiano effetto.</para>
			</listitem> 
		</orderedlist> 
	</sect1> 
	<sect1 ID="Demoni"> 
		<title>Demoni</title> 
		<para>Molte distribuzioni Linux avviano demoni che la
		maggior parte di noi non user&agrave; mai. Molti di questi
		demoni sono caricati attraverso degli script. Dove sono e
		come sono chiamati dipende dalla distribuzione Linux.  Nella
		configurazione di Slackware questi script sono contenuti in
		<filename>/etc/rc.d/rc.*</filename>.</para>
		<para>Prima di iniziare, una conoscenza della programmazione
		degli script di shell in Unix sarebbe una solida base. 
		Comunque, se non si ha esperienza nello scrivere script di
		shell per Unix, quella che segue probabilmente &egrave; la
		pi&ugrave; breve introduzione alla programmazione di script
		di shell mai scritta.</para>
		<para>Si osservi questo script di shell:</para>
<programlisting>
#!/bin/sh
echo "ciao mondo" 
#echo "addio mondo crudele"
</programlisting> 
		<para>Questo codice mostrer&agrave; la stringa "ciao mondo".
		Gli script di shell devono contenere la riga
		<programlisting>#!/bin/sh</programlisting> come prima riga. 
		Dopo questo viene eseguita ogni riga come se fosse stata
		scritta alla tastiera (si pensi agli script di shell come a
		nulla pi&ugrave; che delle macro da tastiera).</para>
		<para>Le righe che iniziano con un '#' sono usate per
		commenti poich&eacute; non sono eseguite dalla shell. La
		maggior parte degli script di avvio che caricano demoni
		&egrave; pi&ugrave; o meno cos&igrave;:</para>
<programlisting>
if condizione
do operazione
fi
</programlisting> 
		<para>Quello che si dovrebbe fare &egrave; commentare ogni
		riga inziante con <programlisting>if</programlisting> e
		terminante con <programlisting>fi</programlisting></para>
		<para>Se si vuole vedere da dove viene caricato un demone,
		quello che si deve fare &egrave; cercare gli script di avvio
		con il suo nome. Se si vuole cercare dove si trova
		<application>inetd</application> in Slackware si deve
		eseguire ci&ograve; che segue:
		<screen>$ cd /edt/rc/d $grep -n inetd rd.*</screen></para> 
		<sect2> 
			<title><application>inetd</application></title>
			<para><application>inetd</application> permette di
			utilizzare strumenti come <command>telnet</command>,
			<command>ftp</command> ed inviare richieste di tipo
			<command>talk</command> alla propria macchina. Se
			non si usa mai il proprio sistema come server o non
			si deve accedere a nessuno di questi servizi
			remotamente, si pu&ograve; rimuovere
			<application>inetd</application>.</para>
		</sect2> 
		<sect2> 
			<title><application>lpd</application></title> 
			<para><application>lpd</application> permette di
			stampare file con la propria stampante utilizzando
			il comando <command>lpr</command>. Se non si stampa
			mai sulla propria macchina Linux si pu&ograve;
			rimuovere <application>lpd</application>. Comunque,
			se si ha una stampante HP Deskjet &trade; e si vuole
			stampare, consiglio il pacchetto dj-printcap che ho
			pubblicato e che &egrave; disponibile su</para>
			<para> 
				<ulink
				 URL="ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm">ftp://sunsite.unc.edu/pub/Linux/system/Printing/dj-printcap.tar.gz</ulink>
				</para> 
		</sect2> 
		<sect2> 
			<title><application>nfsd</application> e
			<application>mountd</application></title>
			<para>Questi due demoni sono usati per eseguire un
			server NFS. Se non si usa il proprio sistema Linux
			come server NFS si possono tranquillamente
			rimuovere.</para>
		</sect2> 
		<sect2> 
			<title><application>portmap</application></title>
			<para>Il demone <application>portmap</application>
			&egrave; usato per gestire servizi RPC. Se non
			si esegue un server NFS o nessun altro programma RPC
			si pu&ograve; rimuovere
			<application>portmap</application>.</para>
		</sect2> 
		<sect2> 
			<title><application>sendmail</application></title>
			<para><application>sendmail</application> &egrave;
			un altro demone che richiede una discreta
			quantit&agrave; di memoria. Se non si usa mai la
			propria macchina Linux come server per mandare
			e-mail o non se ne riceve, probabilmente si
			pu&ograve; rimuovere
			<application>sendmail</application>. Se si mandano
			e-mail dalla propria macchina Linux, la maggior
			parte dei client pu&ograve; essere configurata per
			inviare e-mail da un altro server di posta.</para>
		</sect2> 
		<sect2> 
			<title>altri</title>

			<para>Ci possono essere molti altri demoni che il proprio
			sistema avvia di cui non si ha bisogno. Si rimuova
			quello che si vuole. I due demoni che devono essere
			eseguiti per forza sono
			<application>syslogd</application> e
			<application>klogd</application>.</para>

		</sect2> 
	</sect1> 
	<sect1 ID="Conclusione"> 
		<title>Conclusione</title> 
		<para>La precedente discussione mostra i passaggi che ho
		svolto per ottimizzare l'utilizzo della memoria sulla mia
		macchina Linux. Ho illustrato alcune tecniche che potete
		usare sulla vostra macchina Linux per conservare memoria.
		Buona fortuna e "happy hacking"!</para>
	</sect1>
</article>

