Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Linux & Open Source : Lezione Due
1. Lezione Due: Linux Using
Lezione Due: Linux Using
Dario Mazza - Sebastiano Merlino
Universit` degli Studi di Catania - Facolt` di Ingegneria
a a
22 Aprile 2010
1 / 18
2. Lezione Due: Linux Using
“ Sei fortunato a non essere un mio studente. Non prenderesti un buon
voto per un tale progetto.”
Andrew S. Tanenbaum
parlando a Linus Torvalds e riferendosi al suo progetto: Linux
2 / 18
3. Lezione Due: Linux Using
Il Sistema Operativo
Sistemi Operativi
Il sistema operativo ` quel componente software responsabile del
e
controllo e della gestione dell’hardware del computer e dei programmi che
su questo vengono eseguiti.
Il sistema operativo fornisce un’astrazione della macchina sottostante
ossia fornisce un’interfaccia software (generalmente grafica) per accedere
alle risorse del sistema (come dischi, schermo, tastiera ecc)
Il compito principale del sistema operativo ` quello di permettere
e
all’utente di interagire con la macchina.
3 / 18
4. Lezione Due: Linux Using
Il Sistema Operativo
Componenti Principali di un Sistema Operativo
Kernel
Il kernel ` il cuore di un sistema operativo e fornisce ai componenti del
e
sistema operativo e ai programmi le funzioni fondamentali per un accesso
controllato all’hardware (evitandogli dettagli sulla sua gestione).
File System
Il file system definisce come i file vengono immagazzinati e organizzati su
un dispositivo di archiviazione (hard disk, CD, ecc). Vi sono diversi tipi di
file system che si differenziano sulla politica di gestione dei file. I
principali tipi di file system sono Ext4 (usato dai sistemi Linux), HFS
(usato dai sistemi Mac OS), NTFS e FAT32 (usati dai sistemi Windows).
Interfaccia Grafica
Permette agli essere umani di interagire con il sistema.
4 / 18
5. Lezione Due: Linux Using
Il Sistema Operativo
Mac OS X
Mac OS X ` un sistema operativo sviluppato dalla Apple Inc.
e
Questo sistema operativo non ` semplicemente la decima
e
versione di Mac OS ( in uso sui computer Macintosh dal
1984) ma ` un sistema completamente nuovo che unisce il
e
nucleo Darwin, di derivazione Unix (FreeBSD) e rilasciato
sotto licenza open source, ad un’interfaccia grafica
all’avanguardia chiamata Acqua.
Mac OS X ` in grado di eseguire anche programmi
e
GNU/Linux previa compilazione. Le maggiori
caratteristiche di Mac OS X sono legate ad Aqua:
Expos` (miniaturizza sullo schermo tutte le
e
finestre), Spaces (per generare desktop virtuali),
Dashboard (per piccole applicazioni richiamabili
con un tasto) e molto altro.
5 / 18
6. Lezione Due: Linux Using
Il Sistema Operativo
Solaris & OpenSolaris
Solaris ` un sistema operativo per computer Sun
e
Microsystems (anche se ora pu` essere utilizzato anche su
o
altri computer) ed ` certificato come versione di Unix. Si
e
tratta di un sistema operativo proprietario quindi a codice
chiuso, ma dall’inizio del 2005 alcuni componenti vengono
rilasciati sotto licenza open source (CDDL) all’interno del
progetto OpenSolaris.
OpenSolaris ` basato in gran parte sul codice
e
sorgente di Solaris ma tenta di venire incontro agli
utenti Linux fornendogli strumenti a loro familiari a
partire dall’interfaccia grafica e dalla shell dei
comandi. Tutto il codice sorgente di OpenSolaris ` e
rilasciato sotto licenza open source CDDL.
6 / 18
7. Lezione Due: Linux Using
Il Sistema Operativo
FreeBSD
FreeBSD ` un sistema operativo libero di tipo Unix
e
derivato dallo Unix dell’Universit` di Berkley (California).
a
`
E stata la prima distribuzione ad uscire su CD-ROM nel
1994.
FreeBSD ` particolarmente utilizzato nei server per la sua
e
stabilit` e sicurezza ma ` anche usato per PC. Una sua
a e
particolarit` ` il sistema dei Port. Per utilizzare un programma
ae
si scarica il codice sorgente del programma stesso e di altri
programmi da questo dipende ed in seguito i sorgenti vengono
compilati per generare l’eseguibile del programma. I port sono
organizzati in una struttura ad albero per mettere in evidenza
le dipendenze tra i vari programmi. Questo sistema ` stato
e
superato dal sistema dei pacchetti introdotto da Debian e
ripreso da Ubuntu (in quanto derivata da Debian).
7 / 18
8. Lezione Due: Linux Using
Linux
Linux & GNU/Linux
Linux ` il nome del kernel sviluppato dal Linus Torvalds a
e
partire dal 1991. Il sistema operativo su cui si basano tutte
le distribuzioni ` detto GNU/Linux in quanto si tratta
e
dell’integrazione del kernel Linux con software del sistema
GNU e altro software rilasciato sotto licenza GNU GPL.
Inizialmente il sistema fondava l’interazione con l’utente sulla shell dei
comandi ma con il passare del tempo ` divenuta sempre pi` evidente la
e u
necessit` di un’interfaccia grafica basata sulle finestre (come quella usata
a
da Windows).
Il nome Linux, a dispetto dell’evidente assonanza con il nome del suo
principale sviluppatore (LINUs uniX), ` da attribuire al nome della
e
cartella in cui era contenuta la prima versione scaricabile del server. Il
nome scelto da Linus Torvalds per la sua creatura era Freax. In
compenso ` quasi sicuro che il nome della mascotte sia dovuto allo
e
sviluppatore TUX=Torvalds UniX.
8 / 18
9. Lezione Due: Linux Using
Linux
Storia di Linux
Il giovane programmatore Linus Torvalds non era soddisfatto del sistema
operativo Minix, sviluppato dal prof. Andrew Tanenbaum a fini
didattici. Torvalds inizio a sviluppare del software per meglio
comprendere il funzionamento del suo computer. Ogni volta che si
rendeva necessaria l’aggiunta di una nuova funzionalit` questa veniva
a
sviluppata: alla fine di questo processo Torvalds ottenne un intero kernel
capace di supportare un sistema operativo. Inizialmente Linux si basava
su alcuni componenti di Minix ma Torvalds non era soddisfatto della
licenza di quest’ultimi che li rendeva disponibili esclusivamente per usi
didatti. Cos` le parti Minix furono sostituite da componenti software
ı
GNU e Linux pass` sotto la licenza GPL. Non passo molto tempo prima
o
che il sistema GNU/Linux superasse in funzionalit` Minix. Ad oggi Linus
a
Torvalds dirige ancora la sviluppo del kernel Linux ma gli altri
componenti sono sviluppati separatamente. Il compito di rilasciare un
sistema integrato, che unisca il kernel e gli strumenti di base con
l’interfaccia grafica e i software applicativi, ` delegato alle distribuzioni.
e
9 / 18
10. Lezione Due: Linux Using
Distribuzioni
Distribuzione Linux
Una distribuzione Linux, detta anche distro, ` una collezione di
e
programmi rilasciati come un unico pacchetto che include il kernel Linux
e un insieme di strumenti e programmi. Societ` come Red Hat, Novel
a
(con SUSE) e Canonical (con Ubuntu) e progetti come Debian, Slackware
e Gentoo assemblano e testano i vari componenti e periodicamente
rilasciano, la maggior parte delle volte gratuitamente, la distribuzione. Il
successo delle distribuzioni ` dovuto alla semplicit` con cui permettono di
e a
istallare sul proprio computer un sistema operativo funzionante. In questo
momento si contano pi` di 300 distribuzioni attive. Questo proliferare di
u
distribuzioni ` basato sul fenomeno delle fork, ossia distribuzioni basate
e
in gran parte su altre e che si limitano ad estenderne o modificarne il
contenuto. Ubuntu ` una fork di Debian ma ormai si ` affrancata da ogni
e e
vincolo di dipendenza dalla distribuzione madre. La pi` vecchia
u
distribuzione attiva ` Slackware seguita subito da Debian: la prima `
e e
stata fondata nel luglio 1993 mentre la seconda nell’agosto 1993.
10 / 18
11. Lezione Due: Linux Using
Distribuzioni
Debian
Debian ` una distribuzione Linux largamente usate e composta
e
esclusivamente da Software Libero. Ogni componente ` e
sviluppato da una comunit` di volontari sparsi in tutto il mondo.
a
Lo slogan ufficiale della distribuzione ` “Debian: the Universal
e
Operating System”.
Il progetto Debian ` stato fondato da Ian Murdok nel 1993 che
e
insoddisfatto della distribuzione SLS tent` all’inizio di modificarla
o
ma poi decise di creare una nuova distribuzione da zero. La prima
versione stabile risale al 1996.
Debian ` conosciuta per la sua aderenza alle filosofie di GNU e software
e
libero, per le rigide politiche sulla qualit` dei pacchetti rilasciati, il modo
a
aperto di sviluppare e testare il software ma soprattutto per la libert` di a
scelta lasciata all’utente. L’ultima release di Debian contava circa 23.000
pacchetti software contenuti nei 5 DVD scaricabili gratuitamente dal sito
www.debian.org.
11 / 18
12. Lezione Due: Linux Using
Distribuzioni
APT e pacchetti deb
Debian ` anche conosciuta per il suo sistema di gestione dei
e
pacchetti e di APT (Advanced Packaging Tool). Questo
programma integra un sistema di risoluzione delle dipendenze
(ossia pacchetti necessari all’istallazione) con la possibilit` di
a
eseguire aggiornamenti e di istallare pacchetti di versioni differenti.
Questo sistema, oltre a permettere
all’utente di creare un sistema ibrido, rende
il processo di istallazione, aggiornamento e
rimozione dei software molto semplice ed
intuitivo (e richiede raramente il riavvio del
computer). I pacchetti sono riuniti in
archivi detti repository che possono essere
online oppure offline (ad esempio i CD e i
DVD di distribuzione).
12 / 18
13. Lezione Due: Linux Using
Distribuzioni
Ubuntu
Ubuntu ` una distribuzione basata su Debian e finanziata
e
dalla Canonical. Tutto il sistema ` rilasciato sotto licenza
e
GNU GPL. Il nome della distribuzione deriva da un antico
vocabolo zulu che significa “io sono ci` che sono per
o
merito di ci` che siamo tutti”: un inno alla filosofia open
o
source. Come si evince gi` dal motto “Linux per gli esseri
a
umani”, Ubuntu mira moltissimo sulla semplicit` dia
utilizzo, l’ottimo riconoscimento e supporto dell’hardware.
Inoltre pu` vantare un vasto parco software
o
costantemente aggiornato tramite APT ed una
notevole quantit` di sistemi di gestione basati su
a
interfaccia grafica che sollevano l’utente
dall’utilizzo della shell. La versione desktop ` stata
e
realizzata per rispondere alle pi` frequenti necessit`
u a
dell’utente medio.
13 / 18
14. Lezione Due: Linux Using
Distribuzioni
Ubuntu
Ubuntu ` una fork di Debian ed applica anche lei la
e
filosofia del software libero fornendo solo pacchetti di
questo tipo. Generalmente i pacchetti che si trovano in
Ubuntu derivano dal ramo instabile di Debian in modo da
bypassare il lungo iter di “stabilizzazione” del pacchetto
tipico della distribuzione madre.
Ubuntu e Debian collaborano attivamente per lo sviluppo e la risoluzione
dei bug. Inoltre Ubuntu deriva integralmente da Debian il sistema dei
pacchetti, l’APT e la sua interfaccia grafica, il Synaptic. Ubuntu ha delle
sotto distribuzioni come Kubuntu (con l’ambiente desktop KDE),
Edubuntu (dedicata all’apprendimento e ai bambini), Ubuntu
Mobile/Server/Netbook (versioni ottimizzate per supporti diversi dal PC
desktop).
Microsoft ha la fetta pi` grossa del mercato dei nuovi PC desktop. Questo ` un bug, e Ubuntu ` concepito per risolverlo.
u e e
Mark Shuttleworth, ideatore di Ubuntu
14 / 18
15. Lezione Due: Linux Using
Usare Linux
Perch´ usare Linux?
e
I motivi per cui usare un sistema GNU/Linux sono molteplici e
generalmente sono molto personali ma si possono identificare 3 punti
principali.
Stabilit` del Sistema
a
Supporto della Comunit`
a
Motivazioni Etiche
15 / 18
16. Lezione Due: Linux Using
Usare Linux
Stabilit` del Sistema
a
Generalmente un sistema GNU/Linux risulta essere pi` stabile: i crash di
u
sistema sono praticamente inesistenti ed i crash delle applicazioni sono
isolati. Inoltre la frequenza dei crash dipende da che tipo di pacchetto e
che distribuzione si utilizza: un pacchetto un po’ meno aggiornato ma
ampiamente testato assicura una maggiore stabilit`. a
Il sistema GNU/Linux inoltre ha delle performance “stabili” cio` non
e
subisce pesantemente il passare del tempo come succedeva con Windows:
possiamo istallare e rimuovere pacchetti quante volte vogliamo senza
rallentare il sistema, possiamo muovere quanti dati vogliamo senza dover
deframmentare il disco ecc.
Inoltre il sistema GNU/Linux ` quasi immune al problema virus. Infatti il
e
sistema di sicurezza multi-utente rende pi` difficile accedere a parti vitali
u
del sistema operativo. Non essendo un sistema operativo molto usato
GNU/Linux non ` stato oggetto di interesse ed inoltre ogni bug critico di
e
sicurezza in questi sistemi viene risolto in tempi brevissimi (a differenza di
quanto accade con Windows).
16 / 18
17. Lezione Due: Linux Using
Usare Linux
Supporto della Comunit`
a
La comunit` GNU/Linux e Open Source ` estremamente attiva e
a e
presente. Ogni problema un utente riscontri sicuramente ` stato gi`
e a
affrontato, e possibilmente risolto, da altri utenti della comunit`. Inoltre
a
tramite un servizio di Bug-Report ` possibile comunicare direttamente
e
con gli sviluppatori.
La possibilit` di poter leggere il codice permette di chiedere consigli
a
anche ad esperti esterni allo sviluppo del programma per risolvere
eventuali problemi.
Il 90% dei problemi riscontrati su un sistema GNU/Linux viene risolto da
una semplice ricerca su internet, consultando i Forum, i Blog e le pagine
tenute da sviluppatori o utenti GNU/Linux.
17 / 18
18. Lezione Due: Linux Using
Usare Linux
Motivazioni Etiche
Le motivazioni etiche sono le stesse che ci spingono ad usare il software
libero e con codice sorgente aperto. Il prodotto software, come ogni
prodotto, deve essere intellettualmente propriet` di tutti: non deve
a
succedere che una conoscenza non venga condivisa con gli altri.
Ogni riga di codice scritta viene condivisa con la comunit` per
a
accrescerne la conoscenza ma anche per ottenere un aiuto dalla comunit` a
stessa: l’appartenenza alla comunit` richiede la condivisione della
a
conoscenza ma ci permette di sfruttare la conoscenza di tutti gli altri
membri.
Utilizzare sistemi GNU/Linux toglie potere ai colossi dell’informatica che
si possono permettere qualsiasi cosa perch´ hanno un monopolio: far
e
vedere che una comunit` pu` tranquillamente sviluppare software
a o
migliore di quello prodotto dalle grandi software house ci permetter` di
a
ridimensionare i rapporti con queste ultime.
18 / 18