Panoramica su Linux
@
Panoramica su Linux
Un po' di storia
Panoramica su Linux
Un po' di storia
D: Chi è Richard Stallman?
R: Uno degli hacker più talentuosi del MIT
D: Qual'era il suo problema?
R: la progressiva chiusura del codice sorgente
● nel 1983 annuncia l'intenzione di creare il SO GNU
Panoramica su Linux
Un po' di storia
●
Libertà di eseguire il programma, come desideri.
●
Libertà di studiarne il codice sorgente e modificarlo.
●
Libertà di fare copie e distribuirle agli altri.
●
Libertà di pubblicare versioni modificate.
Cosa garantisce una licenza open source come la GPL:
Panoramica su Linux
Un po' di storia
D: Chi è Linus Torvalds?
R: Uno studente universitario Finlandese
D: Cosa voleva fare?
R: Accedere al suo account universitario da casa D: Qual'era il suo problema?
R: Minix non funzionava bene sul suo 386
Panoramica su Linux
Un po' di storia
1991: la nascita
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
[...]
Hello everybody out there using minix -
I'm doing a (free) operating system (just a
hobby, won't be big and professional like
gnu) for 386(486) AT clones. [...]
Panoramica su Linux
Un po' di storia
Caratteristiche di Linux agli albori:
● il codice sorgente era completamente disponibile
● era possibile modificarne il codice
● la sua licenza non imponeva limitazioni d'uso Problema:
● mancavano tutti i tool “di contorno”
Panoramica su Linux
Un po' di storia
Progetto GNU:
● nato nel 1983 per mano di Richard Stallman
● scopo: avere un sistema unix like rilasciato con licenza
“aperta”
Cosa aveva:
● compilatori, debugger, editor, coreutils...
Cosa mancava:
● un kernel: Hurd non era ancora completato
Panoramica su Linux
Un po' di storia
Linux GNU
Gnu/Linux
Panoramica su Linux
Un po' di storia
Espressione sociale:
● creazione dei Linux User Groups (LUG):
● punto di aggregazione per utenti Linux
● punto di aiuto per i nuovi utenti
● eventi:
● Linux Day
Panoramica su Linux
Cosa è Linux?
l'insieme del kernel (Linux) ed una serie di programmi
distribuzione Linux (“distro”)
Panoramica su Linux
Distribuzioni Linux
● principali distribuzioni Linux
● Debian
● Gentoo
● Fedora
● Mandriva
● Slackware
● SUSE
● Ubuntu
● centinaia di altre distribuzioni
Panoramica su Linux
Distribuzioni Linux
● Cosa distingue le varie distribuzioni:
1) tool di configurazione 2) gestione del software 3) modalità di rilascio
4) posizionamento dei file di configurazione
Panoramica su Linux
Distribuzioni Linux – tool di configurazione
tutto in unix è configurabile tramite appositi file
● configurazione periferiche (mouse, scanner, stampanti,...)
● configurazione programmi (web server, db,...)
● avvio automatico servizi, programmi
● ...
Panoramica su Linux
Distribuzioni Linux – tool di configurazione
Distribuzioni con buoni tool di configurazione:
● SUSE
● Fedora
● Mandriva
Panoramica su Linux
Distribuzioni Linux – gestione del software
Come installare programmi sotto Linux:
● compilare i programmi partendo dal codice sorgente
● installare i programmi usando le versioni pacchettizzate
● risoluzione automatica delle dipendenze
● aggiornamento automatico alle nuove versioni
Panoramica su Linux
Distribuzioni Linux – gestione del software
Cosa contiene un pacchetto:
● script pre e post installazione
● file forniti dal programma:
● eseguibili
● librerie
● man pages
● file di configurazione
● ...
Panoramica su Linux
Distribuzioni Linux – gestione del software
rpm
Fedora
rpm SUSE
deb apt-get / aptitude
Ubuntu
Formato Distribuzione Gestore
Alto livello Basso livello yum
Mandriva urpmi
zypper Debian
dpkg
Principali metodi di pacchettizazione
NOTA: è sconsigliato installare sw pacchettizzato per altre
Panoramica su Linux
Distribuzioni Linux – gestione del software
GUI per gestione pacchetti
Panoramica su Linux
Distribuzioni Linux – gestione del software
Vantaggi legati alla pacchettizazione:
● installazione facilissima (meglio che windows[1] )
● risoluzione automatica delle dipenze
● aggiornamenti automatici di tutto il sistema
Panoramica su Linux
Distribuzioni Linux – gestione del software
SUSE apt-get update
apt-get upgrade
apt-cache search XYZ apt-get install XYZ Operazione Debian-like aggiornamento lista
programmi zypper refresh
aggiornamento
sistema zypper update
ricerca software zypper search XYZ
installare software zypper install XYZ
Panoramica su Linux
Distribuzioni Linux – modalità di rilascio
Due “filosofie”:
● rolling release:
● Debian
● Gentoo
● versions release:
● Fedora
● Mandriva
● Slackware
● SUSE
November 2009: “Fichte” 11.2 July 2010: “Rousseau” 11.3 March 2011: “Voltaire” 12.0
November 2011: “Lessing” 12.1
Panoramica su Linux
Distribuzioni Linux – Posizionamento dei file
E' possibile che alcuni file/directory siano in posti diversi MA
Il contenuto e l'organizzazione dei file raramente cambia
Panoramica su Linux
Distribuzioni Linux – Brain dump
Panoramica su Linux
Interagire con Linux
GUI Terminale
Due “strade”
Panoramica su Linux
Interagire con Linux - GUI
Window manager: semplice gestione delle finestre
● blackbox, fluxbox,...
● icewm
● twm
● afterstep
● enlightenment
Desktop environment: window manager + programmi integrati
Panoramica su Linux
Breve introduzione alla console
● ne esistono diverse: bash (più diffusa), ksh, csh,...
● comandi base:
● creazione directory: mkdir
● spostare/rinominare file/dir: mv
● navigare nelle dir: cd
● rimuovere file/directory: rm
● elencare i file: ls
● è possibile combinare più programmi insieme tramite pipe
Panoramica su Linux
Breve introduzione alla console
Live demo
Panoramica su Linux
Breve introduzione alla console
Tenendo conto che:
● coreutils forniscono dei programmi per diverse esigenze
● bash permette lo scripting
Domanda: perchè non programmare in bash usando coreutils?
Risposta: dipende, rischiate di farvi del male!!
Panoramica su Linux
Considerazioni
● è possibile utilizzare Linux in tutti gli esami/progetti universitari
● conoscere Linux vi arricchirà personalmente e professionalmente
Panoramica su Linux
Domande?
Panoramica su Linux
Riferimenti
Siti consigliati:
● bglug: http://bglug.it/
● pluto project: http://www.pluto.it/ildp/howto.html
● appunti Linux: http://a2.pluto.it/
● Advanced bash scripting guide: http://tldp.org/LDP/abs/html/
● The Linux documentation project: http://tldp.org/
Libri:
● Linus Torvalds, David Diamonds – Rivoluzionario per caso –