<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gulli - Nozioni Basiche su Linux - 01</title>
        <meta http-equiv="Content-Language" content="it">
        <meta http-equiv="Content-Type" content="text/html; CHARSET=UTF-8">
        <meta name="Subject" content="Nozioni Basiche su Linux">
        <meta name="Summary" content="appunti dell'incontro sulle nozioni basiche di Linux">
        <meta name="keywords" content="">
        <meta name="author" content="roatta">
        <meta name="date" content="08 OCT 2005">
        <meta name="modified" content="08 OCT 2005">
</head>
<body marginheight="20" marginwidth="20" style="text-align: justify; font-family: verdana, sans-serif;
font-size: 14px;">
<hr>
<table bgcolor="#cccccc" width="100%">
<tbody>
<tr>
<td> <a href="../index.html">indice principale</a></td>
<td style="text-align: right;"><a href="./index.html">indice locale</a> </td>
</tr>
</tbody>
</table>
<hr>
<p>
</p><h3>Nozioni Basiche su Linux</h3>
<font color="red">
<h2>Parte Prima: orientamento sul Desktop</h2>
</font>
<hr>
<p>
<b>Premessa: </b>Sono di seguito presentate le nozioni affrontate nel corso del primo incontro per neofiti Linux, tenuto dal Gulli nella serata del Giovedì 6 Ottobre 2005.
<br>
L'elenco degli argomenti trattati è il seguente:
<p><ol>
<p><li><b>
Il PC: un approccio a strati
</b><p>
Il calcolatore dove operiamo è caratterizzato da una <u>architettura</u> particolare, a seconda del processore intorno al quale è costruito: si avranno così sistemi x86 (tipo i tradizionali PC), PowerPC (come gli ultimi Apple), ARM (tipico dei <a href="#PDA">PDA</a>), etc.
<br>
Altre caratteristiche hardware sono, ad esempio, tutte le periferiche che permettono la gestione dei dati: scheda grafica, seriali, etc.
<br>
Sarebbe impossibile, per chi produce programmi applicativi (es: un browser web, come Mozilla), personalizzare il prodotto per ogni modello possibile di computer; molto meglio costruire un applicativo unico, che riesca ad inviare ordini standard ed a ricevere informazioni standard, appoggiandosi su una interfaccia "universale", a prescindere dall'hardware che è disponibile sulla macchina.
<br>
Tale interfaccia è il <u>sistema operativo</u>
<center><table border=1 width=200>
<tr bgcolor="green"><td align=center>pacchetto<br>applicativo<br>1</td>
<td bgcolor="yellow" align=center>pacchetto<br>applicativo<br>2</td>
<td bgcolor="white" align=center>pacchetto<br>applicativo<br>3</td></tr>
<tr bgcolor="red"><td colspan=3 align=center> sistema operativo </td></tr>
<tr bgcolor="blue"><td colspan=3 align=center> hardware </td></tr>
<caption><i>modello a strati del calcolatore</i><p></caption>
</table></center>
<p>
Il singolo pacchetto applicativo sarà quindi funzionante perchè il sistema operativo a cui si rivolge si prenderà cura di fornirgli l'ambiente di lavoro atteso. Se il pacchetto viene però spostato su un altro sistema operativo, a meno di trucchi tecnici particolari (tipo: emulazioni), il funzionamento non è più garantito. Si veda, ad esempio, il problema di migrare sotto Linux delle <u>applicazioni</u> costruite invece per altre piattaforme commerciali (cfr. Photoshop). Meglio disporre allora di programmi che siano forniti in diverse versioni, per i diversi sistemi operativi (cfr. Mozilla, OpenOffice.org, Gimp, etc.).
<br>
Diverso invece il caso dei <u>dati</u>: sono indipendenti dal sistema operativo, perchè vengono elaborati dagli applicativi, direttamente. Possono quindi essere anche portati con successo su differenti piattaforme, e se la loro codifica (<u>formato</u>) è conosciuta, possono anche essere compresi e modificati da altri applicativi, oltre quelli originari. E' il caso, ad esempio, del formato XML aperto, che si sta imponendo nei documenti: lo useranno la suite d'ufficio OpenOffice.org, Kword, Wordperfect ed altri.
<p><li><b>
L'Hard Disk ed il suo <i>affettamento</i>
</b><p>
Se intendiamo sistemare più sistemi operativi su un hard disk, sarà normalmente necessario separarli in diversi aree separate del disco, perchè non è facile la "coabitazione". Tali aree si chiamano <u>partizioni</u> e, agli albori dell'era del PC, potevano essere <i>al massimo quattro</i> su uno stesso disco (partizioni <u>primarie</u>).
<br>
Con il progredire della tecnica, gli hard disk passano dai pochi megabyte alle centinaia di gigabyte di oggi (un fattore 100'000 in vent'anni!). L'esigenza di disporre di più partizioni, mantenendo comunque l'impostazione originaria per non perdere la compatibilità hardware tra le macchine, ha comportato la definizioni di "sottopartizioni" (dette <u>logiche</u>) all'interno di una "partizione primaria madre" (chiamata <u>estesa</u>).
<p>
In sintesi, ora si può definire, sull'hard disk:
<ul>
<li>fino ad un massimo di quattro partizioni vere e proprie (primarie)
<li>se servono altre partizioni, una delle primarie può essere sottopartizionata (estesa)
<li>le successive sottopartizioni (logiche) vengono poste all'interno dell'estesa
</ul>
<p>
Per studiare la tabella di partizioni di un hard disk dovremo utilizzare dei "comandi riservati" che il normale utente non può impiegare, dei comandi che sono a disposizione del solo amministratore (<tt>root</tt>). Sarà quindi utile assumere l'identità dell'utente root, digitando su <a href="#consolle">consolle</a> il comando <u>su</u> e fornendo, appena richiesta, la password dell'amministratore. Con la nuova identità, appena acquisita, potremo allora sfruttare completamente il comando <b>fdisk</b>.
<br>
Proviamo da una <u>consolle</u> a richiedere il comando, specificando come argomento il <i>device</i> (periferica) a cui applicarlo:
<p><center>
<table bgcolor=gray border=1 cellspacing=0 cellpadding=10>
<td>
        <font color=white>root@localhost # </font>fdisk /dev/hda
        <br>
        <font color=white>root@localhost #
<pre>
Disk /dev/hda: 40.0 GB, 40007761920 bytes
240 heads, 63 sectors/track, 5168 cylinders
Units = cilindri of 15120 * 512 = 7741440 bytes
Dispositivo Boot Start End Blocks Id System
/dev/hda1 * 1 1248 9434848+ 7 HPFS/NTFS
/dev/hda2 4552 5168 4664520 12 Diagnostica Compaq
/dev/hda3 1249 1329 612360 82 Linux swap / Solaris
/dev/hda4 1330 4551 24358320 f W95 Ext'd (LBA)
/dev/hda5 1330 1349 151168+ 83 Linux
/dev/hda6 1350 2125 5866528+ 83 Linux
/dev/hda7 2126 2384 1958008+ 83 Linux
/dev/hda8 2385 2966 4399888+ 83 Linux
/dev/hda9 2967 3032 498928+ 83 Linux
/dev/hda10 3033 3614 4399888+ 83 Linux
/dev/hda11 3615 3680 498928+ c W95 FAT32 (LBA)
/dev/hda12 3681 4551 6584728+ 83 Linux
</pre>
</td>
</table></center>
<p>
Noteremo le seguenti particolarità:
<ul>
<li>nella prima colonna: il <u>device</u> (periferica), rappresentata da una partizione;
<li>nella colonna <tt>Start</tt> e <tt>End</tt> i cilindi che limitano ciascuna partizione;
<li>nella colonna <tt>Blocks</tt> la dimensione di ogni partizioni, espressa in KB;
<li>nella colonna <tt>System</tt>, il <a href="#filesystem">file system</a> impiegato.
</ul>
<p>
Si noti come, in particolare, la partizione estesa sia la <tt>/dev/hda4</tt>; lo si verifica anche dagli estremi Start-End, che comprendono tutte le partizioni logiche successive. Su Linux, le partizioni primarie sono caratterizzate da un numero inferiore a 5; le partizioni logiche, da un numero maggiore di 4.
<p>
Come ultima osservazione sulle partizioni, si rimarca come gli hard disk EIDE (quelli comuni sui PC) siano caratterizzati dalla sigla <tt>hd</tt>, seguita quindi da una lettera che indica il particolare HD, ed un numero crescente che identifica, sul particolare HD Eide, la partizione: <tt>dev/hda4</tt> è quindi la 4^ partizione sul primo hard disk eide.
<br>
In modo analogo, un dispositivo SCSI avrebbe avuto, come prime due lettere, un <tt>sc</tt>; la periferica <tt>/dev/scb3</tt> è la partizione nr. 3 del secondo dispositivo scsi.
<p><li><b>
L'Albero delle Directory
</b><p>
Dopo aver esaminato la parte hardware, passiamo all'organizzazione logica dei file nel nostro sistema Linux. Ponendoci sulla <u>directory radice</u> (rappresentata con "/"), verifichiamo alcune delle più importanti directory di primo livello:
<center><table border=1>
        <tr><th valign=top rowspan=12> / </th><td colspan=2> </td></tr>
        <tr><th> /bin </th><td>file eseguibili (<i>BINaries</i>) </td></tr>
        <tr><th> /boot </th><td> zona con i kernel per il boot</td></tr>
        <tr><th> /dev </th><td> driver per le periferiche (<i>DEVice drivers</i> = periferica) </td></tr>
        <tr><th> /etc </th><td> file di configurazione </td></tr>
        <tr><th> /home </th><td> area degli utenti, con i loro dati (<i>HOME</i>) </td></tr>
        <tr><th> /mnt </th><td> area per il "montaggio" di periferiche (<i>MouNTing area</i>) </td></tr>
        <tr><th> /opt </th><td> programmi applicativi, extra s.o. (<i>OPTional programs</i>) </td></tr>
        <tr><th> /sbin </th><td> file eseguibili da root (<i>Superuser BINaries</i>) </td></tr>
        <tr><th> /tmp </th><td> file temporanei (<i>TeMPorary</i>) </td></tr>
        <tr><th> /usr </th><td> programmi applicativi, extra s.o. (<i>USeR programs</i>) </td></tr>
        <tr><th> /var </th><td> file di sistema con contenuto variabile, quali i log (<i>VARiable</i>) </td></tr>
</table></center>
<p>
Il normale utente <tt>pippo</tt> sarà vincolato a mantenere i propri dati nella propria directory posta a sua volta all'interno di <tt>home</tt>, tipicamente nella cartella <tt>/home/pippo</tt>.
<p><li><b>
Associazione tra Periferiche hw e Directory sw
</b><p>
Ci sono periferiche che devono essere "aggregate" in modo dinamico all'albero delle directory, affinchè il loro contenuto venga reso disponibile in una cartella. Si pensi, ad esempio, ad una chiavetta USB che, inserita nel PC, deve offrire il proprio contenuto, fintantochè non venga riestratta.
<br>
Tale operazione di aggregamento si chiama <u>montaggio</u>, ed è effettuata con il comando <b><tt>mount</tt></b> (così come, lo smontaggio, sfrutta <tt>umount</tt>).
<br>
Nel comando <tt>mount</tt> occorrerà specificare due argomenti: la periferica hardware, ed il punto dell'albero in cui esibirne il contenuto (<i>mounting point</i>). Per un Floppy, il cui <tt>device driver</tt> è <tt>/dev/fd0</tt>, possiamo ad esempio scegliere il montaggio sotto la directory <tt>/media/floppy</tt>; daremo allora il comando:
<pre>
<b>mount -v -o ro /dev/fd0 /media/floppy</b>
</pre>
Dove, prima dei due argomenti citati, avremo sistemato le opzioni che, in Linux, si contraddistinguono con il <u>tek</u> (quando espresse sinteticamente) od il doppio-tek (quando espresse con parole estese).
<br>
L'opzione "-v" indica che si desidera avere un feedback <i>verbousely</i>, ovvero prolisso, mentre l'opzione "-o" specifica dettagli facoltativi, come nel nostro caso la sola lettura (<tt>ro</tt> significa <i>read-only</i>).
<p>
Prima di disinserire il floppy, dovremo smontarlo con il comando <tt>umount</tt> che, dovendo sciogliere un'aggregazione tra un <i>device driver</i> ed un <i>mounting point</i>, potrà ricevere uno solo dei due parametri, indifferentemente, non avendo ambiguità.
</ol>
<hr><p>
<p><center>
<table width=80% cellpadding=8 cellspacing=0 valign=top border=1>
<caption><b>Glossario</b></caption>
<tr><th>nome</th><th>sigla</th><th>significato</th></tr>
<tr>
<td><a name="s.o.">sistema operativo</a></td>
<td>s.o.</td>
<td>strato software che, posto tra hardware e programmi applicativi, consente di presentare verso questi un'interfaccia standard, a prescindere dalla particolare struttura fisica della macchina</td>
</tr>
<tr>
<td><a name="PDA">Portable Digital Assistant</a></td>
<td>PDA</td>
<td>computerino tascabile, tipicamente provvisto di grande schermo e "matita" per inserire i dati scrivendoci. Cfr i Palm</td>
<tr>
<tr>
<td><a name="consolle">consolle</a></td>
<td> </td>
<td>chiamata anche <i>shell</i>, è la "linea di comando" sulla quale digitare da tastiera i comandi linux. Sotto KDE, si può richiamare dal menù o, tramite ALT-F2, con il comando <tt>konsole</tt></td>
<tr>
<tr>
<td><a name="KDE">Desktop Environment</a></td>
<td> </td>
<td>L'<i>Ambiente Desktop</i> è lo "strato grafico" che viene offerto all'utente che, tra icone e menù trova un ambiente di lavoro più intuitivo della potente <a href="#consolle">consolle</a>. Tra gli A.D., importante in Europa è KDE, mentre Gnome è più diffuso negli SUA</td>
<tr>
<tr>
<td><a name="filesystem">File System</a></td>
<td> </td>
<td>metodo di organizzazione dello spazio di una memoria di massa (es: partizione HD), dove si costruisce una struttura per accogliere i file in modo ordinato e reperibile; un Floppy di 2MB di spazio grezzo, formattato con il File System del DOS, manterrà 1.4 MB di spazio libero, a fronte di 600 KB impiegati per "strutturarlo"</td>
<tr>
<!--
<tr>
<td><a name=""></a></td>
<td></td>
<td></td>
<tr>
-->
</table></center>
<p>
<hr>
<table bgcolor="#cccccc" width="100%">
<tbody>
<tr>
<td> <a href="../index.html">indice principale</a></td>
<td style="text-align: right;"><a href="./index.html">indice locale</a> </td>
</tr>
</tbody>
</table>
<hr>
</body></html>