LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesPresentation Transcript
LINUX DAY 2004
27 novembre – IZS di Teramo
LINUX
nascita
e
caratteristiche vincenti
Maurizio Antonelli
www.maury.it
TELUG (Teramo Linux Users Group)
www.telug.it
Some rights reserved: http://www.maury.it#licenza
SOFTWARE LIBERO
Il progetto GNU
“Grazie a Richard Stallman per averlo inventato.
Grazie a Linus Torvalds per averlo realizzato.”
RICHARD STALLMAN
1984 nasce il progetto GNU
SOFTWARE LIBERO
4 PRINCIPI DI LIBERTA'
(http://www.linux.it/GNU/softwarelibero.shtml)
Libertà 0, o libertà fondamentale:
La libertà di eseguire il programma per qualunque scopo, senza vincoli sul suo utilizzo.
Libertà 1:
La libertà di studiare il funzionamento del programma, e di adattarlo alle proprie
esigenze.
Libertà 2:
La libertà di redistribuire copie del programma.
Libertà 3:
La libertà di migliorare il programma, e di distribuirne i miglioramenti.
II SISTEMA OPERATIVO
GNU LINUX
anni '80 Inizia a diffondersi l'ideale contro il
monopolio Microsoft
1991 Disputa con il professor Tanenbaum
all'Università di Helsinki
Linus Torvalds
set 1991 Esce il primo kernel Linux
(successivamente GNU Linux)
Dopo la nascita dei primi kernel Linux, parte lo sviluppo di numerosissimi
progetti opensource.
Alcuni saranno fondamentali per fare in modo che Linux diventi uno dei
maggiori antagonisti dei sistemi Windows.
XWindow
KDE, Gnome e molti altri window manager
The Gimp
Mozilla
Xine, MPlayer
OpenOffice.org (buona compatibilità con formati proprietari di
Microsoft grazie al reverse engeneering)
MA CHI GLIELO
FA FARE
????????
!!!!!!!!!!!!
DISTRIBUZIONI
Il kernel e tantissimi programmi vengono presi, compilati e configurati
da diverse ditte di software che pacchettizzano il tutto in
“distribuzioni”.
Il software nelle distribuzioni è, “salvo rare eccezioni”, tutto gratuito.
Slackware Gentoo
SuSe Corel
Mandrake Caldera
Debian Knoppix
RedHat Sol
Fedora Qilinux
Lfs e tantissime altre...
LINUX
caratteristiche fondamentali
Sistema operativo multiutente
Filesystem caratterizzato dai “permessi”
Superutente che coordina e gestisce il sistema
Sistema Operativo multitasking
Utilizzo di memoria virtuale (swap)
Possibilità di lavorare in rete su altri computer
tramite SSH
LA SHELL
Interprete dei comandi in ambiente testuale (ambiente
di shell, appunto).
VARI TIPI DI SHELL: bash, csh, ksh, sh, zsh.
PRINCIPALI COMANDI DI SHELL
ls: elenca i file della directory corrente
(utile con le opzioni laF color)
pwd: visualizza la posizione corrente
exit: uscita dalla shell
cd: entra in una directory. In Unix si usa /
cp: copia un file
mv: sposta un file
cat: manda uno o più file concatenati allo
standard output (monitor)
rm: cancella un file
more e less: visualizza un file controllando le
schermate
man: manuale in linea dei comandi e dei
programmi
shutdown:avvia l'arresto del sistema
su: login su un altro utente
mkdir: crea una directory vuota
rmdir: cancella una directory vuota
ALCUNE PICCOLE UTILITA'
La PIPE ( | ) è un utile operatore che collega l'output
del primo comando all'input di un comando
successivo.
Esempio:
cat 1°tempo.mpg 2°tempo.mpg | mencoder
ovc lavc lavcopts vcodec=mpeg4
oac copy o c.mpg
Redirezione dell'output dallo standard output (di
solito monitor o stampante) ad un file.
Esempi:
cat testo1.txt testo2.txt > testone.txt
ls laF color > la_mia_home.txt
Invio di un file direttamente alla stampa.
Esempi:
lpr file_da_stampare_1.txt
lpr file_da_stampare_2.pdf
lpr file_da_stampare_3.gs
COMANDI DA TASTIERA E TANTE
OPZIONI... MA CHE FATICA !!!
No problem: creiamo degli ALIAS...
alias lll = ' ls laF color | more '
alias pp = ' ps u maury | more '
alias cdm = ' mount /mnt/cdrom '
alias cdr = ' cd /mnt/cdrom '
alias ucd = ' umount /mnt/cdrom '
UTILIZZO DEL TASTO TAB
COMPLETAMENTO AUTOMATICO
Oltre agli alias si può spesso utilizzare comodamente il tasto
TAB dopo i primi caratteri del comando o dopo i primi
caratteri del nome di un file. Alla pressione del TAB la shell
cercherà tutto ciò a cui si può arrivare con quei primi
caratteri ed in caso di risultato unico concluderà lei il
comando. Se il risultato non fosse unico, visualizzerà tutti i
possibili comandi che iniziano per quei caratteri e inviterà
l'utente a battere qualche carattere in più.
Esempio:
mkd + tasto TAB porterà a mkdir
cd nome_d + tasto TAB porterà a cd nome_directory
CARATTERI JOLLY
? sostituisce un carattere qualsiasi nel nome di un file
esempi: xpdf cartellon?.pdf
cd cartellon?
* sostituisce un numero qualsiasi di caratteri qualsiasi nel
nome di un file
esempi: xpdf cart*ne.p*
cd ca*ll*
rm *.jpg
ESECUZIONI IN BACKGROUND
Quando si lancia un comando dalla shell, finché
l'esecuzione non viene terminata, la shell risulterà
impegnata e non utilizzabile.
Per sfruttare il multitasking della shell è possibile
lanciare qualsiasi comando non interattivo in
background, lasciando la shell libera per altri
comandi.
Si usa il carattere & alla fine del comando da shell.
esempio: mozilla index.html &
PIU' TASTIERA, MENO MOUSE
Può sembrare strano, ma dare i comandi da tastiera piuttosto
che tramite il mouse, per chi ha una buona dimestichezza è una
cosa positiva: si lavora in maniera più fluida e veloce.
Un esempio che dimostra questa tesi è il classico “copia e
incolla”. Con il mouse la procedura è: selezionare, tasto destro,
scendere nella voce copia, muoversi nella posizione di
incollamento, tasto destro di nuovo, scendere alla voce incolla e
click finale.
Chi ha dimestichezza con la tastiera, utilizzando i tasti CTRL+C
e CTRL+V esegue la procedura in molto meno tempo.
Allora, se si dovesse scegliere in base all'efficienza, qual è la cosa
migliore?
LINUX
Stabile e Sicuro
Stabilità notevole: un sistema che non crasha
mai...
Sicurezza garantita da inesistenza di virus
(troppo poco diffuso), dal filesystem
caratterizzato da permessi (virus diventano
praticamente innocui), da accesso esclusivamente
tramite password personali e perché
software libero.
POSSIBILITA' DI CONVIVENZA
CON ALTRI SISTEMI OPERATIVI
Partizionamento dell'HardDisk (soluzione ottimale)
Distribuzioni Live (installate su CD avviabili)
Installazione su di un file (sistema più lento)
Installazione su macchine virtuali (VMWare)
ottima soluzione per avere due sistemi in esecuzione contemporaneamente
TUTTO E' UN FILE
(3 tipi)
1 directory/cartelle
2 file di dati (ASCII o Binari)
3 collegamenti (fisici e simbolici)
IL FILE SYSTEM DI LINUX
Niente lettere di unità
tutto è accessibile dalla directory radice
/ (root directory)
AIUTO!!! I miei hard disk ed i miei cdrom?? Dove
sono?? Che fine hanno fatto?!
Ci sono, ci sono, ma vanno montati... nel punto di
mount.
La directory /mnt
UN BREVE GIRO TURISTICO
NEI MEANDRI DEL FILESYSTEM
/bin contiene i binari di tutti i comandi
fondamentali utilizzati da tutti gli utenti
/boot file di boot
/dev file speciali che rappresentano i dispositivi
/etc file di configurazione comuni a tutti gli utenti
/home le case – le cartelle personali degli utenti
/lib librerie condivise dai programmi,
moduli del kernel
/proc c'è, ma non c'è... File system virtuale
utilizzato dal kernel
/root una casa tutta per il superutente
/sbin binari, utilizzati normalmente solo dall'utente
root
/tmp una cartella per tutti per i file temporanei
/usr comandi, librerie e documentazione dei
programmi
/var i file che cambiano sempre: code di stampa,
log, ecc. ecc.
INSTALLAZIONE DELLE
APPLICAZIONI
1 compilazione diretta dei sorgenti
dispendiosa come tempo, ma molto utile in quanto il
programma viene compilato ed ottimizzato per il proprio
sistema e per il proprio hardware
2 pacchetti precompilati RPM,
(RedHat, Fedora, Mandrake, ecc. ecc.)
DEB (Debian) e altri.
COMPILAZIONE
IL TARBALL: una palla per il pinguino...
Archivio “tar” compresso con “gunzip”
Decomprimere con: gzip d nomefile.tar.gz
e poi estrarre i file con: tar xvf nomefile.tar
Oppure tutto in maniera più diretta:
tar xzvf nomefile.tar.gz
ATTENZIONE: ALTRO
COMPRESSORE
A volte si usa il compressore bzip2
bunzip2 nomefile.tar.bz2
tar xvf nomefile.tar
Oppure
tar xjvf nomefile.tar.bz2
E VAI COL COMPILING...
Entrare nella directory di compilazione.
cd nomefile
Dare un'occhiata a tutti i file con nome scritto in maiuscolo.
Sono file di informazioni varie, comprese istruzioni per
l'installazione.
Di solito:
./configure
make
make install
COME MIGRARE?
QUALCHE CONSIGLIO
Iniziare ad utilizzare dei programmi OpenSource e
multipiattaforma sotto Windows.
● OpenOffice.org (www.openoffice.org)
● Mozilla (www.mozilla.org)
● Mplayer (www.mplayerhq.hu)
● The Gimp (www.gimp.org)
● Xchat (www.silverex.org)
A questo punto, la maggior parte dei nostri documenti
sarà gestibile anche da Linux.
Installare il Pinguino insieme al Windows. Avremo così
una macchina multibootable. Le prime prove va bane
anche farle con una “live”.
Utilizzare il più possibile Linux (la maggior parte delle
cose dovremmo già essere in grado di gestirle),
ricorrendo a Windows solo nei casi di emergenza.
Cercare su internet, nei forum e iscriversi alle mailing
list (www.telug.it) per sapere eventuali soluzioni ai
problemi più disparati.
8 BUONI MOTIVI PER USARE LINUX
e SOFTWARE OPENSOURCE
1 – E' “quasi sempre” gratuito
2 – E' più stabile
3 – E' più sicuro
4 – Esistono tantissime applicazioni e ci si può fare “quasi” tutto
quello che si fa con MS Windows e programmi proprietari
5 – E' una validissima alternativa al monopolio privato
6 – I documenti vengono salvati in un formato non proprietario
7 – Alcune ditribuzioni (Mandrake) sono userfriendly
8 – Si ha a disposizione il codice sorgente
COME IN TUTTE LE COSE
CI SONO DEI PRO E DEI CONTRO
I 3 CONTRO PRINCIPALI
1 – Linux si deve imparare/studiare (è veramente gratuito?)
2 – Alcuni progetti sono ancora in fase di sviluppo e ci vorrà un po' di
tempo per arrivare al livello dei prodotti per Windows (tentare
con il Wine)
3 – Driver e compatibilità Hardware (e qui son dolori...) (tentare con
Linuxant Driverloader)
8 PRO e 3 CONTRO:
allora, secondo voi, conviene passare a Linux ?
GRAZIE A TUTTI
PER L'ATTENZIONE
Maurizio Antonelli
email: maury@maury.it
web: www.maury.it
TELUG (Teramo Linux Users Group)
email: telug@telug.it
web: www.telug.it