INDICE
Introduzione
Linux
nasce nel 1990 come progetto personale di LINUS TORVALDS, all’epoca uno studente all’università
di Helsinki in Finlandia per sviluppare un sistema operativo
simile a UNIX (un clone,come si suol dire).
In quell’epoca esisteva già un
sistema operativo Unix per PC, chiamato Minix, realizzato dal prof.
A NDREW TANENBAUM, ma questo sistema poteva essere usato,
modificato e distribuito solo per fini didattici.
La cosa garbava poco a Linus
che, dopo accese discussioni con il professore, decise di staccarsi da
Minix e produrre un sistema autonomo Linux appunto.
Dopo molto lavoro, la prima
versione di Linux fu annunciata al mondo il 5 ottobre 1991.
L’idea geniale che rende Linux
unico nel suo genere è l’uso della licenza GNU, che ha portato alle
seguenti conseguenze:
• Linux non è rimasto il
progetto personale di una persona; in breve tempo ha coinvolto un numero
enorme di programmatori, unito
dal fatto che si trattava di un
progetto libero.
• Il sistema operativo può
essere utilizzato da chiunque, installato su un numero qualsiasi di
macchine, modificato e adattato
alle singole necessità, con conseguente abbassamento dei costi.
• Linux non è di proprietà di
nessuno, ma è un po’ un patrimonio dell’umanità. È anche il primo
prodotto informatico di un certo spessore che non sia stato realizzato
prevalentemente negli USA (allo
sviluppo del kernel lavorano pariteticamente persone di una decina di nazioni).
• La velocità di sviluppo di
Linux è stata fenomenale inizialmente,
ed è tuttora molto rapida:
viene fornita una revisione
completa ogni 23 anni e una nuovo aggiornamento ogni 23 mesi.
• Linux ha un simpatico logo,
quello del pinguino Tux.
Versioni di Linux
Linux è per sua natura soggetto a continue evoluzioni, ed è opportuno sapere che versione si sta usando.
Come la maggior parte del software, Linux è accompagnato da un numero di versione, per esempio 2.6.8.
Il primo numero è detto versione maggiore e da diversi anni è sempre 2.
Cambia quando si introducono differenze radicali.
Il secondo numero è detto versione minore.
Si tratta di un numero progressivo che segnala la presenza di qualche nuova funzionalità pur mantenendo compatibilità con le versioni precedenti.
Se il numero è pari vuol dire che si tratta di una versione stabile, se dispari indica una versione instabile o di lavoro.
La versione 2.6 del kernel (attuale) è stata rilasciata all’inizio del 2004.
Il terzo numero è detto bugfix (ovvero correzione di errore).
Si tratta di un valore che segnala la correzione di qualche piccolo errore rilevato nella versione precedente o l’aggiunta di un driver,
lasciando immutato tutto il resto.
Principali distribuzioni di Linux
Le principali distribuzioni sono:
|
Fedora
|
Mandrivia
|
Suse
|
Knoppix
|
Ubuntu
|
Linspire
|
Versione
|
core 4 |
LE 2005 |
9.3
|
4.0 |
hoary |
5.0 |
Data |
06/2005 |
04/2005 |
04/2005 |
08/2005 |
04/2005 |
03/2005 |
Vers. Gratis |
SI
|
SI
|
Parz.
|
SI
|
SI
|
Live
|
Vers. Commerciale |
RHEL
|
SI
|
SI
|
NO
|
NO
|
SI
|
Formato Pacchetti |
RPM
|
RPM
|
RPM
|
DEB
|
DEB
|
DEB
|
DeskTop |
Gnome
|
Kde |
Kde |
Kde |
Gnome |
Kde
|
Kernel
|
2.6.11 |
2.6.11 |
2.6.11 |
2.6.12.4 |
2.6.10 |
2.6.10 |
Red Hat/Fedora
Se chiedete a qualcuno di fare il nome una distribuzione, probabilmente vi parlerà di Red Hat, la ditta probabilmente più di successo del campo Linux.
Negli ultimi anni RedHat ha differenziato le sue proposte ed offre una versione detta Fedora, che è una distribuzione gratuita, ad
ampio spettro, supportata e sviluppata dalla comunità del software libero e che viene rinnovata 23 volte l’anno, e la versione Red
Hat Enterprise, rivolta alle aziende e piuttosto costosa.
Red Hat/Fedora è complessivamente la distribuzione più diffusa ed è quindi facile trovare software pronto per questa
piattaforma; è pure rinomata per l’ottimo riconoscimento hardware.
Per contro la gestione del multimedia è un po’ difficoltosa e mancano strumenti evoluti di configurazione.
Sito: http://fedora.redhat.com
Mandriva/Mandrake
Mandriva è la distribuzione francese che ha di recente acquisito la brasiliana Conectiva e l’americana Lycoris.
È esplicitamente diretta agli utenti privati, con l’intento di essere di facile uso, specie per quanti abbiano poca (o nessuna
dimestichezza) con l’ambiente UNIX.
Si tratta di un sistema sempre all’avanguardia, spiccatamente orientato al multimedia ed ha una comunità molto attiva.
Esiste anche in versione live, la MandrakeMove.
Sul lato dei problemi, c’è chi segnala una certa instabilità in alcuni programmi.
Sito: http://www.linuxmandrake.com
SuSE
S.u.S.E è una ditta tedesca, acquisita di recente da Novell, che produce da molto tempo una distribuzione di grande successo (la
più diffusa in Germania).
SuSE è una distribuzione molto versatile, con aspetti adatti tanto al privato quanto all’utenza professionale.
Offre un’ ottima documentazione, semplifica enormemente la gestione del sistema tramite il suo programma di installazione/gestione tuttofare YaST.
Purtroppo la versione gratuita del sistema è un po’ limitata rispetto alla completa, e si evidenziano alcuni problemi relativi alla multimedialità.
Sito: http://www.suse.it
Knoppix
Knoppix, sviluppato in Germania da K LAUS K NOPPER, è il capostipite delle distribuzioni “Live”, cioé quelle che non si
installano, ma si limitano a partire da CD senza modificare il disco fisso.
È derivata dalla distribuzione Debian, di difficile uso da parte dei neofiti, e vi aggiunge alcune funzionalità particolari come
l’autoconfigurazione.
È molto utilizzato come sistema dimostrativo o di emergenza (anche per ’salvare’ dati di installazioni Windows!).
È anche possibile (anche se non semplicissimo) personalizzare il sistema e installarlo normalmente. Naturalmente, se eseguito da CD
è piuttosto lento, e le modifiche al sistema risultano difficili.
Sito: http://www.knopper.net/knoppix
Ubuntu
Ubuntu
(che significa “Umanità per gli altri”) nasce dalla necessità di
offrire un ’volto umano’ all’ottima distribuzione Debian, con la quale
condivide obiettivi di fondo e molto codice.
Nata soltanto nel 2004, si è
diffusa specialmente al di fuori degli Stati Uniti poiché dotata di un
elevato numero di programmi tradotti in lingue nazionali.
Ad oggi ha sorpassato come installazioni Fedora.
Si tratta di una distro solida e con ottimi strumenti di configurazione.
Esiste anche la sorella Kubuntu che usa Kde come desktop predefinito.
Sito: http://www.ubuntulinux.org
Linspire
Linspire
è stato il primo tentativo, e per ora quello con maggiore successo, di
proporre un sistema Linux su computer freschi di
fabbrica.
La cosa ha avuto particolare risonanza negli USA, dove sono stati messi in vendita con buon successo computer a $199; da
luglio 2004 è possibile farlo anche in Italia (tramite Questar).
Vuole offrire un’esperienza
d’uso il più possibile simile a Windows, offrendo in più un sistema
semplificato di gestione e installazione pacchetti online.
I problemi si possono
riscontrare nella limitata offerta iniziale di software e la necessità
di rinnovare il canone di abbonamento per l’aggiornamento del software.
Sito: http://www.linspire.com e http://www.questar.it
Altre distribuzioni
Se cercate davvero un confronto completo e ragionato tra tutte le distribuzioni, visitate il sito Distrowatch
http://www.distrowatch.com da poco il sito è anche parzialmente in Italiano!
Ulteriori documentazioni
In linea di massima ogni distribuzione fornisce documentazioni accurate sull’installazione, per cui vi rimando ai siti specifici.
Interfacce grafiche
Tatiera e Caratteri Speciali
AltGr+7 ci genera il simbolo: {
AltGr+0 ci genera il simbolo: }
AltGr+ì ci genera il simbolo: ~
Tipica struttura delle Directory di Linux
/
È la radice dell’albero dei file, e non per nulla si chiama, per l’appunto, directory radice o root directory (da non confondere con l’utente root!).
È la base del sistema, e deve sempre esistere.
Di solito non contiene file, ma solo altre importanti cartelle.
/bin
Qui si trovano i comandi base utilizzati all’avvio del sistema. Si tratta di programmi non grafici.
/sbin
Qui troverete i comandi per la gestione del sistema, di solito utilizzati dall’utente root. Gli utenti normali non possono ( e non devono) entrarvi.
/dev
Qui si trovano i vari dispositivi: i dischi rigidi, le stampanti, il modem, ecc..
/etc
Qui troverete i file per la configurazione del sistema.
/home
Qui ci sono tutte le cartelle personali (home directory) degli utenti a ciascuno la propria.
/lib
Qui vi sono librerie condivise dai programmi.
/tmp
File temporanei, eliminati automaticamente quando occorre spazio su disco.
/mnt
Qui si trovano, in genere, tutte le risorse esterne, come i floppy disk, i CDRom e i dischetti zip.
Alcune distribuzioni usano la cartella /media.
/usr
È la directory che contiene gran parte dei programmi esistenti nel sistema e per questo motivo ha dimensioni superiori alle directory precedentemente esaminate.
La maggior parte dei programmi grafici è qui, nella cartella /usr/X11R6, mentre la documentazione si trova sotto /usr/doc o /usr/share/doc.
/opt
Pacchetti opzionali, programmi commerciali, tutti non essenziali per il sistema.
/root
Cartella personale dell’amministratore del sistema.
Come si intuisce, non avete libertà assoluta di posizionare i file, dato che molte di queste directory sono di sola lettura per l’utente normale: in generale i vostri file vanno tutti posizionati nella vostra Cartella personale.
Le mille interfacce del Pinguino
Nel mondo
Linux, dove la pluralità è un cavallo di battaglia di tutti, è lecito
aspettarsi una grande varietà di interfacce grafiche.
Non sarete delusi, ce ne saranno almeno una ventina!
Ma per fortuna, le due principali, ovvero Gnome e KDE, sono talmente diffuse da essere presenti in tutte le distribuzioni.
Accenneremo però anche alle interfacce più leggere e perfino alla CLI!
Per la verità, mentre nei sistemi operativi commerciali l’interfaccia
grafica è un “blocco unico”, nel caso di Linux troviamo che sono
diversi i programmi che in qualche modo collaborano fra loro per
realizzare le funzionalità richieste.
Specificamente:
XWindows
Si tratta di un programma che si occupa della gestione della scheda video (e dei suoi drivers), del mouse e della tastiera.
Window Manager
È il programma che si occupa delle finestre, del loro spostamento, e di quanto è loro collegato.
Desktop Manager
È il programma che si occupa dell’aspetto generale dell’ambiente di lavoro, le icone, l’uso della superfice di lavoro, come lanciare i programmi eccetera.
Con l’eccezione del primo, tutti i componenti citati sono opzionali e intercambiabili, un ulteriore elemento di flessibilità dell’ambiente.
KDE (versione 3)
Quando Linux
iniziò a uscire dall’ambiente dei programmatori che lo avevano creato,
fu facile notare che il sistema non disponeva di una modalità di
interfaccia utente che fosse intuitiva e facile da usare.
Mancava, quindi, uno strumento che nascondesse le complessità del
sistema e permettesse l’uso del calcolatore anche a chi non aveva un
paio di lauree nel cassetto.
Fu così che nacque il progetto KDE http://www.kde.org , o K Desktop Environment.
I progettisti di KDE non scrissero tutto da zero ma si appoggiarono
alle librerie grafiche della Troll Tech http://www.troll.no, una
piccola ditta norvegese.
Così facendo si attirarono le ire dei “puristi” dell’Open Source, anche se questa situazione è ora superata.
KDE è un sistema maturo, dotato di un gran numero di applicazioni.
In definitiva, quindi, KDE è un Interfaccia Grafica Utente (ing.
Graphical User Interface o GUI) che, unita ad altri programmi, vi
permette di utilizzare in modo semplice il calcolatore.
Il sistema offre la gestione di tutte le funzioni elementari per
utilizzare il calcolatore: finestre, lancio programmi e loro
interazione, gestione file, configurazione centralizzata e traduzione
automatica dell’applicazione nelle lingue locali.
KDE è un sistema “monolitico” estremamente integrato, dotato anche del
proprio gestore di finestre (Kwin) e di login (Kdm) e si ispira,
neppure troppo velatamente, all’interfaccia grafica di Windows.
Ah, il “K” in KDE non vuole dire assolutamente nulla... è stato scelto dai progettisti per gioco. Forse...
La versione attuale di KDE è la 3.4, anche se molte distribuzioni hanno la più consolidata 3.3.
Gnome (versione 2)
La parola GNOME è l’acronimo di GNU Network Object Model Environment.
Il progetto è stato iniziato da MIGUEL DE I CAZA nel 1996, con l’obiettivo di di realizzare un ambiente di lavoro per ambienti UNIXlike facile da utilizzare e con licenza GNU.
Gnome (che si dovrebbe pronunciare ghnome) è una Interfaccia Grafica Utente (ing. Graphical User Interface o GUI) realizzata da una collezione di programmi che permettono di utilizzare in modo semplice il calcolatore.
Il sistema, che ha ora definitivamente raggiunto la maturità, offre una serie di programmi integrati fra loro che permettono la gestione di tutte le funzioni elementari per utilizzare il calcolatore:
finestre (tramite Metacity), lancio programmi e loro interazione (grazie a Panel), gestione file (con Nautilus), configurazione centralizzata e traduzione automatica delle applicazioni nelle lingue locali; si ispira decisamente all’interfaccia grafica che ha reso famoso il sistema Macintosh.
Gnome è in rapidissima evoluzione: la versione cui faremo riferimento è la 2.10, apparsa in primavera 2005 e presente sulle distribuzioni più recenti.
Interfacce Grafiche Snelle
Come abbiamo
visto, lo svantaggio principale di usare l’interfaccia grafica consiste
nell’avidità di risorse (processore e memoria) consumate.
Per questo motivo, se si rinuncia alcune comodità, è possibile
utilizzare con soddisfazione il computer anche con un sistema
vecchiotto e limitato (Pentium300 con 64Mbyte, o anche meno).
Nell’ambiente Linux, quindi, prosperano anche alcune interfacce più
semplici rispetto ai due “pesi massimi” già citati, ma che si fanno
apprezzare per altre qualità.
Tutte le distribuzioni maggiori offrono almeno una di queste alternative.
Icewm (Ice Window manager) offre un sistema che assomiglia a Windows 98 privo del Desktop.
Windowmaker propone qualcosa di più di Icewm nel campo della configurabilità .
Xfce è un ambiente spartano ma completo è usato da XUBUNTU.
twm decisamente... minimalista.
Uso del Manuale in Linea
man nome_comando
Con il comando man nome_comando si possono ottenere le informazioni su come usare un comando da consolle.
Alcuni esempi di comando sono:
man ls | more ci fa vedere le opzioni del comando ls
man javac | more ci fa vedere le opzioni del comando javac
Quando si apre la pagina che ci spiega come usare un comando è possibile premere shift+7 e a questo punto possiamo inserire la stringa su cui vogliamo fare la ricerca.
COMANDI DI USO PRINCIPALE
uname -r
Con il comando uname -r il sistema ci dice la versione del Kernel.
Alcuni esempi di comando sono:
enrico1@EMDELLInspairon6400:~$ uname -r
2.6.2214generic
lsb_release -a
Con questo comando si ottengono i dati inerenti l'installazione di Linux che stiamo usando.
Alcuni esempi di comando sono:
enrico2@enrico2-laptop:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.2 LTS
Release: 10.04
Codename: lucid
netstat
Con il comando netstat si possono monitorare le reti.
Alcuni esempi di comando sono:
netstat tuanp ci fa vedere le connessioni in essere
netstat s t ci fa vedere i pacchetti TCP/IP che sono stati rifiutati
netstat s u ci fa vedere i pacchetti UDP/IP che sono stati rifiutati
sendmail
Con il comando sendmail è possibile spedire email senza aprire il server di posta elettronica.
Alcuni esempi di comando sono:
sendmail -f utente1@libero.it utente2@tiscali.it < /var/log/mail.log
Naturalmente serve aver installato un server di posta.
Supponendo di voler installare smail date il comando sotto:
sudo aptget install smail
ps aux
Con questo comando abbiamo l'elenco delle task attive e in quarta colonna c'è la loro occupazione di memoria.
Alcuni esempi di comando sono:
Scheduling dei Comandi
Per schedulare l'esecuzione dei comandi si può usare un pacchetto già pronto, quale per esempio cron, nel caso però risultasse più
comodo creare un file con dei comandi da eseguire in un prestabilito tempo si può usare il comando at di cui sotto si da un'esempio.
at q x m 13:01pm f sendmail f utente@libero.it < vmstat
con il comando sopra alle 13:01 verrà inviata una email che conterrà l'uso di memoria (vmstat).
at q x m 13:01pm
at> who
at> date
at> echo “Avvio Backup Web” > /dev/tty01
at> tar cvfp C /var/backups/www/('date').tar /var/www
at> ctrl+D
l'esempio sopra è molto più complesso e viene chiuso dal comando ctrl+D
Ovviamente perchè il tutto funzioni occore che il demone atd sia in esecuzione (/etc/atd start)