Mazza Dario                    Merlino Sebastiano



             Linux
               &
          Open Source
           ...
Suggerimenti per recuperare spazio sull'hard disk,
                                   comprimendo i file di testo:
       ...
La Shell
 In un sistema operativo, una shell (o terminale) è un programma che permette
 agli utenti di comunicare con il s...
Vantaggi della Shell
 Sebbene molti utenti siano abituati ad interfacce grafiche (GUI), una interfaccia a
 linea di comand...
Comandi della Shell
                                    Navigazione

 Pathname: percorso per raggiungere un file.
 Il path...
Comandi della Shell
                                  Gestione file e cartelle
  mkdir pathname: crea una directory con il...
Comandi della Shell
                                   Gestione file e cartelle
  mv -opt origine destinazione: sposta il ...
Comandi della Shell
                                   SuperUtenza

  Talune operazioni richiedono l'autenticazione come a...
Comandi della Shell
                                   Diritti di accesso
 Intendiamo per diritti di accesso o permessi le...
Comandi della Shell
                                   Diritti di accesso

                      -rwxrw-r-- 1 root suser …...
Comandi della Shell
                                        Diritti di accesso
chmod -opzioni mode file: modifica i diritt...
Comandi della Shell
                                       Diritti di accesso
chmod -opzioni mode file: modifica i diritti...
Comandi della Shell
                                   Diritti di accesso
Esempi di utilizzo di questa seconda modalità di...
Comandi della Shell
                                   Diritti di accesso

chown opzioni nomeutente:nomegruppo file : camb...
Comandi della Shell
                               Installazione Software
dpkg -i pacchetto.deb : installa nel sistema il ...
Comandi della Shell
                               Montaggio dei Dischi
Un device file è la rappresentazione per il sistem...
Comandi della Shell
                                   Archivi di File
Un archivio non è altro che uno speciale file in gr...
Comandi della Shell
                                   Monitor di Sistema
Un programma durante la sua esecuzione prende il...
Comandi della Shell
                               Manuale di Sistema
Un utile strumento si rivela spesso il Manuale di Si...
Comandi della Shell
                                         Utilità
Molti sono gli strumenti aggiuntivi che la shell può ...
Comandi della Shell
                                         Utilità
finger nomeutente : mostra informazioni a proposito d...
Comandi della Shell
                                          Utilità
touch nomefile : imposta la data di “ultimo aggiorna...
Caratteri Speciali
La shell accetta alcuni caratteri speciali o combinazioni di tasti che aiutano molto nel suo
utilizzo q...
Shell: Esempi di Utilizzo
 cd ~ = cd /home/nomeutente/ : entrambi i comandi ci portano alla
 cartella /home/nomeutente.
 e...
Cartelle Speciali
 Ubuntu è organizzato in un insieme di cartelle e sottocartelle. Vi sono alcune cartelle
 importanti (pi...
Virtualizzazione
                                                       È un'operazione mediante la
                      ...
Virtualizzazione
 Le tecniche di Virtualizzazione risultano utili per vari motivi:
   ● Esse rendono possibile l'esecuzion...
Wine
 Wine è un acronimo ricorsivo che significa Wine Is Not an Emulator. Obiettivo di un
 tale software è quello di reint...
Wine
                                   Come si può notare dallo screenshot la
                                   cofigura...
Compilazione da Sorgenti
 La compilazione è il processo mediante il quale si trasforma un semplice file sorgente
 (non è a...
Pacchettizzazione di Sorgenti
 È l'operazione mediante la quale si ottengono pacchetti .deb a partire da sorgenti. Una
 ta...
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i gruppi di sistema
 Spesso risulterà necessaria la creazione di nuo...
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i dischi
 Nel caso di aggiunta o rimozione di partizioni del disco o...
Tecniche “Avanzate”
 Risoluzione di problemi inerenti i Moduli del Kernel
 Un modulo è uno speciale insieme di funzionalit...
Tecniche “Avanzate”
 Risoluzione di problemi inerenti l'audio
 Nel caso di problemi con l'audio, ci vengono in aiuto vari ...
Tecniche “Avanzate”
 Risoluzione di problemi inerenti le webcam
 Moltissime sono ormai ampiamente supportate su linux. Pos...
Help
Nel momento in cui ci si trovi ad effettuare operazioni di configurazione o di compilazione da
sorgenti, saranno quas...
Upcoming SlideShare
Loading in …5
×

Lezione Tre

1,344 views
1,268 views

Published on

Slide riferite alla terza lezione del corso. Trattano dell'utilizzo della shell in generale e dei comandi in essa utilizzabili. Si parlerà anche delle soluzioni ad eventuali problemi di configurazione del sistema ed inoltre delle più comuni tecniche di virtualizzazione ed emulazione o l'utilizzo di wine.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,344
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lezione Tre

  1. 1. Mazza Dario Merlino Sebastiano Linux & Open Source Lezione TRE Advanced Using
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×