• Non ci sono risultati.

@ Panoramica su Linux

N/A
N/A
Protected

Academic year: 2021

Condividi "@ Panoramica su Linux"

Copied!
46
0
0

Testo completo

(1)

Panoramica su Linux

@

(2)

Panoramica su Linux

Un po' di storia

(3)

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

(4)

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:

(5)

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

(6)

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. [...]

(7)

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”

(8)

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

(9)

Panoramica su Linux

Un po' di storia

Linux

GNU

(10)

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:

Installation party

Linux Day

(11)

Panoramica su Linux

Cosa è Linux?

l'insieme del kernel (Linux) ed una serie di programmi

distribuzione Linux (“distro”)

(12)

Panoramica su Linux

Distribuzioni Linux

principali distribuzioni Linux

Debian

Gentoo

Fedora

Mandriva

Slackware

SUSE

Ubuntu

centinaia di altre distribuzioni

(13)

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

(14)

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

...

editing a manuale tool guidati

(15)

Panoramica su Linux

Distribuzioni Linux – tool di configurazione

Distribuzioni con buoni tool di configurazione:

SUSE

Fedora

Mandriva

(16)

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

(17)

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

...

(18)

Panoramica su Linux

Distribuzioni Linux – gestione del software

Formato Distribuzione Gestore

Alto livello Basso livello rpm

Fedora yum

Mandriva urpmi rpm

SUSE zypper

deb Debian

apt-get / aptitude dpkg Ubuntu

Principali metodi di pacchettizazione

NOTA: è sconsigliato installare sw pacchettizzato per altre

(19)

Panoramica su Linux

Distribuzioni Linux – gestione del software

GUI per gestione pacchetti

(20)

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

(21)

Panoramica su Linux

Distribuzioni Linux – gestione del software

SUSE apt-get update

apt-get upgrade

apt-cache search XYZ apt-get install XYZ Ope r azione D e bia n-like aggiornam ento lista

program m i zypper refresh

aggiornam ento

sistem a zypper update

ricerca softw are zypper search XYZ

installare softw are zypper install XYZ

(22)

Panoramica su Linux

Distribuzioni Linux – modalità di rilascio

Due “filosofie”:

rolling release:

Debian

Gentoo

versions release:

Fedora

Mandriva

Slackware

SUSE Ubuntu

November 2009: “Fichte” 11.2 July 2010: “Rousseau” 11.3 March 2011: “Voltaire” 12.0

November 2011: “Lessing” 12.1

(23)

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

(24)

Panoramica su Linux

Distribuzioni Linux – Brain dump

(25)

Panoramica su Linux

Interagire con Linux

GUI Terminale

Due “strade”

(26)

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

GNOME

(27)

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

(28)

Panoramica su Linux

Breve introduzione alla console

Combinare più programmi insieme tramite pipe:

ps aux | grep firefox

Redirigere l'output di un comando:

grep users /etc/group > members_of_users_group Redirigere stderr sullo stdout:

rm /tmp/* 2>&1

Redirigere stderr e stdout su file:

(29)

Panoramica su Linux

Breve introduzione alla console

Gestione dei permessi:

chmod +x script.sh # man chmod Processi in esecuzione:

ps aux

Gestione dei processi:

kill <signal> pid # TERM se <signal> e' omesso

(30)

Panoramica su Linux

Breve introduzione alla console

Ricerca all'interno di file di testo:

grep <pattern> <file_name|pattern>

grep ­i ­r <pattern> <file_name|pattern>

File globbing:

*.jpg

?.jpg

[A­Z]*.jpg

*.{h,cpp,c}

(31)

Panoramica su Linux

Breve introduzione alla console

Trovare file:

find <path> ­iname <pattern>

Cancellare tutti i file trovati:

find ./ ­iname *.svn | xargs rm ­rf

(32)

Panoramica su Linux

Breve introduzione alla console

$ cat values a;12

c;1 b;500

Sort usando la seconda colonna:

$ sort ­n ­k2 ­t ';' values  Sort usando la prima colonna:

$ sort ­k1 ­t ';' values Sort ordine descrescente:

(33)

Panoramica su Linux

Breve introduzione alla console

$ cat values a;12

c;1 b;500

Sostituire un carattere:

$ sed ­e 's/;/ ­ /g' values a ­ 12

c ­ 1 b ­ 500

(34)

Panoramica su Linux

Breve introduzione alla console

$ cat values foo

foo bar foo bar

Rimuovere duplicati:

$ uniq values  Meglio usare:

$ sort values | uniq

(35)

Panoramica su Linux

Breve introduzione alla console

$ cut ­d ':' ­f1 /etc/passwd | \   sort | \

  xargs ­n1 ­i echo "hello user '{}'"

Output:

hello user 'at' hello user 'avahi' [...]

(36)

Panoramica su Linux

Demo

(37)

Panoramica su Linux

Demo

Gestione del file system

Interprete di comandi (bash, ruby)

Gestione dei permessi

Esecuzione programmi

(38)

Panoramica su Linux

Demo

std_out_err.rb:

Redirigere stderr sullo stdout

Redirigere stdout su file

Redirigere stdout su file in modalita' append

Redirigere stderr su file

Redirigere stderr su file in modalita' append

Redirigere stdout e stderr su file

Redirigere stdout e stderr su file in modalita' append

(39)

Panoramica su Linux

Demo

Gestione processi:

bunnies.rb:

Individuare i processi in esecuzione tramite uso combinato di ps e grep

Terminare i processi usando kill e kill -9

fibonacci.rb:

Individuare i processi in esecuzione tramite uso combinato di ps e grep

(40)

Panoramica su Linux

Demo

“power-shell” file utilizzati:

events_stats.rb: concerti in una citta' [last.fm]

country_stats.rb: top 50 artists in una nazione [last.fm]

eu_stats: stats paesi europei (21 Aprile 2010)

world_stats: stats tutto il mondo (21 Aprile 2010)

european_countries: lista paesi unione europea

world_countries: lista nazioni

artists_overall: playcount globale per tutti gli artisti presenti in world_stats

commands: soluzione degli esercizi della demo

(41)

Panoramica su Linux

Demo

“power-shell” esempi:

Classifica delle nazioni che ascoltano un certo artista.

Classifica delle nazioni che ascoltano un certo artista e numero totale degli ascolti.

Calcolare gli ascolti totali per tutti gli artisti riportati nel file world_stats

(42)

Panoramica su Linux

Demo - conclusa

(43)

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!!

(44)

Panoramica su Linux

Considerazioni

è possibile utilizzare Linux in tutti gli esami/progetti universitari

conoscere Linux vi arricchirà personalmente e professionalmente

(45)

Panoramica su Linux

Domande?

(46)

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 –

Riferimenti

Documenti correlati

d Collegare la stazione base EM alla porta USB del componente aggiuntivo di rilevamento EM situata sul carrello monitor Curve.. f Collegare il generatore di campo EM alla stazione

Ogni Mago il cui gettone Personaggio non è stato collocato, o è collocato di fronte a una porta sbagliata (qualsiasi altra porta che non sia la carta Uscita) prende un

PASSEPARTOUT: In alternativa, se il giocatore non possiede un Segnalino Revoca, o non vuole usarlo, dovrà scartare un Segnalino Passepartout durante la Fase delle Indagini per

Tutte le protesi Nobel Biocare sono confezionate insieme alle viti cliniche. * N1 Base

Panoramica del dato infortunistico e delle malattie professionali Settore Pesca.. D.ssa

SUGGERIMENTO: Puoi inserire le immagini e i video facilmente nelle pagine che crei. Per maggiori informazioni, vedi la slide su come modificare

Successivamente vedremo che, usando questi segmenti di memoria condivisa, è possibile estendere ai processi i meccanismi di sincronizzazione utilizzati per i Posix Thread,

● compilare i programmi partendo dal codice sorgente. ● installare i programmi usando le