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 dellhardware del computer e dei programmi che
su questo vengono eseguiti.
Il sistema operativo fornisce unastrazione della macchina sottostante
ossia fornisce uninterfaccia software (generalmente gra鍖ca) per accedere
alle risorse del sistema (come dischi, schermo, tastiera ecc)
Il compito principale del sistema operativo ` quello di permettere
e
allutente 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 allhardware (evitandogli dettagli sulla sua gestione).
File System
Il 鍖le system de鍖nisce come i 鍖le vengono immagazzinati e organizzati su
un dispositivo di archiviazione (hard disk, CD, ecc). Vi sono diversi tipi di
鍖le system che si di鍖erenziano sulla politica di gestione dei 鍖le. I
principali tipi di 鍖le system sono Ext4 (usato dai sistemi Linux), HFS
(usato dai sistemi Mac OS), NTFS e FAT32 (usati dai sistemi Windows).
Interfaccia Gra鍖ca
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 uninterfaccia gra鍖ca
allavanguardia 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
鍖nestre), 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 ` certi鍖cato come versione di Unix. Si
e
tratta di un sistema operativo proprietario quindi a codice
chiuso, ma dallinizio del 2005 alcuni componenti vengono
rilasciati sotto licenza open source (CDDL) allinterno 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 dallinterfaccia gra鍖ca 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 dellUniversit` 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 leseguibile 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
dellintegrazione del kernel Linux con software del sistema
GNU e altro software rilasciato sotto licenza GNU GPL.
Inizialmente il sistema fondava linterazione con lutente sulla shell dei
comandi ma con il passare del tempo ` divenuta sempre pi` evidente la
e u
necessit` di uninterfaccia gra鍖ca basata sulle 鍖nestre (come quella usata
a
da Windows).
Il nome Linux, a dispetto dellevidente 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 鍖ni
didattici. Torvalds inizio a sviluppare del software per meglio
comprendere il funzionamento del suo computer. Ogni volta che si
rendeva necessaria laggiunta di una nuova funzionalit` questa veniva
a
sviluppata: alla 鍖ne 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 questultimi 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
linterfaccia gra鍖ca 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 modi鍖carne il
contenuto. Ubuntu ` una fork di Debian ma ormai si ` a鍖rancata 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 nellagosto 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 u鍖ciale 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` allinizio di modi鍖carla
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 鍖loso鍖e 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 allutente. Lultima 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 allistallazione) con la possibilit` di
a
eseguire aggiornamenti e di istallare pacchetti di versioni di鍖erenti.
Questo sistema, oltre a permettere
allutente 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 o鍖ine (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 鍖nanziata
e
dalla Canonical. Tutto il sistema ` rilasciato sotto licenza
e
GNU GPL. Il nome della distribuzione deriva da un antico
vocabolo zulu che signi鍖ca io sono ci` che sono per
o
merito di ci` che siamo tutti: un inno alla 鍖loso鍖a open
o
source. Come si evince gi` dal motto Linux per gli esseri
a
umani, Ubuntu mira moltissimo sulla semplicit` dia
utilizzo, lottimo riconoscimento e supporto dellhardware.
Inoltre pu` vantare un vasto parco software
o
costantemente aggiornato tramite APT ed una
notevole quantit` di sistemi di gestione basati su
a
interfaccia gra鍖ca che sollevano lutente
dallutilizzo della shell. La versione desktop ` stata
e
realizzata per rispondere alle pi` frequenti necessit`
u a
dellutente medio.
13 / 18
14. Lezione Due: Linux Using
Distribuzioni
Ubuntu
Ubuntu ` una fork di Debian ed applica anche lei la
e
鍖loso鍖a 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, lAPT e la sua interfaccia gra鍖ca, il Synaptic. Ubuntu ha delle
sotto distribuzioni come Kubuntu (con lambiente desktop KDE),
Edubuntu (dedicata allapprendimento 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 identi鍖care 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` di鍖cile 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 di鍖erenza 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
a鍖rontato, 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: lappartenenza 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 dellinformatica 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