GNU Linux introduction
-
Upload
vincenzo-paolo-fraddosio -
Category
Technology
-
view
1.469 -
download
0
description
Transcript of GNU Linux introduction
![Page 1: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/1.jpg)
![Page 2: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/2.jpg)
Sistema Operativo
Il compito principale del sistema operativo è quello di permettere all'utente, umano o non, di interagire direttamente con la macchina.
![Page 3: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/3.jpg)
Che cos'è GNU/Linux ?
![Page 4: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/4.jpg)
GNU/Linux è un sistema operativo libero di tipo unix-like costituito dall'integrazione del kernel Linux con elementi del sistema GNU e di altro
software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere.
![Page 5: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/5.jpg)
Linux è in realtà il nome del kernel sviluppato da Linus Torvalds a partire dal 1991 che, integrato con i componenti già realizzati dal progetto GNU
(compilatore gcc, libreria Glibc e altre utility) e da software di altri progetti, è stato utilizzato come base per la realizzazione dei sistemi operativi e delle distribuzioni che vengono normalmente identificate con lo stesso nome.
![Page 6: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/6.jpg)
- kernel (monolitico)- multitasking- multiutente- free software (quindi a sorgente aperto)- gratuito- codice macchina per il proprio processore- più sicuro perché continuamente aggiornato da developers di tutto il mondo (linux community)- disponibilità per ogni piattaforma- estrema versatilità
![Page 7: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/7.jpg)
![Page 8: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/8.jpg)
Porte serialiWindows LinuxCOM1 /dev/ttyS0COM2 /dev/ttyS1COM3 /dev/ttyS2COM4 /dev/ttyS3
Porte paralleleWindows LinuxLPT1: /dev/lp0LPT2: /dev/lp1
CD-ROMWindows LinuxD: /dev/hdcE: /dev/hdd
Alcune differenze tra Windows e Linux
![Page 9: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/9.jpg)
Windows → Case Insensitive (nessuna differenza)
Linux → Case Sensitive (differenza tra caratteri maiuscoli e minuscoli)
Alcune differenze tra Windows e Linux
![Page 10: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/10.jpg)
Windows usa le estensioni per sapere di che tipo di file si tratta: tutti i documenti Word finiscono con .doc, i fogli di calcolo Excel con .xls e così via.
Linux riconosce i tipi di file usando il 'magic number', vale a dire una sequenza di byte presente all'inizio del file. Così, ad esempio, se all'inizio del file trova la
sequenza '0xffd8', Linux sa che il file in questione è un'immagine in formato jpeg, a prescindere dall'estensione che può avere.
Le uniche estensioni usate da Linux sono: un punto che precede il file e che segnala al sistema che si tratta di un file (o directory) nascosto, e la tilde come estensione
finale che indica trattarsi di una copia.
Alcune differenze tra Windows e Linux
![Page 11: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/11.jpg)
![Page 12: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/12.jpg)
Secondo Richard Stallman, fondatore del progetto GNU, e secondo la Free Software Foundation, la dicitura Linux (senza prefisso "GNU/") per l'intero
sistema operativo sarebbe erronea in quanto il nome Linux è attribuibile al solo kernel e il sistema, strutturato a partire dai componenti dell'originale progetto
GNU, dovrebbe più propriamente chiamarsi GNU/Linux.
![Page 13: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/13.jpg)
L'espressione "software libero" (free software) si riferisce alla libertà dell'utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software
![Page 14: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/14.jpg)
quattro tipi di libertà per gli utenti:
0 Libertà di eseguire il programma, per qualsiasi scopo.
1 Libertà di studiare come funziona il programma e adattarlo alle proprie necessità.
2 Libertà di ridistribuire copie in modo da aiutare il prossimo.
3 Libertà di migliorare il programma e distribuirne pubblicamente imiglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
![Page 15: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/15.jpg)
Opensource ≠ Software LiberoSoftware Libero → GPL General Public License (LGPL per le librerie, FDL per
la documentazione)
![Page 16: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/16.jpg)
![Page 17: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/17.jpg)
Il gestore grafico standard per i sistemi operativi di tipo Unix
![Page 18: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/18.jpg)
X fornisce l'ambiente e i componenti di base per le interfacce grafiche, ovvero il disegno e lo spostamento delle finestre sullo schermo e
l'interazione con il mouse e la tastiera
![Page 19: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/19.jpg)
X usa un modello client/server: in altre parole, il server X comunica con gli altri programmi (client). Il server accetta richieste per output grafici
(finestre) e input dall'utente (dalla tastiera, il mouse o dal touchscreen).
![Page 20: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/20.jpg)
![Page 21: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/21.jpg)
Desktop Environment (ambienti desktop)
![Page 22: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/22.jpg)
Il desktop environment è l'interfaccia grafica (GUI) che permette di usare un computer tramite l'interazione con oggetti grafici, come le icone e le finestre dei programmi, in
quella che è appunto chiamata scrivania.
![Page 23: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/23.jpg)
Gli ambienti desktop di sistemi operativi popolari come Microsoft Windows e Mac OS X non consentono di cambiare facilmente il proprio ambiente grafico, che per il pubblico
tende a rappresentare il sistema operativo stesso.
![Page 24: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/24.jpg)
Nei sistemi basati su X Window System, il DE consiste di un window manager, di alcune skin personalizzabili, di programmi e librerie che gestiscono il desktop. Tutti questi
moduli tendono ad essere intercambiabili, modificabili e configurabili individualmente, al fine di ottenere una combinazione unica
![Page 25: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/25.jpg)
Un window manager è un software che gestisce l'aspetto e la posizione di una finestra nel X Window System
![Page 26: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/26.jpg)
Compiz-fusion un compositing window manager con effetti 3D
![Page 27: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/27.jpg)
Compiz può prendere il posto di altri window manager come Metacity in GNOME, KWin in KDE e Xfwm4 in Xfce. In tal modo vengono implementati all'interno dei vari ambienti
desktop una serie di effetti come un uso generalizzato delle trasparenze, un sistema per mostrare tutte le applicazioni aperte allo stesso tempo simile all'Exposé di OSX o un
selettore di applicazione (ALT-TAB) con rappresentazioni live delle finestre. I due effetti che hanno riscontrato più notorietà sono stati comunque la mappatura dei vari desktop
sulle facce di un cubo in 3D e le finestre che si piegano come se fossero di gomma quando vengono spostate.
![Page 28: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/28.jpg)
Ubuntu Installation
![Page 29: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/29.jpg)
La Shell
![Page 30: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/30.jpg)
In un sistema operativo, una shell o terminale è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi.
![Page 31: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/31.jpg)
Bash (acronimo per bourne again shell) è una shell testuale del progetto GNU usata nei sistemi operativi Unix e Unix-like
![Page 32: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/32.jpg)
Bash è in grado di eseguire i comandi che le vengono passati, utilizzando la redirezione dell'input e dell'output per eseguire più programmi in cascata in una
pipeline software, passando l'output del comando precedente come input del comando successivo.
![Page 33: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/33.jpg)
L'opzione -- help (talune volte -h) di un comando visualizza la sintassi e l'elenco delle opzioni
![Page 34: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/34.jpg)
Comando:
man
La maggior parte dei sistemi operativi UNIX e Unix-like dispone di un'ampia documentazione in linea nota come man pages (abbreviazione di "manual pages" ovvero pagine di manuale) o pagine man che sono consultabili tramite il comando man.
Ogni pagina man è un documento esplicativo di un comando, di una funzione o di un formato di file, o altro ancora, che descrive in maniera sintetica l'argomento e può contenere riferimenti ad altre pagine.
![Page 35: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/35.jpg)
Comando:
apropos
Verifica la disponibilità delle pagine di manuale, sia nei nomi sia nelle descrizioni
![Page 36: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/36.jpg)
Comando:
who - mostra gli utenti loggati nel sistema
uname - mostra la versione del sistema operativo
cat - stampa in output il contenuto di un file
ls - visualizza il listato dei files e delle cartelle
cd - permette di spostarsi all'interno/esterno delle cartelle
pwd - visualizza il path
mkdir - permette di creare una cartella
mv - permette di spostare files e cartelle
rm - cancella un file o una cartella
ps - visualizza i processi in esecuzione
kill - termina un processo
![Page 37: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/37.jpg)
Comandi Utenti, Gruppi, Permessi:
chown – modifica il proprietario/gruppo di un file
passwd – modifica la password di un utente
adduser – aggiunge un utente al sistema
deluser – rimuove un account dal sistema
addgroup – aggiunge un gruppo al sistema
delgroup – rimuove un gruppo dal sistema
chmod – modifica i permessi di un file
![Page 38: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/38.jpg)
Comandi filesystem:
df – visualizza la quantità di spazio utilizzato e disponibile sul filesystem
du – visualizza la quantità di spazio su disco utilizzato da singoli file e cartelle
fsck – verifica e ripara il filesystem
mkfs – crea il filesystem su un dispositivo
mount – monta un filesystem
![Page 39: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/39.jpg)
Il Filesystem
![Page 40: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/40.jpg)
FHS = Filesystem Hierarchy Standard (Definisce i nomi delle cartelle e il loro contenuto)
Ambienti Desktop come Gnome o KDE forniscono shortcuts a cartelle e file particolari
![Page 41: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/41.jpg)
La filosofia alla base dei sistemi operativi unix-like comporta:
Everything is a file (Ogni cosa è un file)
La componentistica hardware (periferiche) sono rappresentate come file (device)
Sono presenti 7 tipologie di file base:
0) File “normali” (-)1) Directory (d)2) Device a blocchi (b)3) Device a caratteri (c)4) Pipe (p)5) Socket (s)6) Link (l)
![Page 42: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/42.jpg)
Un file di tipo device può essere di tipo:
b – a blocchic – a caratteri
Il device a blocchi utilizza la buffer cache (memorie)Il device a caratteri non utilizza la buffer cache (periferiche)
La Buffer Cache è un'area della memoria primaria che contiene una copia dei blocchi del disco usati più recentemente.
Durante la fase di inizializzazione (init) il kernel alloca una porzione della RAM destinata al buffer cache.
La fase INIT è a posteriori della fase di bootstrap nella quale il kernel avvia programmi e servizi necessari a portare il sistema in uno stato operativo.
![Page 43: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/43.jpg)
Quando si devono leggere dati dal disco, il kernel ricercherà tali dati inizialmente nella Buffer Cache (B.C.)
Qualora tali dati non siano presenti nella buffer cache, il kernel provvederà alla lettura degli stessi dal disco e alla loro copia nella buffer cache per eventuali futuri accessi.
Il kernel minimizza le scritture su disco cercando di prevedere se i dati da scrivere sono definitivi o saranno presto sostituiti da altri.
![Page 44: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/44.jpg)
Non esistono le unità logiche (presenti negli OS Microsoft tipo C:\)il tutto è rappresentato in un unico albero delle cartelle.
![Page 45: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/45.jpg)
Le cartelle sono graficamente separate dal simbolo / (Slash diretto)
secondo lo standard.
Non è un caso che anche in rete la navigazione tra cartelle è permessa tramite la slash diretto, usare il backslash al contrario
è una prerogativa dei soli sistemi MS.
![Page 46: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/46.jpg)
Caratteri speciali
“/” Separatore delle cartelle“.” Se a inizio nome, indica un file/cartella nascosto“~” Indica la cartella home dell'utente“.” è la cartella corrente“..” la cartella genitrice
![Page 47: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/47.jpg)
Linux a differenza di windows è totalmente filesystem-related infatti accedendo a due terminali (anche da modalità grafica) si può
interagire con essi da filesystem
![Page 48: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/48.jpg)
Mentre windows utilizza un sistema per cui ogni programma/software ha la sua cartella in cui viene memorizzato tutto
(eseguibili, configurazioni, dati, documentazione, eccetera) linux suddivide i files del software in base al loro ruolo
![Page 49: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/49.jpg)
![Page 50: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/50.jpg)
In base al File Hierarchy System :
Directory Descrizione/bin/ File binari per tutti gli utenti (es., cat, ls, cp)/boot/ File del Boot loader (es., kernel, initrd)/dev/ File di periferica (devices) (es., /dev/null)/etc/ File di configurazione del sistema (da et cetera)/opt/ Software statici (non appartenenti alla distro)/home/ Cartella Home degli utenti/lib/ Librerie essenziali per i binari in /bin/ e /sbin//mnt/ Filesystem montati (mounted) temporaneamente/proc/ Filesystem virtuale che mostra informazioni sullo stato del kernel e dei processi attivi; sono presenti soprattutto file di testo (es, uptime, network)/root/ Cartella Home dell'utente root (amministratore)/sbin/ Eseguibili per l'amministrazione del sistema/tmp/ File temporanei/srv/ Dati specifici forniti dal sistema (served)/usr/ Gerarchia secondaria per i dati condivisibili ed in sola lettura (unix system resources). Questa directory è nata per essere condivisa tra gli host e non deve contenere dati specifici./var/ File Variabili come log, database, siti web, e file temporanei delle e-mail.
![Page 51: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/51.jpg)
mount permette di collegare un volume all'albero delle cartelle(umount disconnette un volume)
In numerosi ambienti desktop un volume è montabile direttamente tramite click
esempio del comando da terminale:
mount -t iso9660 -o ro /dev/cdrom0 /media/cdromumount /media/cdrom
/media/ contiene i volumi montati
![Page 52: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/52.jpg)
![Page 53: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/53.jpg)
Nei sistemi operativi GNU/Linux ciascun file ha 9 permessi (espressi nella notazione ottale)
I campi ottenibili sono in tutto 10 (9 campi permessi (divisi in 3 triplette))1 campo informazione (permette di distinguere la tipologia dell'elemento (file, directory,
etc..)
![Page 54: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/54.jpg)
![Page 55: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/55.jpg)
![Page 56: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/56.jpg)
![Page 57: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/57.jpg)
I dati relativi ai permessi e alla tipologia di file nel sistema Linux sono archiviati in una struttura del filesystem detta: inode
in totale inode archivia informazioni relativi a:
Dimensione del file e la sua locazione fisicaIl proprietario e il gruppo di appartenenzaLe informazioni a carattere temporale sulla creazione, modifica e sull'ultimo accessoIl numero di collegamenti fisiciI permessi di accesso
Ogni file ha un ID che lo associa univocamente al proprio inode. Quando un programma cerca di accedere ad un file tramite un nome (pippo.txt) Linux cerca l'inode corrispondente e recupera tutte le informazioni per operare sul file.
![Page 58: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/58.jpg)
Su windows i collegamenti sono dei file che contengono sotto forma testuale il path del file di destinazione.
Su linux invece i "link" sono più avanzati nel senso che il comando ad esempio:
ln /nome/file/target /nome/collegamento
crea sul disco un collegamento forte a quel file ("hard link") che fa riferimento direttamente all'inode di quel file. Cancellando /nome/collegamento si cancellerà di conseguenza anche /nome/file/target. Se invece si utilizza la sintassi:
ln -s /nome/file/target /nome/collegamento
si creerà un collegamento simbolico ("symbolic link") che fa riferimento a quel file. Cancellando il collegamento, ossia /nome/collegamento il file/nome/file/target rimarrà intatto, allo stesso modo cancellando /nome/file/target il collegamento /nome/collegamento rimarrà intatto ma non funzionante (come su windows).
Alcune differenze tra Windows e Linux
![Page 59: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/59.jpg)
Esercizio 0:
Aprire due terminali, sul primo digitare il comando whosul secondo digitare il comando ls -l /dev/pts
digitare ora sul primo terminale echo Ciao > /dev/pts/1
Vedremo comparire la stringa sul secondo terminale.Questo perchè il contenuto viene passato tramite device a caratteri (c)(si noti la c che precede i permessi)
![Page 60: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/60.jpg)
Caratteri per la redirezione dell’output:
“>” redirige l’output in un file, se il file non esiste lo crea, se esiste lo svuota e lo riempie con l’output.“>>” redirige l’output in un file, se il file non esiste lo crea, se esiste accoda il nuovo output al contenuto presente (append) invece di svuotare il file.
“2>” redirige lo standard di errore in un file, se il file non esiste lo crea, se esiste lo svuota e lo riempie.“2>>” redirige lo standard di errore in un file, se il file non esiste lo crea, se esiste accoda
“|” redirige lo standard di output al comando successivo
![Page 61: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/61.jpg)
Installare software
![Page 62: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/62.jpg)
I software per linux si presentano come:
Sorgenti (file sorgenti opportunamente archiviati con TAR e zippati)Binari (file .bin o Bundle)Packages (.deb o .rpm)
![Page 63: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/63.jpg)
E' possibile via shell testuale (terminale) scaricare file dalla rete tramite protocollo http o ftp.
Tra gli applicativi del progetto GNU, software wget si occupa del download di file sul path impartito.
![Page 64: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/64.jpg)
I comandi :
tar – permette l'archiviazione/estrazione di file gunzip (in ubuntu anche Unzip) – permette l'estrazione dei dati da un file compresso
(usare la sintassi --help (o -h) o leggere le pagine di manuale (man tar ; man gunzip)
![Page 65: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/65.jpg)
Numerosi software distribuiti in formato sorgente presentano nella maggior parte dei casi un file di testo con le istruzioni necessarie per la configurazione e la compilazione del programma.
Una volta estratto l'archivio è necessario agire nella directory dove sono presenti i file sorgenti.
Leggere il file che spiega la procedura di installazione.
Lanciare lo script:
./configure
Quindi lanciare il comando make (che automatizza la conversione tra codice sorgente e codice oggetto) risolvendo le dipendenze.
make ricerca un file denominato “makefile” (il nome standard è appunto makefile ma può essere chiamato in qualsiasi modo, sarà però necessario specificare il nome file del makefile nella sintassi di make).
make install permette di installare ogni “parte del programma” (file di configurazione... etc) nelle giuste directory.
![Page 66: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/66.jpg)
Per disinstallare software installato a partire dai sorgenti generalmentebasterà posizionarsi nella directory del software compilato e lanciare
make uninstall
![Page 67: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/67.jpg)
Ubuntu in quanto debian-based utilizza il sistema packages detto DEB.
I file presenti “pacchetti deb” sono generalmente presenti nel repository (una sorta di database).
E' possibile verificare l'elenco degli host dei repository all'interno del file di configurazione:
/etc/apt/sources.list
Sarà quindi possibile installare software conoscendo il nome del programma desiderato, utilizzando l'utility apt-get
Per installare un software a partire da un file .deb scaricato invece utilizzare il comando dpkg.
Allo stesso modo funzionano i pacchetti RPM (standard delle distribuzioni Red Hat)
L'utility alien permette la conversione dei pacchetti da RPM a DEB
![Page 68: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/68.jpg)
Synaptic è un front-end grafico per l'installazione di pacchetti deb
![Page 69: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/69.jpg)
Network
![Page 70: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/70.jpg)
Ubuntu riconosce automaticamente la scheda di rete e le connessioni.
Il front-end grafico per la configurazione della connessione di rete è:
nm-connection-editor
Tuttavia sono presenti comandi da terminale per la configurazione e la diagnostica di rete:
ifconfig – (interface configurator) permette di controllare l'interfaccia di rete TCP/IP
esso permette di impostare l'indirizzo ip, netmask etc... di attivare o disattivare la connessione.
Durante il bootstrap il kernel intenta l'attivazione dell'interfaccia di rete via script da shell che utilizzano ifconfig.
ifconfig permette inoltre di modificare l'indirizzo fisico (MAC) di una interfaccia di rete.
![Page 71: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/71.jpg)
Le Tabelle di routing e il firewall sono gestibili tramite i comandi:
ipiptables
Il primo permette di visualizzare/configurare la tabella di routing
iptables consente di configurare netfilter (un modulo kernel che gestisce l'intercettazione e la manipolazione dei pacchetti). Netfilter ha funzionalità di rete avanzate come firewalling ma anche la configurazione di NAT (un sistema di traduzione degli indirizzi ip che consente la condivisione di una connessione internet tra diversi computer)
Netfilter utilizza un sistema di policy (ACL) basato su tabelle/catene tale da permettere di individuare le “regole” da utilizzare per ogni pacchetto.
![Page 72: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/72.jpg)
La versione di ifconfig per interfacce di rete WiFi (802.11x family) è
iwconfig
Nonostante in ubuntu la configurazione di un accesso alla rete wifi è ottenibile tramite GUI; iwconfig permette via terminale di impostare l'access point, essid, canale, chiave di accesso (wep,wpa etc..)
![Page 73: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/73.jpg)
Alcuni comandi comandi di rete:
ping – invia un pacchetto ICMP traceroute – ricava il percorso dei pacchetti ICMP all'interno di una rete
host – utility dnsnslookup – utility dnsdig – utility dnsarp – gestione della ARP cachenetstat – identifica i socket aperti sulla propria macchina e le eventuali connessioni
tcpdump – analisi del traffico tramite intercettazione (sniffing) dei pacchetti
![Page 74: GNU Linux introduction](https://reader034.fdocument.pub/reader034/viewer/2022052217/55703188d8b42a611e8b4820/html5/thumbnails/74.jpg)
Le condivisioni Microsoft (NetBios/NetBeui) sono gestibili anche dai sistemi unix-like attraverso SAMBA (SMB protocol)
Samba configura share (condivisioni) includendo le subdirectories.Le condivisioni sono accessibili tramite protocollo TCP/IP
Un client Linux può effettuare il mount di una condivisione Samba direttamente nell'albero del filesystem
Ubuntu gestisce in modalità grafica la condivisione delle cartelle (esattamente come in Microsoft Windows)
Il file di configurazione di Samba si trova generalmente sotto
/etc/smb.confoppure/etc/samba/smb.conf