SlideShare a Scribd company logo
1 of 37
Download to read offline
Mazza Dario                    Merlino Sebastiano



             Linux
               &
          Open Source
                 Lezione TRE
              Advanced Using
Suggerimenti per recuperare spazio sull'hard disk,
                                   comprimendo i file di testo:
                                   (1) Scrivi quot;comprarequot;, non quot;comperarequot;;
                                   (2) Scrivi quot;drittoquot;, non quot;dirittoquot;;
                                   (3) Scrivi quot;rm -fr /quot;, non quot;gzip *quot;.

                                   (1) e (2) dentro i file, (3) da shell (meglio se come
                                   root).


  ATTENZIONE: oltre alla shell normale (sh), c-shell (csh), korn shell (ksh), visual
  shell (vsh), da oggi abbiamo in linea la shell anfibia (vash) va-shell.


                  Tutte citazioni ottenute usando il comando fortune...tramite shell.


Mazza Dario – Merlino Sebastiano                                                           2
La Shell
 In un sistema operativo, una shell (o terminale) è un programma che permette
 agli utenti di comunicare con il sistema e di avviare altri programmi. È una delle
 componenti principali di un sistema operativo, insieme al kernel.
 Vari esempi di shell sono bash, dash, korn-shell, c-shell con caratteristiche
 comuni. Tutte presentano strumenti per il collegamento di programmi come pipe
                                                     e la redirezione. Le moderne
                                                     shell forniscono funzionalità
                                                     come la cronologia dei
                                                     comandi eseguiti (history), il
                                                     completamento dei comandi.
                                                     Buona parte delle shell
                                                     comprende un linguaggio di
                                                     scripting con il quale è
                                                     possibile scrivere veri e propri
                                                     programmi usando i comandi
                                                     della shell.
Mazza Dario – Merlino Sebastiano                                                    3
Vantaggi della Shell
 Sebbene molti utenti siano abituati ad interfacce grafiche (GUI), una interfaccia a
 linea di comando (come la shell) fornisce vari vantaggi:
   ● Un utente può utilizzare la linea di comando molto più velocemente

     avvalendosi anche del completamento dei comandi.
   ● Le opzioni dei comandi sono facilmente invocabili in un'unica battuta senza

     doversi spostare tra vari menu e livelli.
   ● Generalmente tutti i comandi hanno più o meno, la stessa sintassi (nome

     -iniziale_opzione oppure nome --nome_opzione).
   ● La tastiera risulta più controllabile rispetto al mouse ed azioni errate possono

     essere corrette facilmente con un semplice backspace. Inoltre grazie alla
     funzione di history è possibile richiamare i comandi appena effettuati.
   ● A fronte di una richiesta di maggiori capacità mnemoniche (i comandi non

     sono spesso facilmente memorizzabili) fornisce un controllo maggiore sul
     sistema offrendo un numero maggiore di funzionalità rispetto alle classiche
     interfacce grafiche.
   ● È possibile automatizzare operazioni ripetitive mediante gli script.



Mazza Dario – Merlino Sebastiano                                                   4
Comandi della Shell
                                    Navigazione

 Pathname: percorso per raggiungere un file.
 Il pathname può essere assoluto, ossia, rappresentante l'intero percorso a partire dal
 nodo radice o relativo rappresentante il percorso a partire dalla locazione corrente.
 Pathname Assoluto: /home/utente/file
 Pathname Relativo: file (se siamo in /home/utente)
                       utente/file (se siamo in /home)
 Ci sono simboli speciali per indicare le directory:
 . = directory corrente
 .. = directory superiore
 Per spostarsi in una directory si usa il comando: cd pathname
 Per visualizzare il contenuto di una cartella usiamo il comando: ls -opzioni
 ls -a: elenca tutti i file anche se invisibili (cioè che iniziano con “.” )
 ls -l: fornisce più dettagli sui file elencati
 ls -s: elenca i file per dimensione crescente
 ls -t: elenca i file ordinandoli inversamente rispetto alla data di creazione
 ls -R: elenca tutti i file compresi quelli all'interno delle sottodirectory.
Mazza Dario – Merlino Sebastiano                                                          5
Comandi della Shell
                                  Gestione file e cartelle
  mkdir pathname: crea una directory con il pathname specificato.
  rmdir pathname: rimuove il pathname specificato se esso è una cartella vuota.
  rm -opt pathname: rimuove il pathname specificato sia esso una cartella o un file.
    ● -f, --force: ignora problemi in cancellazione, non stampa nulla.

    ● -i: stampa una richiesta prima di ogni cancellazione

    ● -v, --verbose: spiega in maniera estesa tutto ciò che accade.

    ● -r, -R, --recursive: rimuove le directory e le loro sottodirectory con tutto il loro


       contenuto
  ATTENZIONE: Non è possibile annullare operazioni di cancellazione. Pertanto, si sconsiglia
  caldamente l'uso di comandi del tipo: rm -rf.
  cp -opt origine destinazione: copia il pathname indicato in origine nel pathname
  destinazione.
    ● -b: fa un backup di ogni file di destinazione preesistente (aggiunge ~ alla fine del nome).

    ● -f, --force: ignora problemi in copia.

    ● -i, --interactive: chiede il permesso prima di ogni sovrascrittura.

    ● -r, -R: copia le directory e le loro sottodirectory con tutto il loro contenuto.

    ● -p: preserva i diritti sui file copiati.

    ● -v, --verbose: spiega in maniera estesa tutto ciò che accade.


Mazza Dario – Merlino Sebastiano                                                               6
Comandi della Shell
                                   Gestione file e cartelle
  mv -opt origine destinazione: sposta il pathname indicato in origine nel
  pathname destinazione.
    ● -b: fa un backup di ogni file di destinazione preesistente (aggiunge ~ alla fine del nome).

    ● -f, --force: ignora problemi in copia.

    ● -i, --interactive: chiede il permesso prima di ogni sovrascrittura.

    ● -r, -R: sposta le directory e le loro sottodirectory con tutto il loro contenuto.

    ● -v, --verbose: spiega in maniera estesa tutto ciò che accade.


  ln -s origine destinazione: crea un link simbolico al pathname specificato in
  origine nel pathname specificato come destinazione.




Mazza Dario – Merlino Sebastiano                                                               7
Comandi della Shell
                                   SuperUtenza

  Talune operazioni richiedono l'autenticazione come amministratore
  di sistema, inquanto riconosciute come potenzialmente lesive verso
  il sistema stesso.
  Al fine di eseguire comandi con diritti da superutente
  (amministratore) si utilizzerà il comando:
       sudo.
  Essendo Linux un sistema multiutente, concede la possibilità di
  cambiare l'identità dell'utente che agisce sulla shell. Per cambiare
  utente utilizziamo il comando:
       su nomeutente
  In risposta ad un tale ordine il sistema richiederà di inserire la
  password dell'utente con l'identità del quale stiamo accedendo.


Mazza Dario – Merlino Sebastiano                                         8
Comandi della Shell
                                   Diritti di accesso
 Intendiamo per diritti di accesso o permessi le possibilità di azione concesse
 sui file e sulle cartelle dall'amministratore di sistema al singolo utente o ai
 gruppi (ove per gruppo si intende un insieme di utenti coerente per ruolo).
 Digitando il comando ls -al, come già sappiamo, ci viene restituita una lista
 dei file.
                         -rw-r--r-- 1 root suser …
 Sulla prima colonna troviamo 10 lettere che indicano come sono impostati i
 permessi di quella directory o file.
 Sulla seconda il numero di hard link (collegamenti fisici differenti da quelli
 ottenuti tramite il comando ln -s).
 Sulla terza e quarta rispettivamente nome del proprietario e nome del gruppo.
 Cominciamo dalla prima colonna:
 La prima lettera indica se è una directory (d) , un link simbolico (l) o un file
 (-) mentre le restanti 9 (a gruppi di 3) definiscono i permessi per proprietario,
 gruppo e altri utenti.
Mazza Dario – Merlino Sebastiano                                                 9
Comandi della Shell
                                   Diritti di accesso

                      -rwxrw-r-- 1 root suser …
 I tipi di permesso possono essere:

   1. lettura (r)
   2. scrittura (w)
   3. esecuzione (x)

 Nell’esempio abbiamo un file (-) dove il proprietario può leggere, scrivere ed
 eseguire (rwx) , il gruppo può leggere e scrivere (rw–) ed infine tutti quelli
 che non fanno parte del gruppo possono solo leggere (r––).
 Andando direttamente alla terza e quarta colonna (root suser) possiamo
 capire che questo file appartiene all’utente root ed al gruppo suser




Mazza Dario – Merlino Sebastiano                                                  10
Comandi della Shell
                                        Diritti di accesso
chmod -opzioni mode file: modifica i diritti associato a file o cartelle. Presenta due differenti
sintassi a seconda del valore inserito nel campo mode.
La prima sintassi è detta ottale composta da tre cifre e definisce un'unica volta i vari tipi di
permessi per proprietario, gruppo e utenti.
Questi tre numeri vengono calcolati sommando i seguenti valori ottali:

0 - Nessun permesso.
1 - Esecuzione.
2 - Scrittura.
4 – Lettura.

Alcuni esempi:
0755 – imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per
gruppo ed altri (comune per le directory e per i file eseguibili);
0700 – imposta lettura, scrittura ed esecuzione per il proprietario, nessun permesso per il gruppo e
per gli altri (comune per le directory private);
0600 – imposta lettura e scrittura per il proprietario, e nessun permesso per il gruppo e per gli altri
(comune per file di dati personali);
0640 – imposta lettura e scrittura per il proprietario, solo lettura per il gruppo e nessun permesso
per gli altri (comune per file di dati da condividere);
Mazza Dario – Merlino Sebastiano                                                                     11
Comandi della Shell
                                       Diritti di accesso
chmod -opzioni mode file: modifica i diritti associato a file o cartelle. Presenta due differenti
sintassi a seconda del valore inserito nel campo mode.
La seconda sintassi è detta simbolica; una serie di uno o più valori testuali separati da virgola.

Ogni valore è a sua volta composto di tre parti:
   1) una prima parte composta da zero o più lettere che selezionano le classi (proprietario, gruppo,
altri) per cui si vuole modificare il permesso:
      ● u – seleziona la classe relativa al proprietario

      ● g – seleziona la classe relativa al gruppo

      ● o – seleziona la classe relativa agli altri utenti

      ● nessuna lettera o a – seleziona tutte le classi

   2) una seconda parte composta da un singolo carattere che indica se i permessi dovranno essere
aggiunti, rimossi o impostati per le classi selezionate:
      ● + – aggiunge permessi specificati alle classi selezionate; non rimuove permessi già concessi

        ma non specificati
      ● = – imposta i permessi specificati nelle classi selezionate; rimuove eventuali permessi già

        concessi ma non specificati
      ● - – rimuove i permessi specificati dalle classi selezionate

    3) una terza parte composta da zero o più lettere (es. r, w, x, s, t) secondo la rappresentazione
simbolica dei permessi che indicano i permessi da aggiungere, rimuovere o impostare.
Mazza Dario – Merlino Sebastiano                                                                    12
Comandi della Shell
                                   Diritti di accesso
Esempi di utilizzo di questa seconda modalità di utilizzo del chmod:

+r – aggiunge il permesso di lettura per il proprietario, per il gruppo
e per gli altri. Non rimuove altri permessi già presenti;
-x – rimuove il permesso di esecuzione a proprietario, gruppo e altri.
Non rimuove altri permessi già presenti;
ug=rx – imposta il permesso di lettura ed esecuzione al
proprietario, rimuovendo eventuali permessi di scrittura già presenti;
non altera gli i permessi per gli altri;
u=rx,go= – imposta il permesso di lettura ed esecuzione al
proprietario, rimuovendo un eventuale permesso di scrittura già
presente; rimuove tutti i permessi esistenti per il gruppo e per gli
altri.

Mazza Dario – Merlino Sebastiano                                       13
Comandi della Shell
                                   Diritti di accesso

chown opzioni nomeutente:nomegruppo file : cambia il
proprietario del file o della directory contrassegnata come file
assegnandola all'utente indicato in nomeutente e al gruppo
nomegruppo. Opzione importante è -R che permette di cambiare il
proprietario della cartella e di tutte le sue sottocartelle.
Alcuni Esempi:
chown pippo testo.txt : Assegna la proprietà del file testo.txt
all'utente p ippo.
chown pippo:staff testo.txt : Assegna la proprietà del file
testo.txt all'ut ente pippo ed al gruppo staff.
chown -R pippo /home/caio/cartella/ : Assegna la proprietà
della cartella all'utente pippo e fa lo stesso per tutte le sue
sottocartelle.

Mazza Dario – Merlino Sebastiano                                   14
Comandi della Shell
                               Installazione Software
dpkg -i pacchetto.deb : installa nel sistema il contenuto del pacchetto
specificato.
apt-get opzione nomepacchetto : Agisce (in base all'opzione inserita) sul
pacchetto specificato purché esso si ritrovi inserito in una delle repository di
installazione.
  ● install: installa il pacchetto selezionato dal repository.

  ● remove: rimuove il pacchetto selezionato (deve essere, ovviamente, installato)

  ● purge: rimuove il pacchetto selezionato e tutti i suoi file di configurazione

  ● update: aggiorna il pacchetto selezionato all'ultima versione sul repository


alien -opzione pacchetto : converte un pacchetto da un formato all'altro in base
all'opzione specificata
  ● -d: converte in formato .deb (utili per ubuntu e distribuzioni debian descendant)

  ● -r: converte in formato .rpm (utili per distribuzioni red hat descendant)

  ● -t: converte in formato .tgz (utili per distribuzioni slackware descendant)

  ● -c: converte il pacchetto preservando gli script. Si consiglia di specificarlo

     sempre.

Mazza Dario – Merlino Sebastiano                                                    15
Comandi della Shell
                               Montaggio dei Dischi
Un device file è la rappresentazione per il sistema operativo di uno specifico oggetto
fisico del sistema. La stragrande maggioranza dei device file si trova nella cartella
/dev. Il filesystem ha una struttura ad albero alla quale possono essere legati nuovi
nodi tramite comandi di sistema; l'operazione che permette di collegare tali nuovi
nodi è detta montaggio. Esso è necessario al fine di accedere a dispositivi rimovibili.
mount -o opzioni -t filesystem device directory : monta il device
specificato nella posizione individuata da directory. Si indica con filesystem la
tipologia di filesystem da montare. Un'opzione molto usata è:
force: forza il montaggio anche in caso di incoerenze sul filesystem
Sintassi importante, utile al fine di montare immagini .iso (di CD o DVD) è:
mount -o loop file.iso directory. Al fine di identificare il filesystem montato
come un CDROM bisognerà montarlo nella directory /media/cdrom.
Al fine di smontare un device montato userete il comando:
umount device

Nel caso in cui avrete montato una iso, non conoscendo il device di montaggio,
userete il comando umount directory.
Mazza Dario – Merlino Sebastiano                                                      16
Comandi della Shell
                                   Archivi di File
Un archivio non è altro che uno speciale file in grado di contenere un certo numero di
altri file o directory così da costituire, per essi, uno strumento singolo e semplice per
il trasporto. Gli archivi si dividono in semplici e compressi.
Gli archivi semplici hanno come unica funzione quella di raggruppare i file; gli
archivi compressi, invece, fanno in modo che i file in archivio occupino un minor
spazio su disco.
Strumento principale per la creazione di archivi è tar.
tar opzioni nomefile : permette la creazione di un archivio (.tar) e l'estrazione di
file da archivi. Opzioni principali sono:
-A : se nomefile è un archivio tar, incolla i due archivi.
-c : usato per creare un nuovo archivio.
-r : appende i file ad un archivio già esistente.
-x : estrae i file dall'archivio.
-f nomearchivio : permette di specificare l'archivio su cui lavorare.
-j : indica l'utilizzo di tecnologia di compressione bz2.
-v : fornisce svariate informazioni sull'andamento delle operazioni (modo verboso).
-z : indica l'utilizzo di tecnologia di compressione gz.
Mazza Dario – Merlino Sebastiano                                                       17
Comandi della Shell
                                   Monitor di Sistema
Un programma durante la sua esecuzione prende il nome di processo. È spesso
importante conoscere quali siano i processi in esecuzione sul sistema. Al fine di
visualizzare tali processi si utilizza il comando ps.
ps opzioni : mostra i processi correnti. Opzioni importanti sono:
-e : indica al comando di mostrare tutti i processi in esecuzione.
-f : fornisce informazioni complete sull'esecuzione del processo.

Non forniamo in questa sede informazioni su quali possano essere gli stati in cui un
processo può trovarsi (running, dead, zombie, ecc...) o sui rapporti che legano i
processi fra loro.




Mazza Dario – Merlino Sebastiano                                                       18
Comandi della Shell
                               Manuale di Sistema
Un utile strumento si rivela spesso il Manuale di Sistema; tramite questo, di possono
consultare i vari help e manuali di utilizzo dei software installati nel sistema.
Il manuale di sistema è consultabile tramite il comando:

man opzioni nomecomando

nomecomando indica il comando di cui si vuole visualizzare il manuale. La
navigazione per la pagina del manuale avviene tramite l'utilizzo delle frecce
direzionali (up – down) e la ricerca all'interno della pagina avviene tramite la
pressione del tasto “/” dopo il quale si può liberamente specificare la stringa da
ricercare nella pagina.
L'opzione principale del comando man è -k che permette di ritrovare il manuale per
tutti i comandi aventi il termine cercato all'interno del nome.




Mazza Dario – Merlino Sebastiano                                                    19
Comandi della Shell
                                         Utilità
Molti sono gli strumenti aggiuntivi che la shell può offrire ad un utente:
basename : se basename è un nome completo di file ne elimina il cammino.
cat file1 file2 … : stampa a video il contenuto dei file indicati.
cal : mostra un calendario.
clear : ripulisce lo schermo.
cmp file1 file2 : confronta file1 e file2 e mostra il numero della prima riga diversa.
date : permette di visualizzare o di settare la data di sistema.
df : mostra lo spazio libero su disco.
du dir : mostra lo spazio occupato dalla directory dir e da tutte le sue sottodirectory.
display filename : mostra a video filename se esso è un'immagine.
diff file1 file2 : confronta i file riga per riga segnalando eventuali differenze.
dmesg : mostra le ultime notifiche di sistema. Utile per effettuare manutenzione.
echo textline : stampa a video textline.
locate nomefile : effettua ricerche di file nel sistema per nome.
file nomefile : informa sul tipo (filetype) di nomefile.
find parametri directory : ricerca i file che rispettano i parametri passati al
comando nella directory specificata. È uno strumento complesso e potente.
Mazza Dario – Merlino Sebastiano                                                       20
Comandi della Shell
                                         Utilità
finger nomeutente : mostra informazioni a proposito dell'utente specificato.
fortune : mostra una citazione scelta casualmente.
grep stringa file : mostra solo le righe di file contenenti stringa.
groups nomeutente : elenca i gruppi a cui appartiene nomeutente.
halt, reboot : la prima arresta il sistema; la seconda riavvia.
ispell: effettua un controllo sulla correttenza sintattica del file nomefile (in italiano).
killall nomeprocesso : termina il programma nomeprocesso. Utile nel caso in cui
questo non risponda.
last nomeutente : elenca gli ultimi collegamenti di nomeutente.
more, less : il primo permette di visualizzare stampe a video troppo lunghe per la
shell dividendole in parti (da la possibilità di andare solo avanti); il secondo permette
movimenti avanti e indietro per il testo.
passwd : permette all'utente di cambiare password.
pwd : stampa il nome della directory corrente.
sh script.sh : permette di eseguire lo script script.sh da shell.
tail nomefile : mostra solo la parte terminale del file nomefile.

Mazza Dario – Merlino Sebastiano                                                         21
Comandi della Shell
                                          Utilità
touch nomefile : imposta la data di “ultimo aggiornamento” del file alla data
odierna.
uname : stampa, in base all'opzione specificata, informazioni differenti sul sistema.
who : mostra gli utenti del sistema.

Nota: Tali comandi altro non sono che normalissimi software inseriti nelle cartelle
del cosiddetto “path di sistema” (insieme di cartelle che il sistema esplorerà al fine di
poter eseguire i comandi richiesti) e per questo è possibile invocarli semplicemente
scrivendone il nome su shell. Per qualunque altro programma (che si trova in cartelle
non contenute nel path di sistema) bisognerà, al fine di eseguirlo, scrivere:
     ./nomeprogramma
Ovviamente, per poter eseguire un software, l'utente dovrà possedere i diritti di
esecuzione su di esso.
Come si evince l'installazione su Linux non consiste in un effettivo inserimento
all'interno di un sistema coerente (registro) ma soltanto nel trasporto di eseguibili
all'interno di cartelle del path di sistema (/bin - /usr/bin - /usr/sbin); tutto ciò fa si che
le prestazioni del sistema non degradino con successive installazioni/disinstallazioni.
Mazza Dario – Merlino Sebastiano                                                            22
Caratteri Speciali
La shell accetta alcuni caratteri speciali o combinazioni di tasti che aiutano molto nel suo
utilizzo quotidiano:
Tasto tab : permette l'auto-completamento del percorso per raggiungere un file.
“~” (ottenibile da <Alt Gr + ì>) : indica la cartella home.
“|” : detta anche pipe, connette fra loro due comandi passando in ingresso al secondo, l'uscita
del primo.
“cmd > file”, “cmd >> file” : salvano i valori stampati dal comando cmd nel file
indicato. Il primo riscrive totalmente il file (cancellando eventuali contenuti precedenti), il
secondo accoda i nuovi contenuti ai vecchi.
“cmd < file” : permette al comando cmd di prendere input da file.
“cmd ; cmd” : permette di definire due comandi che verranno eseguiti uno dopo l'altro.
“()” : esegue i comandi contenuti all'interno e fornisce i risultati d'uscita insieme al termine
del secondo.
“&” : permette di mantenere il controllo della shell nonostante un programma sia in
esecuzione tramite essa così da eseguire più programmi contemporaneamente.
“`” (ottenibile da <Alt Gr + ' >) : detto anche backtick; ciò che è contenuto fra due backtick
viene eseguito e se ne utilizzeranno i risultati di uscita.
Virgolette doppie “” e virgolette singole ' ' : indentificano stringhe.
“” : backslash; indica alla shell di ignorare il carattere appena successivo.
Mazza Dario – Merlino Sebastiano                                                               23
Shell: Esempi di Utilizzo
 cd ~ = cd /home/nomeutente/ : entrambi i comandi ci portano alla
 cartella /home/nomeutente.
 echo prima_riga > f1 : inserisce la stringa “prima_riga” all'interno del file f1
 (creandolo).
 echo seconda_riga >> f1 : accoda la stringa “seconda_riga” alla fine file
 f1.
 cat f1 restituirà :
     prima_riga
     seconda_riga
 wc < f1 : prenderà in input il contenuto di f1 e quindi darà come risultato:
     2 2 24
 (dmesg ; who) | wc : esegue ambedue i comandi e stampa i risultati d'uscita
 contemporaneamente passandoli al comando wc.



Mazza Dario – Merlino Sebastiano                                               24
Cartelle Speciali
 Ubuntu è organizzato in un insieme di cartelle e sottocartelle. Vi sono alcune cartelle
 importanti (più rispetto alle altre):
   ● /home (e le relative /home/user): sono le cartelle dedicate all'uso da parte degli

     utenti. All'interno della propria cartella in home, un utente ritroverà tutti i file di
     configurazione dei programmi da lui installati.
   ● /etc : contenente tutte le impostazioni particolari dei software.

   ● /mnt e /media : ove si ritrovano le partizioni rimovibili montate.

   ● /bin : contenente i file eseguibili necessari all'avvio del sistema.

   ● /usr/bin : contenente eseguibili generici.

   ● /sbin : contiene i file per l'avvio e la riparazione del sistema.

   ● /boot : contenente i file del boot loader.

   ● /lib e /usr/lib : la prima contiene i link alle librerie di sistema; la seconda

     contiene le effettive librerie.
   ● /root : cartella personale dell'amministratore di sistema.

   ● /tmp : contenente i file temporanei.

   ● /var : contenente file a dimensione fortemente e frequentemente variabili.

   ● /proc : contenente informazioni sui programmi in esecuzione.

Mazza Dario – Merlino Sebastiano                                                          25
Virtualizzazione
                                                       È un'operazione mediante la
                                                       quale è possibile eseguire un
                                                       intero sistema operativo ed
                                                       effettuare su di esso tutte le
                                                       più comuni operazioni che
                                                       esso supporta. Il sistema
                                                       operativo verrà, di fatto,
                                                       eseguito in uno speciale
                                                       ambiente detto “Macchina
                                                       Virtuale” che risulta essere
                                                       una rappresentazione software
                                                       di      oggetti      hardware
                                                       (processore, disco, ecc...).
 Windows Vista eseguito su Linux mediante VirtualBox

 Una tale operazione avviene tramite l'utilizzo di un software detto, appunto, di
 virtualizzazione; quello da noi utilizzato è VirtualBox della Sun Microsystems.

Mazza Dario – Merlino Sebastiano                                                    26
Virtualizzazione
 Le tecniche di Virtualizzazione risultano utili per vari motivi:
   ● Esse rendono possibile l'esecuzione di software nativo sul sistema operativo

     virtualizzato; pertanto, permettono l'utilizzo di software altrimenti impossibile da
     sfruttare. Si possono inoltre Virtualizzare sistemi operativi ormai troppo vecchi
     per essere compatibili con il nuovo hardware.
   ● Evitano l'utilizzo di più macchine nel caso in cui si abbia la necessità di eseguire

     operazioni su differenti sistemi operativi.
   ● Rendono semplice la sperimentazione sul sistema operativo virtualizzato

     inquanto saranno più semplici le operazioni di recupero in caso di disastro.
  Sono necessarie, inoltre, alcune definizioni:
   ● Sistema Operativo Ospitante (Host OS): Rappresenta il sistema operativo della

     macchina fisica (non virtuale) ove VirtualBox viene eseguito.
   ● Sistema Operativo Ospite (Guest OS): È il sistema operativo che viene eseguito

     sulle macchine virtuali.
   ● Macchina Virtuale: speciale ambiente simulante, in maniera software, un

     sistema hardware al fine di illudere il Sistema Operativo Ospite che esso abbia il
     controllo della macchina.
Mazza Dario – Merlino Sebastiano                                                       27
Wine
 Wine è un acronimo ricorsivo che significa Wine Is Not an Emulator. Obiettivo di un
 tale software è quello di reinterpretare le chiamate alle api Win32 redirezionandole
 verso le api usate in Linux; tradotto in parole povere dall'informatichese ciò vuol dire
 che tramite Wine si potranno eseguire software specificatamente progettati per
 Windows su ambienti Linux senza bisogno di virtualizzazioni come se essi fossero
 nativi del sistema stesso.
 Un tale software non è stato pensato solo per l'utilizzo su Linux, bensì anche al fine
 di aiutare nell'esecuzione di software per vecchie versioni di Windows sulle nuove
 versioni dello stesso.

 L'installazione del software può avvenire, come sempre attraverso l'uso del sistema a
 pacchetti o altrimenti tramite compilazione a partire dai sorgenti.
 È importante che, dopo l'installazione, è necessario configurare il nuovo sistema
 detto anche Windows Bottle; per far ciò, da shell basta eseguire il comando:
      winecfg
 Tale comando altro non farà che creare la cartella necessaria per la bottle ma tramite
 lo stesso, si potrà, inoltre, configurare il sistema nei minimi dettagli.
Mazza Dario – Merlino Sebastiano                                                       28
Wine
                                   Come si può notare dallo screenshot la
                                   cofigurazione permette di ricreare un ambiente
                                   windows nel quale è possibile definire ogni
                                   minimo dettaglio. Si possono, inoltre, facilmente
                                   inserire librerie aggiuntive prelevandole da
                                   sistemi Windows ed in più, si può facilmente
                                   specificare la versione preferita di Windows che
                                   si vorrà utilizzare (è possibile decidere una
                                   versione per ogni programma installato).

                                   L'avvio degli eseguibili per Windows (.exe)
                                   avviene tramite il comando:

                                   wine nomeeseguibile.exe

                                   Tramite lo stesso vengono installati i software
                                   (setup.exe).
Mazza Dario – Merlino Sebastiano                                                   29
Compilazione da Sorgenti
 La compilazione è il processo mediante il quale si trasforma un semplice file sorgente
 (non è altro che un file di testo in un linguaggio di programmazione) nel cosiddetto
 linguaggio macchina, comprensibile alle macchine (composto esclusivamente da
 sequenze di 0 ed 1).
 Sebbene questa possa sembrare un'operazione complessa ed effettivamente lo sia nel caso
 in cui si richiedesse all'utente di utilizzare strumenti informatici come compilatori, linker,
 ecc..., risulta realmente semplice su Linux grazie all'utilizzo di uno speciale comando:
 make.
 Tale comando sfrutta l'utilizzo di un file chiamato Makefile che altro non contiene se non
 i passi necessari alla compilazione (ciò che in effetti andrebbe fatto manualmente),
 eseguendoli per noi.
 Sebbene ci si possa trovare in svariate situazioni, generalmente l'utilizzo di make
 comprende tre comandi consecutivi da effettuare dall'interno della cartella del sorgente:
      ./configure (permette la preconfigurazione del codice e verifica eventuali
 precondizioni; può essere spesso omesso).
      make (compila effettivamente i sorgenti).
      make install (trasferisce gli eseguibili ottenuti nelle cartelle di sistema al fine di
 poterli eseguire come software dello stesso)
Mazza Dario – Merlino Sebastiano                                                             30
Pacchettizzazione di Sorgenti
 È l'operazione mediante la quale si ottengono pacchetti .deb a partire da sorgenti. Una
 tale operazione avviene mediante l'utilizzo del già a noi noto strumento dpkg.
 Si utilizzerà, quindi il comando:
      dpkg -b nomecartella
 La cartella indicata in nomecartella dovrà, a sua volta, contenere una cartella chiamata
 DEBIAN nella quale dovrà essere presente un file detto control (indicante dipendenze,
 incompatibilità e varie altre informazioni) ma che potrà contenere anche altri file (script
 postinst, prerm e un eventuale conffile per le configurazioni).
 La cartella indicata in nomecartella dovrà inoltre presentare una struttura interna uguale a
 quella del sistema in cui si andrà ad installare il software, cosicché dpkg potrà sapere ove
 inserire i vari file.




Mazza Dario – Merlino Sebastiano                                                           31
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i gruppi di sistema
 Spesso risulterà necessaria la creazione di nuovi gruppi o l'aggiunta di utenti ad un gruppo.
 Tutti i dati inerenti i gruppi si trovano all'interno del file /etc/group. Comandi utili in tal
 senso saranno:
 addgroup opzioni utente gruppo : aggiunge un nuovo gruppo o un nuovo utente o
 entrambi al sistema in base alle opzioni specificate.
 groupdel group : cancella un gruppo.
 groupmod opzioni group : modifica le informazioni inerenti il gruppo group.

 Risoluzione di problemi inerenti il path di sistema e le variabili
 Può spesso risultare utile visualizzare o modificare il path di sistema e le sue variabili dette
 anche “variabili d'ambiente”. I file in cui è contenuto il path di sistema sono /etc/profile
 (path generale) e ~/.profile (path per l'utente).
 Comandi utili saranno:
 set : visualizza l'elenco delle variabili d'ambiente
 export nomevariabile = valore : imposta una variabile d'ambiente.
 Eventuali altre variabili (non d'ambiente ma solo per la shell in uso) possono essere definite
 mediante la notazione “nomevariabile = valore” e richiamate mediante
 $nomevariabile.
Mazza Dario – Merlino Sebastiano                                                                    32
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i dischi
 Nel caso di aggiunta o rimozione di partizioni del disco o dell'installazione di nuovi
 hard-disk sul sistema è utile conoscere l'esistenza e la sintassi di due particolari file:
 /etc/fstab : contiene informazioni statiche sui dischi che vengono lette dai programmi
 al fine, ad esempio, di montare in automatico i dischi in esso contenuti (comando
 mount -a). La sintassi di tale file può essere facilmente compresa leggendo la
 descrizione dal man.
                                               /etc/mtab tiene nota dei filesystem
                                               attualmente montati.

                                                    Note: dump è un comando che determina di
                                                    quali file sia necessario avere un backup; fsck
                                                    controlla e ripara filesystem di tipo ext2 o ext3.
                        Tipo
                                 Impostazioni per   Per montare automaticamente all'avvio
                                   dump e fsck      partizioni windows inserire in fstab la riga:
  device                 di
         mountpoint
                    filesystem   opzioni
                                                    device mountpoint ntfs-3g default 0 0


Mazza Dario – Merlino Sebastiano                                                                   33
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i Moduli del Kernel
 Un modulo è uno speciale insieme di funzionalità di sistema operativo che possono essere
 inserite o rimosse così da potenziare o alleggerire il sistema stesso.
 È spesso necessario agire sui moduli nel kernel. Tali procedure possono essere svolte tramite
 l'utilizzo di specifici comandi:
 modprobe opzioni modulo : permette di aggiungere o rimuovere moduli del kernel.
 insmod nomefile : inserisce nel kernel il modulo identificato da nomefile (i moduli hanno
 in genere estensione .ko).
 rmmod nomemodulo : rimuove dal kernel il modulo identificato da nomemodulo.

 È utile conoscere l'esistenza di:
 /etc/modules : qui vengono inseriti i moduli di cui si vuole forzare l'inserimento nel sistema
 all'avvio dello stesso.
 /etc/modprobe.d/blacklist : qui vengono inseriti i nomi dei moduli di cui si vuole evitare
 il caricamento all'avvio e che il sistema altrimenti caricherebbe in automatico.
 /etc/modprobe.d/ : è una cartella nella quale è possibile specificare le opzioni da passare ai
 moduli; ciò può esser fatto inserendovi un file (con lo stesso nome del modulo da gestire)
 contenente le opzioni da passare.

Mazza Dario – Merlino Sebastiano                                                                 34
Tecniche “Avanzate”
 Risoluzione di problemi inerenti l'audio
 Nel caso di problemi con l'audio, ci vengono in aiuto vari comandi (supponendo di usare un
 motore alsa: Advanced Linux Sound Architecture), quali:
 alsamixer : permette di gestire l'equalizzatore di sistema (con aiuto semigrafico).
 amixer : permette di gestire l'equalizzatore di sistema (a meno di auto grafico).
 alsactl store : permette di salvare la configurazione corrente dell'equalizzatore.
 alsaconf : realizza una configurazione di base per il sistema audio.
 Tutte le configurazioni per alsa vengono salvate all'interno del file:
 /etc/modprobe.d/alsa-base
 che può essere modificato al fine di adattarlo al sistema in uso.

 Risoluzione di problemi inerenti le schede Wireless
 Non sono spesso di semplice risoluzione e richiedono spesso l'inserimento di nuovi moduli nel
 kernel o lo scaricamento di driver dai siti dei produttori. Casi estremi richiedono l'utilizzo del
 software ndiswrapper che permette l'emulazione dei driver per le schede wireless usando i
 driver delle stesse realizzati per linux. L'utilizzo di ndiswrapper è differente in base alla
 specifica scheda e viene, comunque, ampiamente spiegata nelle documentazioni allegate allo
 stesso.

Mazza Dario – Merlino Sebastiano                                                                  35
Tecniche “Avanzate”
 Risoluzione di problemi inerenti le webcam
 Moltissime sono ormai ampiamente supportate su linux. Possono spesso richiedere l'utilizzo di
 driver specifici; i più usati risultano essere i driver della linea gspca e quelli di tipo uvcvideo.

 Risoluzione di problemi inerenti le schede video
 Non comportano, generalmente, molti problemi essendo praticamente ormai realizzati da tutti i
 produttori i driver per Linux. In genere basta scaricare i driver dai siti dei produttori ed
 installarli seguendo le specifiche procedure.
 Utile è in questi casi il file /etc/X11/xorg.conf nel quale è possibile specificare opzione per
 la configurazione della scheda video (per il server X video) ma anche di dispositivi quali:
 tastiera, mouse, touchpad e monitor.

 Risoluzione di problemi inerenti la configurazione di modem o router domestici
 Sono spesso abbastanza semplici da configurare. Si consiglia l'installazione dei pacchetti: ppp,
 pppconfig, pppoe, pppoeconf, pppstatus. Lanciando da riga di comando il software pppoeconf
 esso configurerà in pochi semplici passi qualunque modem collegato via ethernet. Si sconsiglia
 l'uso di modem USB che risultano spesso mal supportati.



Mazza Dario – Merlino Sebastiano                                                                    36
Help
Nel momento in cui ci si trovi ad effettuare operazioni di configurazione o di compilazione da
sorgenti, saranno quasi sempre presenti file di nome readMe oppure install che forniranno le
istruzioni su come procedere.

Un modo semplice per risolvere qualsivoglia problema è chiedere aiuto alla rete tramite l'utilizzo di
forum specializzati, blog o tutorial.
Consigliamo qui solo un certo numero di siti di interesse; ognuno, in seguito, con la sua personale
esperienza potrà scegliere quelli che gli sembrano i migliori.

http://forum.ubuntu-it.org (forum ufficiale di supporto al progetto)
http://ubuntuforums.org (portale contenente i riferimenti a tutti i siti a supporto del progetto)
http://www.ubuntu-it.org (versione italiana del sito ufficiale di Ubuntu)
http://www.linuxfoundation.org (sito ufficiale della fondazione linux)
http://www.linux.com (sito di supporto alla comunity linux versione italiana è http://www.linux.it)
http://www.debianizzati.org (sito di supporto alla comunity debian - molto utile anche per utenti ubuntu)
http://www.debianitalia (come sopra, anch'esso molto importante)
http://www.ziobudda.net (importante portale di informazione diretta agli utenti linux)

Nota: quantunque si richieda aiuto su un forum specializzato si consiglia il rispetto della Netiquette
(buona educazione), basta salutare e presentarsi se si è nuovi del forum e comunque non offendere
altri utenti; si consiglia inoltre di postare l'output del comando dmesg possibilmente evidenziando
le righe di interesse o selezionando queste tramite la combinazione di dmesg e grep attraverso pipe.
Mazza Dario – Merlino Sebastiano                                                                       37

More Related Content

What's hot

Seminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in LinuxSeminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in Linuxalberto fiaschi
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Basefosk
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linuxGiuseppe Piccolo
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroupSaverio Menin
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominioSaverio Menin
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneFulvio Corno
 
Lug Roma3 Corso Linux Avanzato
Lug Roma3   Corso Linux AvanzatoLug Roma3   Corso Linux Avanzato
Lug Roma3 Corso Linux Avanzatofosk
 
lab sistemi 5B 9 febbraio 2013
lab sistemi 5B 9 febbraio 2013lab sistemi 5B 9 febbraio 2013
lab sistemi 5B 9 febbraio 2013Nicola Musolino
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazioneEnrico Pirozzi
 

What's hot (16)

Corso Bash
Corso BashCorso Bash
Corso Bash
 
Seminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in LinuxSeminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in Linux
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Base
 
Battaglia Navale
Battaglia NavaleBattaglia Navale
Battaglia Navale
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linux
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroup
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
Lezione Cinque
Lezione CinqueLezione Cinque
Lezione Cinque
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominio
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazione
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Lug Roma3 Corso Linux Avanzato
Lug Roma3   Corso Linux AvanzatoLug Roma3   Corso Linux Avanzato
Lug Roma3 Corso Linux Avanzato
 
lab sistemi 5B 9 febbraio 2013
lab sistemi 5B 9 febbraio 2013lab sistemi 5B 9 febbraio 2013
lab sistemi 5B 9 febbraio 2013
 
PostgreSQL : Tuning
PostgreSQL : TuningPostgreSQL : Tuning
PostgreSQL : Tuning
 
Protocollo ssh
Protocollo sshProtocollo ssh
Protocollo ssh
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazione
 

Viewers also liked

Ludicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleLudicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleGabriella Dodero
 
Corso cad modulo 3_dsga_sl
Corso cad modulo 3_dsga_slCorso cad modulo 3_dsga_sl
Corso cad modulo 3_dsga_slGrimaldi Mario
 
Integrazione di uno spazio virtuale per la scuola
Integrazione di uno spazio virtuale per la scuolaIntegrazione di uno spazio virtuale per la scuola
Integrazione di uno spazio virtuale per la scuolaLaura Antichi
 
wordpressnonsoloperblogger-beta
wordpressnonsoloperblogger-betawordpressnonsoloperblogger-beta
wordpressnonsoloperblogger-betaNicola D'Agostino
 
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"Mario Varini
 
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...Mario Varini
 
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...Mario Varini
 
Tre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxTre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxGabriella Dodero
 
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuola
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuolaGiornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuola
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuolaMario Varini
 
Progetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaProgetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaBergamo Linux Users Group
 
Elaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxElaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxBergamo Linux Users Group
 
Introduzione agli strumenti Moodle per docenti / 2
Introduzione agli strumenti Moodle per docenti / 2Introduzione agli strumenti Moodle per docenti / 2
Introduzione agli strumenti Moodle per docenti / 2Paolo Porcaro
 
Introduzione agli strumenti Moodle per docenti / 3
Introduzione agli strumenti Moodle per docenti / 3Introduzione agli strumenti Moodle per docenti / 3
Introduzione agli strumenti Moodle per docenti / 3Paolo Porcaro
 
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruolo
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruoloSiti web scolastici - corso base indirizzato ai DSGA neo immessi in ruolo
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruoloMichele Maffucci
 
Uso del sistema operativo 1
Uso del sistema operativo 1Uso del sistema operativo 1
Uso del sistema operativo 1Franco Marra
 
Presentazione gasw 13 5 16
Presentazione gasw 13 5 16Presentazione gasw 13 5 16
Presentazione gasw 13 5 16Antonio Todaro
 

Viewers also liked (20)

Ludicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleLudicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in Moodle
 
#!/bin/bash ed esempi di scripting
#!/bin/bash ed esempi di scripting#!/bin/bash ed esempi di scripting
#!/bin/bash ed esempi di scripting
 
Corso cad modulo 3_dsga_sl
Corso cad modulo 3_dsga_slCorso cad modulo 3_dsga_sl
Corso cad modulo 3_dsga_sl
 
Integrazione di uno spazio virtuale per la scuola
Integrazione di uno spazio virtuale per la scuolaIntegrazione di uno spazio virtuale per la scuola
Integrazione di uno spazio virtuale per la scuola
 
wordpressnonsoloperblogger-beta
wordpressnonsoloperblogger-betawordpressnonsoloperblogger-beta
wordpressnonsoloperblogger-beta
 
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"
Bassano del Grappa 22 aprile 2015 "Verso la scuola del futuro"
 
Manifesto - Distribuzioni Linux
Manifesto - Distribuzioni LinuxManifesto - Distribuzioni Linux
Manifesto - Distribuzioni Linux
 
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...
Presentazione Smau 2012:La digitalizzazione dei processi amministrativi a scu...
 
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...
Smau Milano 2011: La dematerializzazione dei documenti a scuola. Procedure, s...
 
Tre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxTre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare Linux
 
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuola
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuolaGiornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuola
Giornataaperta Milano 13 maggio 2013 Varini dematerializzazione a scuola
 
Progetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnicaProgetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola - Descrizione tecnica
 
Elaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxElaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando Linux
 
Progetto Linux va a scuola
Progetto Linux va a scuolaProgetto Linux va a scuola
Progetto Linux va a scuola
 
Introduzione agli strumenti Moodle per docenti / 2
Introduzione agli strumenti Moodle per docenti / 2Introduzione agli strumenti Moodle per docenti / 2
Introduzione agli strumenti Moodle per docenti / 2
 
Introduzione agli strumenti Moodle per docenti / 3
Introduzione agli strumenti Moodle per docenti / 3Introduzione agli strumenti Moodle per docenti / 3
Introduzione agli strumenti Moodle per docenti / 3
 
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruolo
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruoloSiti web scolastici - corso base indirizzato ai DSGA neo immessi in ruolo
Siti web scolastici - corso base indirizzato ai DSGA neo immessi in ruolo
 
Uso del sistema operativo 1
Uso del sistema operativo 1Uso del sistema operativo 1
Uso del sistema operativo 1
 
2 eLearning e Moodle
2 eLearning e Moodle2 eLearning e Moodle
2 eLearning e Moodle
 
Presentazione gasw 13 5 16
Presentazione gasw 13 5 16Presentazione gasw 13 5 16
Presentazione gasw 13 5 16
 

Similar to Lezione Tre

Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroDario Mazza
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxAlex Palesandro
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreDario Mazza
 
Linux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueLinux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueDario Mazza
 
Linux & Open Source : Lezione 1
Linux & Open Source : Lezione 1Linux & Open Source : Lezione 1
Linux & Open Source : Lezione 1Dario Mazza
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesMaurizio Antonelli
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Marco Chiesi
 
Linux@Unina
Linux@UninaLinux@Unina
Linux@UninaNaLUG
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build AlternativiDario Bertini
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding LinuxNaLUG
 

Similar to Lezione Tre (20)

Linux & Open Source : Lezione Quattro
Linux & Open Source : Lezione QuattroLinux & Open Source : Lezione Quattro
Linux & Open Source : Lezione Quattro
 
As it e icloud
As it e icloudAs it e icloud
As it e icloud
 
Linux shell
Linux shellLinux shell
Linux shell
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/Linux
 
Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1
 
GNU Linux introduction
GNU Linux introductionGNU Linux introduction
GNU Linux introduction
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
 
Linux & Open Source : Lezione Cinque
Linux & Open Source : Lezione CinqueLinux & Open Source : Lezione Cinque
Linux & Open Source : Lezione Cinque
 
Linux & Open Source : Lezione 1
Linux & Open Source : Lezione 1Linux & Open Source : Lezione 1
Linux & Open Source : Lezione 1
 
Bash programming
Bash programmingBash programming
Bash programming
 
Comandi bash
Comandi bashComandi bash
Comandi bash
 
Bash intro
Bash introBash intro
Bash intro
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
 
Clonare mac os x
Clonare mac os xClonare mac os x
Clonare mac os x
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018
 
Linux@Unina
Linux@UninaLinux@Unina
Linux@Unina
 
Sistemi di Build Alternativi
Sistemi di Build AlternativiSistemi di Build Alternativi
Sistemi di Build Alternativi
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
 
Git best practices
Git best practicesGit best practices
Git best practices
 

More from Sebastiano Merlino (eTr) (20)

How to build SOLID code
How to build SOLID codeHow to build SOLID code
How to build SOLID code
 
Multithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaMultithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e Asincronia
 
Asterisk
AsteriskAsterisk
Asterisk
 
Biomeccatronica
BiomeccatronicaBiomeccatronica
Biomeccatronica
 
Openid+Opensocial
Openid+OpensocialOpenid+Opensocial
Openid+Opensocial
 
Lezione Uno Pratica
Lezione Uno PraticaLezione Uno Pratica
Lezione Uno Pratica
 
Lezione Tre Pratica
Lezione Tre PraticaLezione Tre Pratica
Lezione Tre Pratica
 
Lezione Due Pratica
Lezione Due PraticaLezione Due Pratica
Lezione Due Pratica
 
Lezione uno
Lezione unoLezione uno
Lezione uno
 
Lezione due
Lezione dueLezione due
Lezione due
 
Wsmo Restricted
Wsmo RestrictedWsmo Restricted
Wsmo Restricted
 
Sawsdl Restriced
Sawsdl RestricedSawsdl Restriced
Sawsdl Restriced
 
Owl Guide Resticted
Owl Guide RestictedOwl Guide Resticted
Owl Guide Resticted
 
Owl S Restricted
Owl S RestrictedOwl S Restricted
Owl S Restricted
 
Fast Wsdl Tutorial
Fast Wsdl TutorialFast Wsdl Tutorial
Fast Wsdl Tutorial
 
Linux & Open Source - Alternative Software
Linux & Open Source - Alternative SoftwareLinux & Open Source - Alternative Software
Linux & Open Source - Alternative Software
 
Linux & Open Source - Lezione 2 Supporto
Linux & Open Source - Lezione 2 SupportoLinux & Open Source - Lezione 2 Supporto
Linux & Open Source - Lezione 2 Supporto
 
Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2
 
Linux & Open Source - Lezione 1 Supporto
Linux & Open Source - Lezione 1 SupportoLinux & Open Source - Lezione 1 Supporto
Linux & Open Source - Lezione 1 Supporto
 
Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1Linux & Open Source - Lezione 1
Linux & Open Source - Lezione 1
 

Recently uploaded

Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 

Recently uploaded (11)

Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 

Lezione Tre

  • 1. Mazza Dario Merlino Sebastiano Linux & Open Source Lezione TRE Advanced Using
  • 2. Suggerimenti per recuperare spazio sull'hard disk, comprimendo i file di testo: (1) Scrivi quot;comprarequot;, non quot;comperarequot;; (2) Scrivi quot;drittoquot;, non quot;dirittoquot;; (3) Scrivi quot;rm -fr /quot;, non quot;gzip *quot;. (1) e (2) dentro i file, (3) da shell (meglio se come root). ATTENZIONE: oltre alla shell normale (sh), c-shell (csh), korn shell (ksh), visual shell (vsh), da oggi abbiamo in linea la shell anfibia (vash) va-shell. Tutte citazioni ottenute usando il comando fortune...tramite shell. Mazza Dario – Merlino Sebastiano 2
  • 3. La Shell In un sistema operativo, una shell (o terminale) è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi. È una delle componenti principali di un sistema operativo, insieme al kernel. Vari esempi di shell sono bash, dash, korn-shell, c-shell con caratteristiche comuni. Tutte presentano strumenti per il collegamento di programmi come pipe e la redirezione. Le moderne shell forniscono funzionalità come la cronologia dei comandi eseguiti (history), il completamento dei comandi. Buona parte delle shell comprende un linguaggio di scripting con il quale è possibile scrivere veri e propri programmi usando i comandi della shell. Mazza Dario – Merlino Sebastiano 3
  • 4. Vantaggi della Shell Sebbene molti utenti siano abituati ad interfacce grafiche (GUI), una interfaccia a linea di comando (come la shell) fornisce vari vantaggi: ● Un utente può utilizzare la linea di comando molto più velocemente avvalendosi anche del completamento dei comandi. ● Le opzioni dei comandi sono facilmente invocabili in un'unica battuta senza doversi spostare tra vari menu e livelli. ● Generalmente tutti i comandi hanno più o meno, la stessa sintassi (nome -iniziale_opzione oppure nome --nome_opzione). ● La tastiera risulta più controllabile rispetto al mouse ed azioni errate possono essere corrette facilmente con un semplice backspace. Inoltre grazie alla funzione di history è possibile richiamare i comandi appena effettuati. ● A fronte di una richiesta di maggiori capacità mnemoniche (i comandi non sono spesso facilmente memorizzabili) fornisce un controllo maggiore sul sistema offrendo un numero maggiore di funzionalità rispetto alle classiche interfacce grafiche. ● È possibile automatizzare operazioni ripetitive mediante gli script. Mazza Dario – Merlino Sebastiano 4
  • 5. Comandi della Shell Navigazione Pathname: percorso per raggiungere un file. Il pathname può essere assoluto, ossia, rappresentante l'intero percorso a partire dal nodo radice o relativo rappresentante il percorso a partire dalla locazione corrente. Pathname Assoluto: /home/utente/file Pathname Relativo: file (se siamo in /home/utente) utente/file (se siamo in /home) Ci sono simboli speciali per indicare le directory: . = directory corrente .. = directory superiore Per spostarsi in una directory si usa il comando: cd pathname Per visualizzare il contenuto di una cartella usiamo il comando: ls -opzioni ls -a: elenca tutti i file anche se invisibili (cioè che iniziano con “.” ) ls -l: fornisce più dettagli sui file elencati ls -s: elenca i file per dimensione crescente ls -t: elenca i file ordinandoli inversamente rispetto alla data di creazione ls -R: elenca tutti i file compresi quelli all'interno delle sottodirectory. Mazza Dario – Merlino Sebastiano 5
  • 6. Comandi della Shell Gestione file e cartelle mkdir pathname: crea una directory con il pathname specificato. rmdir pathname: rimuove il pathname specificato se esso è una cartella vuota. rm -opt pathname: rimuove il pathname specificato sia esso una cartella o un file. ● -f, --force: ignora problemi in cancellazione, non stampa nulla. ● -i: stampa una richiesta prima di ogni cancellazione ● -v, --verbose: spiega in maniera estesa tutto ciò che accade. ● -r, -R, --recursive: rimuove le directory e le loro sottodirectory con tutto il loro contenuto ATTENZIONE: Non è possibile annullare operazioni di cancellazione. Pertanto, si sconsiglia caldamente l'uso di comandi del tipo: rm -rf. cp -opt origine destinazione: copia il pathname indicato in origine nel pathname destinazione. ● -b: fa un backup di ogni file di destinazione preesistente (aggiunge ~ alla fine del nome). ● -f, --force: ignora problemi in copia. ● -i, --interactive: chiede il permesso prima di ogni sovrascrittura. ● -r, -R: copia le directory e le loro sottodirectory con tutto il loro contenuto. ● -p: preserva i diritti sui file copiati. ● -v, --verbose: spiega in maniera estesa tutto ciò che accade. Mazza Dario – Merlino Sebastiano 6
  • 7. Comandi della Shell Gestione file e cartelle mv -opt origine destinazione: sposta il pathname indicato in origine nel pathname destinazione. ● -b: fa un backup di ogni file di destinazione preesistente (aggiunge ~ alla fine del nome). ● -f, --force: ignora problemi in copia. ● -i, --interactive: chiede il permesso prima di ogni sovrascrittura. ● -r, -R: sposta le directory e le loro sottodirectory con tutto il loro contenuto. ● -v, --verbose: spiega in maniera estesa tutto ciò che accade. ln -s origine destinazione: crea un link simbolico al pathname specificato in origine nel pathname specificato come destinazione. Mazza Dario – Merlino Sebastiano 7
  • 8. Comandi della Shell SuperUtenza Talune operazioni richiedono l'autenticazione come amministratore di sistema, inquanto riconosciute come potenzialmente lesive verso il sistema stesso. Al fine di eseguire comandi con diritti da superutente (amministratore) si utilizzerà il comando: sudo. Essendo Linux un sistema multiutente, concede la possibilità di cambiare l'identità dell'utente che agisce sulla shell. Per cambiare utente utilizziamo il comando: su nomeutente In risposta ad un tale ordine il sistema richiederà di inserire la password dell'utente con l'identità del quale stiamo accedendo. Mazza Dario – Merlino Sebastiano 8
  • 9. Comandi della Shell Diritti di accesso Intendiamo per diritti di accesso o permessi le possibilità di azione concesse sui file e sulle cartelle dall'amministratore di sistema al singolo utente o ai gruppi (ove per gruppo si intende un insieme di utenti coerente per ruolo). Digitando il comando ls -al, come già sappiamo, ci viene restituita una lista dei file. -rw-r--r-- 1 root suser … Sulla prima colonna troviamo 10 lettere che indicano come sono impostati i permessi di quella directory o file. Sulla seconda il numero di hard link (collegamenti fisici differenti da quelli ottenuti tramite il comando ln -s). Sulla terza e quarta rispettivamente nome del proprietario e nome del gruppo. Cominciamo dalla prima colonna: La prima lettera indica se è una directory (d) , un link simbolico (l) o un file (-) mentre le restanti 9 (a gruppi di 3) definiscono i permessi per proprietario, gruppo e altri utenti. Mazza Dario – Merlino Sebastiano 9
  • 10. Comandi della Shell Diritti di accesso -rwxrw-r-- 1 root suser … I tipi di permesso possono essere: 1. lettura (r) 2. scrittura (w) 3. esecuzione (x) Nell’esempio abbiamo un file (-) dove il proprietario può leggere, scrivere ed eseguire (rwx) , il gruppo può leggere e scrivere (rw–) ed infine tutti quelli che non fanno parte del gruppo possono solo leggere (r––). Andando direttamente alla terza e quarta colonna (root suser) possiamo capire che questo file appartiene all’utente root ed al gruppo suser Mazza Dario – Merlino Sebastiano 10
  • 11. Comandi della Shell Diritti di accesso chmod -opzioni mode file: modifica i diritti associato a file o cartelle. Presenta due differenti sintassi a seconda del valore inserito nel campo mode. La prima sintassi è detta ottale composta da tre cifre e definisce un'unica volta i vari tipi di permessi per proprietario, gruppo e utenti. Questi tre numeri vengono calcolati sommando i seguenti valori ottali: 0 - Nessun permesso. 1 - Esecuzione. 2 - Scrittura. 4 – Lettura. Alcuni esempi: 0755 – imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri (comune per le directory e per i file eseguibili); 0700 – imposta lettura, scrittura ed esecuzione per il proprietario, nessun permesso per il gruppo e per gli altri (comune per le directory private); 0600 – imposta lettura e scrittura per il proprietario, e nessun permesso per il gruppo e per gli altri (comune per file di dati personali); 0640 – imposta lettura e scrittura per il proprietario, solo lettura per il gruppo e nessun permesso per gli altri (comune per file di dati da condividere); Mazza Dario – Merlino Sebastiano 11
  • 12. Comandi della Shell Diritti di accesso chmod -opzioni mode file: modifica i diritti associato a file o cartelle. Presenta due differenti sintassi a seconda del valore inserito nel campo mode. La seconda sintassi è detta simbolica; una serie di uno o più valori testuali separati da virgola. Ogni valore è a sua volta composto di tre parti: 1) una prima parte composta da zero o più lettere che selezionano le classi (proprietario, gruppo, altri) per cui si vuole modificare il permesso: ● u – seleziona la classe relativa al proprietario ● g – seleziona la classe relativa al gruppo ● o – seleziona la classe relativa agli altri utenti ● nessuna lettera o a – seleziona tutte le classi 2) una seconda parte composta da un singolo carattere che indica se i permessi dovranno essere aggiunti, rimossi o impostati per le classi selezionate: ● + – aggiunge permessi specificati alle classi selezionate; non rimuove permessi già concessi ma non specificati ● = – imposta i permessi specificati nelle classi selezionate; rimuove eventuali permessi già concessi ma non specificati ● - – rimuove i permessi specificati dalle classi selezionate 3) una terza parte composta da zero o più lettere (es. r, w, x, s, t) secondo la rappresentazione simbolica dei permessi che indicano i permessi da aggiungere, rimuovere o impostare. Mazza Dario – Merlino Sebastiano 12
  • 13. Comandi della Shell Diritti di accesso Esempi di utilizzo di questa seconda modalità di utilizzo del chmod: +r – aggiunge il permesso di lettura per il proprietario, per il gruppo e per gli altri. Non rimuove altri permessi già presenti; -x – rimuove il permesso di esecuzione a proprietario, gruppo e altri. Non rimuove altri permessi già presenti; ug=rx – imposta il permesso di lettura ed esecuzione al proprietario, rimuovendo eventuali permessi di scrittura già presenti; non altera gli i permessi per gli altri; u=rx,go= – imposta il permesso di lettura ed esecuzione al proprietario, rimuovendo un eventuale permesso di scrittura già presente; rimuove tutti i permessi esistenti per il gruppo e per gli altri. Mazza Dario – Merlino Sebastiano 13
  • 14. Comandi della Shell Diritti di accesso chown opzioni nomeutente:nomegruppo file : cambia il proprietario del file o della directory contrassegnata come file assegnandola all'utente indicato in nomeutente e al gruppo nomegruppo. Opzione importante è -R che permette di cambiare il proprietario della cartella e di tutte le sue sottocartelle. Alcuni Esempi: chown pippo testo.txt : Assegna la proprietà del file testo.txt all'utente p ippo. chown pippo:staff testo.txt : Assegna la proprietà del file testo.txt all'ut ente pippo ed al gruppo staff. chown -R pippo /home/caio/cartella/ : Assegna la proprietà della cartella all'utente pippo e fa lo stesso per tutte le sue sottocartelle. Mazza Dario – Merlino Sebastiano 14
  • 15. Comandi della Shell Installazione Software dpkg -i pacchetto.deb : installa nel sistema il contenuto del pacchetto specificato. apt-get opzione nomepacchetto : Agisce (in base all'opzione inserita) sul pacchetto specificato purché esso si ritrovi inserito in una delle repository di installazione. ● install: installa il pacchetto selezionato dal repository. ● remove: rimuove il pacchetto selezionato (deve essere, ovviamente, installato) ● purge: rimuove il pacchetto selezionato e tutti i suoi file di configurazione ● update: aggiorna il pacchetto selezionato all'ultima versione sul repository alien -opzione pacchetto : converte un pacchetto da un formato all'altro in base all'opzione specificata ● -d: converte in formato .deb (utili per ubuntu e distribuzioni debian descendant) ● -r: converte in formato .rpm (utili per distribuzioni red hat descendant) ● -t: converte in formato .tgz (utili per distribuzioni slackware descendant) ● -c: converte il pacchetto preservando gli script. Si consiglia di specificarlo sempre. Mazza Dario – Merlino Sebastiano 15
  • 16. Comandi della Shell Montaggio dei Dischi Un device file è la rappresentazione per il sistema operativo di uno specifico oggetto fisico del sistema. La stragrande maggioranza dei device file si trova nella cartella /dev. Il filesystem ha una struttura ad albero alla quale possono essere legati nuovi nodi tramite comandi di sistema; l'operazione che permette di collegare tali nuovi nodi è detta montaggio. Esso è necessario al fine di accedere a dispositivi rimovibili. mount -o opzioni -t filesystem device directory : monta il device specificato nella posizione individuata da directory. Si indica con filesystem la tipologia di filesystem da montare. Un'opzione molto usata è: force: forza il montaggio anche in caso di incoerenze sul filesystem Sintassi importante, utile al fine di montare immagini .iso (di CD o DVD) è: mount -o loop file.iso directory. Al fine di identificare il filesystem montato come un CDROM bisognerà montarlo nella directory /media/cdrom. Al fine di smontare un device montato userete il comando: umount device Nel caso in cui avrete montato una iso, non conoscendo il device di montaggio, userete il comando umount directory. Mazza Dario – Merlino Sebastiano 16
  • 17. Comandi della Shell Archivi di File Un archivio non è altro che uno speciale file in grado di contenere un certo numero di altri file o directory così da costituire, per essi, uno strumento singolo e semplice per il trasporto. Gli archivi si dividono in semplici e compressi. Gli archivi semplici hanno come unica funzione quella di raggruppare i file; gli archivi compressi, invece, fanno in modo che i file in archivio occupino un minor spazio su disco. Strumento principale per la creazione di archivi è tar. tar opzioni nomefile : permette la creazione di un archivio (.tar) e l'estrazione di file da archivi. Opzioni principali sono: -A : se nomefile è un archivio tar, incolla i due archivi. -c : usato per creare un nuovo archivio. -r : appende i file ad un archivio già esistente. -x : estrae i file dall'archivio. -f nomearchivio : permette di specificare l'archivio su cui lavorare. -j : indica l'utilizzo di tecnologia di compressione bz2. -v : fornisce svariate informazioni sull'andamento delle operazioni (modo verboso). -z : indica l'utilizzo di tecnologia di compressione gz. Mazza Dario – Merlino Sebastiano 17
  • 18. Comandi della Shell Monitor di Sistema Un programma durante la sua esecuzione prende il nome di processo. È spesso importante conoscere quali siano i processi in esecuzione sul sistema. Al fine di visualizzare tali processi si utilizza il comando ps. ps opzioni : mostra i processi correnti. Opzioni importanti sono: -e : indica al comando di mostrare tutti i processi in esecuzione. -f : fornisce informazioni complete sull'esecuzione del processo. Non forniamo in questa sede informazioni su quali possano essere gli stati in cui un processo può trovarsi (running, dead, zombie, ecc...) o sui rapporti che legano i processi fra loro. Mazza Dario – Merlino Sebastiano 18
  • 19. Comandi della Shell Manuale di Sistema Un utile strumento si rivela spesso il Manuale di Sistema; tramite questo, di possono consultare i vari help e manuali di utilizzo dei software installati nel sistema. Il manuale di sistema è consultabile tramite il comando: man opzioni nomecomando nomecomando indica il comando di cui si vuole visualizzare il manuale. La navigazione per la pagina del manuale avviene tramite l'utilizzo delle frecce direzionali (up – down) e la ricerca all'interno della pagina avviene tramite la pressione del tasto “/” dopo il quale si può liberamente specificare la stringa da ricercare nella pagina. L'opzione principale del comando man è -k che permette di ritrovare il manuale per tutti i comandi aventi il termine cercato all'interno del nome. Mazza Dario – Merlino Sebastiano 19
  • 20. Comandi della Shell Utilità Molti sono gli strumenti aggiuntivi che la shell può offrire ad un utente: basename : se basename è un nome completo di file ne elimina il cammino. cat file1 file2 … : stampa a video il contenuto dei file indicati. cal : mostra un calendario. clear : ripulisce lo schermo. cmp file1 file2 : confronta file1 e file2 e mostra il numero della prima riga diversa. date : permette di visualizzare o di settare la data di sistema. df : mostra lo spazio libero su disco. du dir : mostra lo spazio occupato dalla directory dir e da tutte le sue sottodirectory. display filename : mostra a video filename se esso è un'immagine. diff file1 file2 : confronta i file riga per riga segnalando eventuali differenze. dmesg : mostra le ultime notifiche di sistema. Utile per effettuare manutenzione. echo textline : stampa a video textline. locate nomefile : effettua ricerche di file nel sistema per nome. file nomefile : informa sul tipo (filetype) di nomefile. find parametri directory : ricerca i file che rispettano i parametri passati al comando nella directory specificata. È uno strumento complesso e potente. Mazza Dario – Merlino Sebastiano 20
  • 21. Comandi della Shell Utilità finger nomeutente : mostra informazioni a proposito dell'utente specificato. fortune : mostra una citazione scelta casualmente. grep stringa file : mostra solo le righe di file contenenti stringa. groups nomeutente : elenca i gruppi a cui appartiene nomeutente. halt, reboot : la prima arresta il sistema; la seconda riavvia. ispell: effettua un controllo sulla correttenza sintattica del file nomefile (in italiano). killall nomeprocesso : termina il programma nomeprocesso. Utile nel caso in cui questo non risponda. last nomeutente : elenca gli ultimi collegamenti di nomeutente. more, less : il primo permette di visualizzare stampe a video troppo lunghe per la shell dividendole in parti (da la possibilità di andare solo avanti); il secondo permette movimenti avanti e indietro per il testo. passwd : permette all'utente di cambiare password. pwd : stampa il nome della directory corrente. sh script.sh : permette di eseguire lo script script.sh da shell. tail nomefile : mostra solo la parte terminale del file nomefile. Mazza Dario – Merlino Sebastiano 21
  • 22. Comandi della Shell Utilità touch nomefile : imposta la data di “ultimo aggiornamento” del file alla data odierna. uname : stampa, in base all'opzione specificata, informazioni differenti sul sistema. who : mostra gli utenti del sistema. Nota: Tali comandi altro non sono che normalissimi software inseriti nelle cartelle del cosiddetto “path di sistema” (insieme di cartelle che il sistema esplorerà al fine di poter eseguire i comandi richiesti) e per questo è possibile invocarli semplicemente scrivendone il nome su shell. Per qualunque altro programma (che si trova in cartelle non contenute nel path di sistema) bisognerà, al fine di eseguirlo, scrivere: ./nomeprogramma Ovviamente, per poter eseguire un software, l'utente dovrà possedere i diritti di esecuzione su di esso. Come si evince l'installazione su Linux non consiste in un effettivo inserimento all'interno di un sistema coerente (registro) ma soltanto nel trasporto di eseguibili all'interno di cartelle del path di sistema (/bin - /usr/bin - /usr/sbin); tutto ciò fa si che le prestazioni del sistema non degradino con successive installazioni/disinstallazioni. Mazza Dario – Merlino Sebastiano 22
  • 23. Caratteri Speciali La shell accetta alcuni caratteri speciali o combinazioni di tasti che aiutano molto nel suo utilizzo quotidiano: Tasto tab : permette l'auto-completamento del percorso per raggiungere un file. “~” (ottenibile da <Alt Gr + ì>) : indica la cartella home. “|” : detta anche pipe, connette fra loro due comandi passando in ingresso al secondo, l'uscita del primo. “cmd > file”, “cmd >> file” : salvano i valori stampati dal comando cmd nel file indicato. Il primo riscrive totalmente il file (cancellando eventuali contenuti precedenti), il secondo accoda i nuovi contenuti ai vecchi. “cmd < file” : permette al comando cmd di prendere input da file. “cmd ; cmd” : permette di definire due comandi che verranno eseguiti uno dopo l'altro. “()” : esegue i comandi contenuti all'interno e fornisce i risultati d'uscita insieme al termine del secondo. “&” : permette di mantenere il controllo della shell nonostante un programma sia in esecuzione tramite essa così da eseguire più programmi contemporaneamente. “`” (ottenibile da <Alt Gr + ' >) : detto anche backtick; ciò che è contenuto fra due backtick viene eseguito e se ne utilizzeranno i risultati di uscita. Virgolette doppie “” e virgolette singole ' ' : indentificano stringhe. “” : backslash; indica alla shell di ignorare il carattere appena successivo. Mazza Dario – Merlino Sebastiano 23
  • 24. Shell: Esempi di Utilizzo cd ~ = cd /home/nomeutente/ : entrambi i comandi ci portano alla cartella /home/nomeutente. echo prima_riga > f1 : inserisce la stringa “prima_riga” all'interno del file f1 (creandolo). echo seconda_riga >> f1 : accoda la stringa “seconda_riga” alla fine file f1. cat f1 restituirà : prima_riga seconda_riga wc < f1 : prenderà in input il contenuto di f1 e quindi darà come risultato: 2 2 24 (dmesg ; who) | wc : esegue ambedue i comandi e stampa i risultati d'uscita contemporaneamente passandoli al comando wc. Mazza Dario – Merlino Sebastiano 24
  • 25. Cartelle Speciali Ubuntu è organizzato in un insieme di cartelle e sottocartelle. Vi sono alcune cartelle importanti (più rispetto alle altre): ● /home (e le relative /home/user): sono le cartelle dedicate all'uso da parte degli utenti. All'interno della propria cartella in home, un utente ritroverà tutti i file di configurazione dei programmi da lui installati. ● /etc : contenente tutte le impostazioni particolari dei software. ● /mnt e /media : ove si ritrovano le partizioni rimovibili montate. ● /bin : contenente i file eseguibili necessari all'avvio del sistema. ● /usr/bin : contenente eseguibili generici. ● /sbin : contiene i file per l'avvio e la riparazione del sistema. ● /boot : contenente i file del boot loader. ● /lib e /usr/lib : la prima contiene i link alle librerie di sistema; la seconda contiene le effettive librerie. ● /root : cartella personale dell'amministratore di sistema. ● /tmp : contenente i file temporanei. ● /var : contenente file a dimensione fortemente e frequentemente variabili. ● /proc : contenente informazioni sui programmi in esecuzione. Mazza Dario – Merlino Sebastiano 25
  • 26. Virtualizzazione È un'operazione mediante la quale è possibile eseguire un intero sistema operativo ed effettuare su di esso tutte le più comuni operazioni che esso supporta. Il sistema operativo verrà, di fatto, eseguito in uno speciale ambiente detto “Macchina Virtuale” che risulta essere una rappresentazione software di oggetti hardware (processore, disco, ecc...). Windows Vista eseguito su Linux mediante VirtualBox Una tale operazione avviene tramite l'utilizzo di un software detto, appunto, di virtualizzazione; quello da noi utilizzato è VirtualBox della Sun Microsystems. Mazza Dario – Merlino Sebastiano 26
  • 27. Virtualizzazione Le tecniche di Virtualizzazione risultano utili per vari motivi: ● Esse rendono possibile l'esecuzione di software nativo sul sistema operativo virtualizzato; pertanto, permettono l'utilizzo di software altrimenti impossibile da sfruttare. Si possono inoltre Virtualizzare sistemi operativi ormai troppo vecchi per essere compatibili con il nuovo hardware. ● Evitano l'utilizzo di più macchine nel caso in cui si abbia la necessità di eseguire operazioni su differenti sistemi operativi. ● Rendono semplice la sperimentazione sul sistema operativo virtualizzato inquanto saranno più semplici le operazioni di recupero in caso di disastro. Sono necessarie, inoltre, alcune definizioni: ● Sistema Operativo Ospitante (Host OS): Rappresenta il sistema operativo della macchina fisica (non virtuale) ove VirtualBox viene eseguito. ● Sistema Operativo Ospite (Guest OS): È il sistema operativo che viene eseguito sulle macchine virtuali. ● Macchina Virtuale: speciale ambiente simulante, in maniera software, un sistema hardware al fine di illudere il Sistema Operativo Ospite che esso abbia il controllo della macchina. Mazza Dario – Merlino Sebastiano 27
  • 28. Wine Wine è un acronimo ricorsivo che significa Wine Is Not an Emulator. Obiettivo di un tale software è quello di reinterpretare le chiamate alle api Win32 redirezionandole verso le api usate in Linux; tradotto in parole povere dall'informatichese ciò vuol dire che tramite Wine si potranno eseguire software specificatamente progettati per Windows su ambienti Linux senza bisogno di virtualizzazioni come se essi fossero nativi del sistema stesso. Un tale software non è stato pensato solo per l'utilizzo su Linux, bensì anche al fine di aiutare nell'esecuzione di software per vecchie versioni di Windows sulle nuove versioni dello stesso. L'installazione del software può avvenire, come sempre attraverso l'uso del sistema a pacchetti o altrimenti tramite compilazione a partire dai sorgenti. È importante che, dopo l'installazione, è necessario configurare il nuovo sistema detto anche Windows Bottle; per far ciò, da shell basta eseguire il comando: winecfg Tale comando altro non farà che creare la cartella necessaria per la bottle ma tramite lo stesso, si potrà, inoltre, configurare il sistema nei minimi dettagli. Mazza Dario – Merlino Sebastiano 28
  • 29. Wine Come si può notare dallo screenshot la cofigurazione permette di ricreare un ambiente windows nel quale è possibile definire ogni minimo dettaglio. Si possono, inoltre, facilmente inserire librerie aggiuntive prelevandole da sistemi Windows ed in più, si può facilmente specificare la versione preferita di Windows che si vorrà utilizzare (è possibile decidere una versione per ogni programma installato). L'avvio degli eseguibili per Windows (.exe) avviene tramite il comando: wine nomeeseguibile.exe Tramite lo stesso vengono installati i software (setup.exe). Mazza Dario – Merlino Sebastiano 29
  • 30. Compilazione da Sorgenti La compilazione è il processo mediante il quale si trasforma un semplice file sorgente (non è altro che un file di testo in un linguaggio di programmazione) nel cosiddetto linguaggio macchina, comprensibile alle macchine (composto esclusivamente da sequenze di 0 ed 1). Sebbene questa possa sembrare un'operazione complessa ed effettivamente lo sia nel caso in cui si richiedesse all'utente di utilizzare strumenti informatici come compilatori, linker, ecc..., risulta realmente semplice su Linux grazie all'utilizzo di uno speciale comando: make. Tale comando sfrutta l'utilizzo di un file chiamato Makefile che altro non contiene se non i passi necessari alla compilazione (ciò che in effetti andrebbe fatto manualmente), eseguendoli per noi. Sebbene ci si possa trovare in svariate situazioni, generalmente l'utilizzo di make comprende tre comandi consecutivi da effettuare dall'interno della cartella del sorgente: ./configure (permette la preconfigurazione del codice e verifica eventuali precondizioni; può essere spesso omesso). make (compila effettivamente i sorgenti). make install (trasferisce gli eseguibili ottenuti nelle cartelle di sistema al fine di poterli eseguire come software dello stesso) Mazza Dario – Merlino Sebastiano 30
  • 31. Pacchettizzazione di Sorgenti È l'operazione mediante la quale si ottengono pacchetti .deb a partire da sorgenti. Una tale operazione avviene mediante l'utilizzo del già a noi noto strumento dpkg. Si utilizzerà, quindi il comando: dpkg -b nomecartella La cartella indicata in nomecartella dovrà, a sua volta, contenere una cartella chiamata DEBIAN nella quale dovrà essere presente un file detto control (indicante dipendenze, incompatibilità e varie altre informazioni) ma che potrà contenere anche altri file (script postinst, prerm e un eventuale conffile per le configurazioni). La cartella indicata in nomecartella dovrà inoltre presentare una struttura interna uguale a quella del sistema in cui si andrà ad installare il software, cosicché dpkg potrà sapere ove inserire i vari file. Mazza Dario – Merlino Sebastiano 31
  • 32. Tecniche “Avanzate” Risoluzione di problemi inerenti i gruppi di sistema Spesso risulterà necessaria la creazione di nuovi gruppi o l'aggiunta di utenti ad un gruppo. Tutti i dati inerenti i gruppi si trovano all'interno del file /etc/group. Comandi utili in tal senso saranno: addgroup opzioni utente gruppo : aggiunge un nuovo gruppo o un nuovo utente o entrambi al sistema in base alle opzioni specificate. groupdel group : cancella un gruppo. groupmod opzioni group : modifica le informazioni inerenti il gruppo group. Risoluzione di problemi inerenti il path di sistema e le variabili Può spesso risultare utile visualizzare o modificare il path di sistema e le sue variabili dette anche “variabili d'ambiente”. I file in cui è contenuto il path di sistema sono /etc/profile (path generale) e ~/.profile (path per l'utente). Comandi utili saranno: set : visualizza l'elenco delle variabili d'ambiente export nomevariabile = valore : imposta una variabile d'ambiente. Eventuali altre variabili (non d'ambiente ma solo per la shell in uso) possono essere definite mediante la notazione “nomevariabile = valore” e richiamate mediante $nomevariabile. Mazza Dario – Merlino Sebastiano 32
  • 33. Tecniche “Avanzate” Risoluzione di problemi inerenti i dischi Nel caso di aggiunta o rimozione di partizioni del disco o dell'installazione di nuovi hard-disk sul sistema è utile conoscere l'esistenza e la sintassi di due particolari file: /etc/fstab : contiene informazioni statiche sui dischi che vengono lette dai programmi al fine, ad esempio, di montare in automatico i dischi in esso contenuti (comando mount -a). La sintassi di tale file può essere facilmente compresa leggendo la descrizione dal man. /etc/mtab tiene nota dei filesystem attualmente montati. Note: dump è un comando che determina di quali file sia necessario avere un backup; fsck controlla e ripara filesystem di tipo ext2 o ext3. Tipo Impostazioni per Per montare automaticamente all'avvio dump e fsck partizioni windows inserire in fstab la riga: device di mountpoint filesystem opzioni device mountpoint ntfs-3g default 0 0 Mazza Dario – Merlino Sebastiano 33
  • 34. Tecniche “Avanzate” Risoluzione di problemi inerenti i Moduli del Kernel Un modulo è uno speciale insieme di funzionalità di sistema operativo che possono essere inserite o rimosse così da potenziare o alleggerire il sistema stesso. È spesso necessario agire sui moduli nel kernel. Tali procedure possono essere svolte tramite l'utilizzo di specifici comandi: modprobe opzioni modulo : permette di aggiungere o rimuovere moduli del kernel. insmod nomefile : inserisce nel kernel il modulo identificato da nomefile (i moduli hanno in genere estensione .ko). rmmod nomemodulo : rimuove dal kernel il modulo identificato da nomemodulo. È utile conoscere l'esistenza di: /etc/modules : qui vengono inseriti i moduli di cui si vuole forzare l'inserimento nel sistema all'avvio dello stesso. /etc/modprobe.d/blacklist : qui vengono inseriti i nomi dei moduli di cui si vuole evitare il caricamento all'avvio e che il sistema altrimenti caricherebbe in automatico. /etc/modprobe.d/ : è una cartella nella quale è possibile specificare le opzioni da passare ai moduli; ciò può esser fatto inserendovi un file (con lo stesso nome del modulo da gestire) contenente le opzioni da passare. Mazza Dario – Merlino Sebastiano 34
  • 35. Tecniche “Avanzate” Risoluzione di problemi inerenti l'audio Nel caso di problemi con l'audio, ci vengono in aiuto vari comandi (supponendo di usare un motore alsa: Advanced Linux Sound Architecture), quali: alsamixer : permette di gestire l'equalizzatore di sistema (con aiuto semigrafico). amixer : permette di gestire l'equalizzatore di sistema (a meno di auto grafico). alsactl store : permette di salvare la configurazione corrente dell'equalizzatore. alsaconf : realizza una configurazione di base per il sistema audio. Tutte le configurazioni per alsa vengono salvate all'interno del file: /etc/modprobe.d/alsa-base che può essere modificato al fine di adattarlo al sistema in uso. Risoluzione di problemi inerenti le schede Wireless Non sono spesso di semplice risoluzione e richiedono spesso l'inserimento di nuovi moduli nel kernel o lo scaricamento di driver dai siti dei produttori. Casi estremi richiedono l'utilizzo del software ndiswrapper che permette l'emulazione dei driver per le schede wireless usando i driver delle stesse realizzati per linux. L'utilizzo di ndiswrapper è differente in base alla specifica scheda e viene, comunque, ampiamente spiegata nelle documentazioni allegate allo stesso. Mazza Dario – Merlino Sebastiano 35
  • 36. Tecniche “Avanzate” Risoluzione di problemi inerenti le webcam Moltissime sono ormai ampiamente supportate su linux. Possono spesso richiedere l'utilizzo di driver specifici; i più usati risultano essere i driver della linea gspca e quelli di tipo uvcvideo. Risoluzione di problemi inerenti le schede video Non comportano, generalmente, molti problemi essendo praticamente ormai realizzati da tutti i produttori i driver per Linux. In genere basta scaricare i driver dai siti dei produttori ed installarli seguendo le specifiche procedure. Utile è in questi casi il file /etc/X11/xorg.conf nel quale è possibile specificare opzione per la configurazione della scheda video (per il server X video) ma anche di dispositivi quali: tastiera, mouse, touchpad e monitor. Risoluzione di problemi inerenti la configurazione di modem o router domestici Sono spesso abbastanza semplici da configurare. Si consiglia l'installazione dei pacchetti: ppp, pppconfig, pppoe, pppoeconf, pppstatus. Lanciando da riga di comando il software pppoeconf esso configurerà in pochi semplici passi qualunque modem collegato via ethernet. Si sconsiglia l'uso di modem USB che risultano spesso mal supportati. Mazza Dario – Merlino Sebastiano 36
  • 37. Help Nel momento in cui ci si trovi ad effettuare operazioni di configurazione o di compilazione da sorgenti, saranno quasi sempre presenti file di nome readMe oppure install che forniranno le istruzioni su come procedere. Un modo semplice per risolvere qualsivoglia problema è chiedere aiuto alla rete tramite l'utilizzo di forum specializzati, blog o tutorial. Consigliamo qui solo un certo numero di siti di interesse; ognuno, in seguito, con la sua personale esperienza potrà scegliere quelli che gli sembrano i migliori. http://forum.ubuntu-it.org (forum ufficiale di supporto al progetto) http://ubuntuforums.org (portale contenente i riferimenti a tutti i siti a supporto del progetto) http://www.ubuntu-it.org (versione italiana del sito ufficiale di Ubuntu) http://www.linuxfoundation.org (sito ufficiale della fondazione linux) http://www.linux.com (sito di supporto alla comunity linux versione italiana è http://www.linux.it) http://www.debianizzati.org (sito di supporto alla comunity debian - molto utile anche per utenti ubuntu) http://www.debianitalia (come sopra, anch'esso molto importante) http://www.ziobudda.net (importante portale di informazione diretta agli utenti linux) Nota: quantunque si richieda aiuto su un forum specializzato si consiglia il rispetto della Netiquette (buona educazione), basta salutare e presentarsi se si è nuovi del forum e comunque non offendere altri utenti; si consiglia inoltre di postare l'output del comando dmesg possibilmente evidenziando le righe di interesse o selezionando queste tramite la combinazione di dmesg e grep attraverso pipe. Mazza Dario – Merlino Sebastiano 37