19
Introduzione a Linux (e all'OpenSource) Università di Ferrara, Facoltà di Ingegneria 2002 Simone Piunno, FerraraLUG Cos'è Linux Linux è un sistema operativo: UNIX-like, POSIX compatibile Multi utente, multi tasking, multi threading Multi processore (SMP) Multi piattaforma, 32 o 64 bit Modulare Gestisce molti filesystem differenti Gestisce molte tecnologie di networking differenti Gestisce molte GUI a finestre Corredato da moltissime applicazioni Libero, opensource

Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Introduzionea Linux

(e all'OpenSource)

Università di Ferrara, Facoltà di Ingegneria 2002

Simone Piunno, FerraraLUG

Cos'è LinuxLinux è un sistema operativo:

• UNIX-like, POSIX compatibile• Multi utente, multi tasking, multi threading• Multi processore (SMP)• Multi piattaforma, 32 o 64 bit • Modulare• Gestisce molti filesystem differenti • Gestisce molte tecnologie di networking differenti • Gestisce molte GUI a finestre• Corredato da moltissime applicazioni• Libero, opensource

Page 2: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Un po' di storia• 1969, ArpaNET, comunità in rete, futura Internet

• 1971, UNIX un design vincente

• 1981, PC IBM, hardware aperto, discesa dei costi

• 1984, Richard Stallman inizia il progetto GNU

• 1985, Nascono la FSF e la licenza GPL

• 1989, BSD networking release 1, un TCP/IP aperto

• 1990, Tim Berners Lee inventa il World Wide Web

• 1991, Linus Torvalds inizia a lavorare a Linux

• 1993, Linux 1.0

Riferimenti: http://safari.oreilly.com/main.asp?bookname=opensources

Componenti del sistemaBoot loader: LILO (W.Almesberger), GRUB (GNU)Kernel: scritto da zero da Linus TorvaldsLibrerie di sistema: fornite da GNU

La shell: la più usata è fornita da GNUUtility: molte derivate dal progetto GNUServizi di rete: molti sono derivati dai sistemi BSDDriver grafica: progetto XFree86, X ConsortiumGUI: KDE (KDE Team) o Gnome (GNU)Strumenti di sviluppo: molti forniti da GNUGestione pacchetti: RPM (RedHat) o DEB (Debian)Applicativi: vari

Page 3: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Componenti del sistema/2

• Un sistema linux è altamente modulare

• Ciascun modulo ricopre una funzione

• Per ogni funzione abbiamo la scelta tra diverse alternative

• Possiamo creare un sistema ad hoc per ogni situazione (embedded, palmari, workstation grafica, cluster, mainframe, etc.)

Le distribuzioni

Ci vuole qualcuno che raccolga la varie parti in un complesso funzionante, organico, facile da installare/usare. Questo è il ruolo delle distribuzioni.

– RedHat– SuSE– Mandrake– AlphaLinux– SeLinux– ...

– Debian– Caldera– Turbo Linux– Trustix– Immunix– ...

Ogni distribuzione è tarata per un certo tipo di utilizzo.Se ne conoscono circa 200!!!

Riferimenti: http://lwn.net/Distributions/

Page 4: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Linux è free software“Free as in speech, not as in beer”

Gratis Non Gratis

Libero SuSE Linux, KivioKDE, OpenOffice,

Mozilla

Non libero

Internet Explorer, Acrobat Reader,

Flash Player

Windows, PhotoShop

Riferimenti: http://www.fsf.org/philosophy/free-sw.html

Linux non è “contro”

• Non è contro il software a pagamento, se riuscite a fare soldi con Linux gli autori sono contenti (e c'è chi li fa).

• Non è contro il copyright, la proprietà intellettuale di Linux è difesa strenuamente, viene solo esercitata in modo diverso.

Riferimenti: http://www.gnu.org/philosophy/selling.html

Page 5: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

OpenSourcePer evitare confusione si usa il termine OpenSource. OpenSource significa avere il diritto di:

• Riprodurre il software e di ridistribuirlo• Accedere al codice sorgente• Fare modifiche al software per migliorarlo• Per sempre

Open Source Initiative detiene il marchio ed approva le licenze conformi al modello. Esempi di licenze approvate: GPL, BSD, MIT, X consortium, Artistic, MPL, etc.

Riferimenti: http://www.opensource.org/

Esempio: la licenza GPLLa licenza GPL permette di:

• Riprodurre e ridistribuire il software• Esaminare e modificare il codice sorgente• RIDISTRIBUIRE LE VERSIONI MODIFICATE• Per sempre

La licenza ci da molte libertà ma ci chiede qualcosa indietro:

• Le versioni modificate, se ridistribuite, devono stare interamente sotto la stessa licenza (compresa ogni parte aggiunta)

E' nota anche col nome di Copyleft

Riferimenti: http://www.fsf.org/licenses/licenses.html

Page 6: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Vantaggi dell'OpenSource

Linux presenta vantaggi in molti campi:

• Per la didattica

• Per la ricerca

• Per l'amministratore di sistema

• Per lo sviluppatore

• Per l'azienda

• Per l'utente finale

• Per l'amministrazione pubblica

Vantaggi nella didattica

• Avere i sorgenti permette di studiare da vicino l'implementazione delle varie soluzioni.

• Il codice di Linux è fatto apposta per essere letto e capito.

• Poter modificare il codice ed eseguire la versione modificata è il top dell'esperienza di laboratorio.

• Tonnellate di documentazione dettagliata.

Page 7: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Vantaggi nella ricerca

• Possibilità di introdurre varianti o implementazione di nuovi concetti ad ogni livello del sistema.

• Nessun NDA da firmare.

• Si può interagire e scambiare idee con ricercatori e sviluppatori in tutto il mondo.

• Il proprio lavoro viene valutato e riconosciuto dai pari.

Vantaggi per il SysAdmin

• Infiniti tool di qualità eccellente, componibili in sistemi più complessi.

• Linguaggi di scripting potentissimi.

• Completo controllo della piattaforma, possibilità di diagnosticare e risolvere i problemi rapidamente e in molteplici modi.

• Ci sono mediamente meno problemi di sicurezza e vengono scoperti e risolti più rapidamente.

• Estrema stabilità (no crash, no reboot)

• No virus

Page 8: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Vantaggi per lo sviluppatore

• Infiniti tool di sviluppo, compilatori, interpreti, editor, debugger, ambienti integrati, etc.

• Disponibilità incredibile di librerie di ottima qualità.

• Posso riusare il codice per mie applicazioni (interne?) o personalizzarlo secondo i miei bisogni.

• Tonnellate di documentazione dettagliata.

Vantaggi per l'azienda

• Interoperabilità, aderenza agli standard aperti.

• In applicazioni in cui la sicurezza è fattore critico si può provare che il programma è libero da codice pericoloso.

• Se viene scoperto un problema posso intervenire da solo o pagare qualcuno affinchè lo faccia per me.

• Personale mediamente più qualificato.

• Investimento garantito nel tempo (meno rischi)

• Basso costo.

Page 9: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Vantaggi per l'utente finale

• Costi bassi.

• La concorrenza protegge il consumatore.

• Tra qualche decina d'anni riuscirò ancora a leggere i miei file.

Riferimenti: http://www.pps.jussieu.fr/~dicosmo/Piege/PiegeIT.html

Vantaggi per l'Amm. Pubblica

• I dati dei cittadini sono trattati con la dovuta cautela e sicurezza.

• Garantisce permanenza dei dati nel tempo.

• Trasparenza nelle procedure (es. di voto).

• Lo stato non deve favorire un'azienda (es. formati di file)

• Le risorse economiche rimangono sul territorio.

Riferimenti: http://www.gnu.org.pe/resmseng.html

Page 10: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Esempi famosi di OpenSource

• BIND (gira sul 90% dei server DNS)

• Apache (gira sul 60% dei server Web)

• PHP (gira sul 20% dei server Web)

• Sendmail, Postfix

• Python

• INN

• Mailman

• MySQL, Postgresql

• Samba

Apache domina il web

Riferimenti: http://www.netcraft.com/survey

Page 11: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Business OpenSource

Abbiamo esempi concreti di come sia possibile creare profitto intorno all'opensource:

• Leader per il client, vendi il server (es. Netscape)

• Produci l'hardware, libera il software (es. IBM, Apple)

• Regala la ricetta, apri un ristorante (es. Cygnus, Zope)

• Vendi gli accessori (es. O'Reilly, istituti di formazione)

• Libera il futuro, vendi il presente (es. Aladdin Ghostscript)

• Libera il software, vendi il marchio (es. RedHat, SuSE)

• Libera il software, vendi il contenuto (es. AOL, Kivio)

• Metti i bastoni tra le ruote della concorrenza (es. Sun)

• Dividi i costi e i rischi (es. Silicon Graphics, WebSphere)

Quanto vale l'OpenSource

Debian 2.2

• 55 milioni di righe di codice (mozilla 2.1M, kernel 1.8M)

• C 70%, C++ 10%, LISP 5%, shell 5%, perl 2.5%....

• 14000 anni/uomo

• 1.9 miliardi di dollari per rifarla da zero in 6 anniRedhat 7.1

• 30 milioni di righe di codice (kernel 2.4M, mozilla 2.1M)

• C 71%, C++ 15%, shell 2.6%, LISP 2.4%, assembly 1.8%

• 8000 anni/uomo

• 1.1 miliardi di dollari per rifarla da zero in 6.5 annii costi e i tempi sono stimati con modello COCOMO50% delle righe di codice sono sotto licenza GPL

Riferimenti: http://www.dwheeler.com/sloc/

Page 12: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Quanto vale l'OpenSource/2

Prodotto M-SLOCNASA Space Shuttle 1,8Sun Solaris (1998-2000) 8Windows 3.1 (1992) 3Windows 95 15Windows 98 18Windows NT (1992) 4Windows NT5 (1998) 20RedHat 6.2 (2000) 17RedHat 7.1 (2001) 30Debian 2.2 (2000) 55

Riferimenti: http://www.counterpane.com/crypto-gram-0003.html

Legge di Brooks“Al crescere del numero dei programmatori coinvolti in un progetto, la quantità di lavoro svolta aumenta proporzionalmente ma la complessità e la frequenza dei bug aumenta col quadrato.”

Lavoro Svolto = N

Complessità e Bug = N²

Riferimenti: Frederick.P.Brooks, “The mythical man month”

Page 13: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Bazaar styleLinus Torvalds inventa un nuovo modello di sviluppo del software, che va oltre la legge di Brooks:

• Apri il codice a chiunque voglia vederlo.

• Rilascia presto, rilascia spesso.

• I tuoi utenti sono la tua più grande risorsa, ascoltali.

• Delega tutto quello che puoi.

• Dai un indirizzo ma lascia che siano gli altri a scegliere la soluzione migliore.

• Il debugging è parallelizzabile.

• Dati abbastanza occhi, ogni bug è scopertoLa qualità del codice prodotto è impressionante.

Riferimenti: http://www.tuxedo.org/~esr/writings/cathedral-bazaar/

Altri esempi di bazaar• Gcc

• Mozilla

• OpenOffice

• Fetchmail

• Perl

• KDE

L'esempio di Gcc/egcs è illuminante!

Page 14: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Sun ci crede

Silicon ci crede

Page 15: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

IBM ci crede

La casa bianca si fida

Page 16: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

NSA lo propone

Amazon ci vive

Page 17: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Google ci vive

Linux a ing.unife.it

• 1996: vengono installati 2 server linux (ing49, ing54), prime postazioni internet a disposizione degli studenti della facoltà. Nasce il LinuxTeam da studenti volontari.

• 1997: al LinuxTeam vengono affidati i pc della biblioteca.

• 1999: in collaborazione con IBM viene aggiunta una LAN sperimentale con una dozzina di PC in rete ATM 25Mbps, ed iniziano esperimenti di IPv6, ATM, multicast, etc.

LinuxTeam è stato terreno fertile per la formazione di un folto gruppo di appassionati di Linux nei dintorni di Ferrara.

Page 18: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

FerraraLUG, storia

• 1997: alcuni studenti della facoltà iniziano a pensare ad una associazione di utenti e formano, tra i primi in Italia, un Linux User's Group.

• 1999: FerraraLUG si costituisce formalmente in associazione culturale senza scopo di lucro.

• 2000: Iniziano i corsi di alfabetizzazione su Linux

• 2001: FerraraLUG co-organizza il primo LinuxDay nazionale.

• 2002: FerraraLUG ha oltre 100 soci.

FerraraLUG, attività� Punto di incontro e scambio informazioni tra gli

utenti.� Aiuto generale per chi si avvicina a Linux.� Corsi di alfabetizzazione.� Sperimentazione sul server dell'associazione.� Sviluppo di software opensource.� Traduzione di software opensource esistente.� Organizzazione seminari, eventi.� Relazioni con altri LUG a livello nazionale.� Promozione sociale.� Pizzate!

Page 19: Introduzione a Linuxmembers.ferrara.linux.it/pioppo/ing2002/linux-intro-2x1.pdf · Un po’ di storia Ł 1969, ArpaNET, comunità in rete, futura Internet Ł 1971, UNIX un design

Linux, riferimenti

• http://www.linux.org

• http://www.opensource.org

• http://www.gnu.org

• http://www.fsfeurope.org

• http://www.linuxdoc.org

• http://www.freshmeat.net� http://www.linux.it

• http://www.softwarelibero.it� http://www.ziobudda.net

FerraraLUG, riferimenti

Http://www.ferrara.linux.it

[email protected]