5 Linux Filesystem

23
1 FileSystem / Radice (root). La directory principale che contiene tutte le altre. /root Home dell'utente root, da non confondere con la root ( / ), che è la directory principale e non una directory che si chiama /root /boot Contiene tutte le immagini del kernel e file indispensabili al bootstrap del sistema. /etc Contiene i file di configurazione del sistema e dei programmi installati /home Contiene le home directory degli utenti normali (tutti tranne l'utente root) /usr Contiene binari, documentazione, librerie e sorgenti della maggior parte dei programmi (e i sorgenti del kernel)

Transcript of 5 Linux Filesystem

1

FileSystem

/ Radice (root). La directory principale che contiene tutte le altre.

/root Home dell'utente root, da non confondere con la root ( / ), che è la directory principale e non una directory che si chiama /root

/boot Contiene tutte le immagini del kernel e file indispensabili al bootstrap del sistema.

/etc Contiene i file di configurazione del sistema e dei programmi installati

/home Contiene le home directory degli utenti normali (tutti tranne l'utente root)

/usr Contiene binari, documentazione, librerie e sorgenti della maggior parte dei programmi (e i sorgenti del kernel)

2

FileSystem

/var Contiene tutti file che hanno informazioni dinamiche, che tendono a modificarsi con il tempo: log, file di pid e lock dei processi in esecuzione, directory di spool (stampa, mail...) ecc.

/proc File system virtuale, generato in tempo reale dal kernel. Contiene, come se fossero file e directory, dati dinamici sul sistema e sui processi

/dev Contiene file speciali, che corrispondono a dispositivi hardware o a funzionalità particolari. Tramite di essi si può accedere al relativo device hardware.

/sbin Contiene comandi e programmi riservati a root ( altri comandi sono in /usr/sbin/ )

/bin Contiene comandi e programmi base per tutti gli utenti (altri comandi sono in /usr/bin/ )

3

RunLevel

I Runlevel (/etc/rcX.d con la X da 0 a 6) sono cartelle cherappresentano vari profili di sistema, i quali permettonol’avvio automatico dei servizi:

Runlevel 0 : /etc/rc0.d Questo runlevel avvia la sequenza di arresto del sistema(shutdown) Runlevel 1: /etc/rc1.d Questo runlevel rappresenta la modalità singolo utente, nessunaltro utente può collegarsi, il servizio di rete è disabilitato. Runlevel 2: /etc/rc2.d Rappresenta lo stato multiutente, il servizio rete è attivo ma èdisabilitato il file sharing. Runlevel 3: /etc/rc3.d In genere è quello predefinito quando si opera in modalitàtestuale, tutti i servizi sono attivi. Runlevel 4: /etc/rc4.d Inutilizzato. Può essere dedicato ad usi personali Runlevel 5: /etc/rc5.d E' il runlevel predefinito quando si vuole avviare Linux inmodalità grafica Runlevel 6: /etc/rc6.d Il runlevel 6 è quello di reboot.

4

Repository Debian

5

Comandi Gestione Pacchetti

apt-get – Interfaccia a riga di come per APTapt-cache – Ricerca informazioni nella cache dei sistemaqqdpkg – Installatore dei pacchetti Debiansynaptic – Interfaccia grafica Gtk di APTdselect – installatore Debian dei pacchetti

6

dpkg - package manager for Debian

In principio esistevano i .tar.gz. Gli utenti dovevano compilare ogni programma che volevanousare sui loro sistemi GNU/Linux.

Con la nascita di Debian, fu ritenuto necessario che il sistema incorporasse un metodo digestione dei pacchetti installati sulla macchina A questo sistema fu dato il nome dpkg

7

APT (Advanced Packaging Tool)

Dpkg non bastava ,serviva un modo rapido, pratico ed efficienteper installare i programmi, che gestisse automaticamente ledipendenze e che avesse cura di mantenere i file diconfigurazione esistenti mentre si effettuavano i variaggiornamenti.Debian ha aperto la strada dando vita ad :

APT(Advanced Packaging Tool)

8

Source List

/etc/apt/sources.list

Il contenuto di questo file ha normalmente il seguente formato: deb http://host/debian distribuzione sezione1 sezione2 sezione3 deb-src http://host/debian distribuzione sezione1 sezione2 sezione3

Il contenuto reale di un file sources.list:deb http://ftp.it.debian.org/debian/ stable main non-free contribdeb-src http://ftp.it.debian.org/debian/ stable main non-free contrib

9

sources.list

Sintassi

Ogni riga che descrive un repository ha una ben determinata sintassi:

deb uri distribution [component..]

10

Source.list URI

deb o deb-src

serve ad indicare se il repository indicato contiene pacchetti binari o pacchetti sorgenti (se licontiene entrambi, è necessario specificarlo usando due righe diverse).

11

Source.list URI

• uri indica l'indirizzo a cui è possibile trovare il repository; è possibile scegliere tra i seguentimetodi di accesso ai pacchetti:

• file permette di inserire un repository presente sull'Hard Disk del computer; • cdrom permette di inserire un repository presente su un cd-rom; • http permette di accedere ad un repository tramite il protocollo http (se è impostata unavariabile di ambiente http_proxy col formato http://server:port/ verranno usate questeopzioni per accedere al repository; in caso di necessità di autenticazione, è possibilespecificare l'inidirizzo del proxy, nella variabile d'ambiente http_proxy, nel seguente modo:http://user:pass@server:port/, anche se risulta non essere un modo sicuro diautenticazione);

• ftp permette di accedere ad un repository tramite il protocollo ftp; è possibilespecificare un proxy nell stesso modo indicato per http al punto precedente,sostituendo alla variabile http_proxy ftp_proxy;

12

Source.list URI

• copy è idendico a file, ma i file utilizzati vengono salvati nella cache di apt; utile nelcaso di supporti removibili quali Usb-drive, Floppy, Zip, ...;

• rsh, ssh permette di accedere ad un repository tramite il protocollo ssh. Non èpossibile, però, effettuare alcuna autenticazione interativa, ma solo tramite lo scambiodi chiavi RSA.

• distribution indica la distribuzione (o release) utilizzata... è possibile usare il nome incodice (sarge, etch, sid) o il nome generico (stable, testing, unstable);

• component indica la sezione (non-free, main, contrib...) del repository da inserire; sonopossibili scelte multiple.

13

souces.list COMPONET

• main è la sezione principale, che contiene il 90% dei pacchettipresenti in Debian

• contrib raccoglie i pacchetti coerenti con i punti 5 e/o 6 delle DFSG,ma che dipendono da pacchetti che non la rispettano

• non-free contiene dei pacchetti che possiedono delle limitazioninella distribuzione (ad esempio perchè non utilizzabili in ambitocommerciale o perchè dipendenti da applicazioni o pacchetti che nonrispettano la Debian Free Software Guidelines)

DFSG : http://www.debian.org/social_contract#guidelines

14

Alcuni esempi

repository ufficiali (binari e sorgenti) presi da un mirror italiano: deb http://ftp.it.debian.org/debian/ stable main non-free contribdeb-src http://ftp.it.debian.org/debian/ stable main non-free contrib

Il repository di apt-build deb file:/var/cache/apt-build/repository apt-build main

Un repository 'artigianale' accessibile tramite un webserver: deb http://repos.debianizzati.org ./

Un repository situato nella home dell'utente maxer, creato con dpkg-scanpackages : deb file:/home/maxer/repos ./

15

apt-get

apt-get è lo strumento a riga di comando per la gestione dei pacchetti

Sintassi:apt-get [opzioni] [comando] [pacchetto ...]

Dove comando è uno dei seguenti:

update : apt-get updateupgrade : apt-get upgradedist-upgrade : apt-get dist-upgradeinstall : apt-get install nomepacchettoremove : apt-get remove nomepacchettoclean : apt-get clean

16

apt-get opzioni frequenti

-m

Ignora i pacchetti mancanti, se ce ne sono.

-d

Scarica solamente i pacchetti necessari, senza installarli.

-f

Ripara le dipendenze non soddisfatte; eseguire apt-get -f install solo perriparare automagicamente i problemi di dipendenze sul proprio sistema.

17

Aggiornare la lista dei pacchetti disponibili

apt-get update

Questo comando controlla le liste dei pacchetti presenti negliarchivi elencati in /etc/apt/sources.list

18

Installazione pacchetti

L'installazione di nuovi pacchetti, una volta impostate lesorgenti, è effettuabile attraverso l'esecuzione del comando :

apt-get install nomepacchetto

19

Rimozione dei pacchetti

Analogamente all'installazione, la rimozione è effettuabile attraverso l'esecuzione di:

apt-get remove nomepacchetto

Eseguendo apt-get remove verranno rimossi i pacchetti, ma non i loro file diconfigurazione, per eliminare anch'essi è necessario anteporre --purge a remove in questomodo:

apt-get --purge remove nomepacchetto

20

Rimozione dei pacchetti

Eseguendo apt-get remove verrà rimosso il singolo pacchetto,qualora si volesse rimuove oltre al pacchetto indicato, i suoipacchetti dipendenti (caso di rimozione di un software compostoda più pacchetti) bisogna utilizzare autoremove in questo modo:

apt-get --purge remove nomepacchetto

21

Simulazione

L'opzione --simulate , anteposta all'azione, consente di simulare l'azione e tutti i passi cheil programma normalmente compierebbe, quindi vedere cosa verrebbe effettuato senza peròcorrere alcun rischio.

apt-get --simulate azione

Ad esempio, prima di compiere un upgrade importante, si può provare il seguente comando econtrollare che non vengano installati pacchetti che non ci interessano e che non venganodisinstallati pacchetti importanti:

apt-get --simulate upgrade

22

Aggiornamento

È possibile aggiornare tutti i pacchetti installati con il comando:

apt-get upgrade

oltre a svolgere la funzione di upgrade, e possibile utilizzare l'opzione --dist-upgrade chegestisce anche in modo intelligente i cambiamenti delle dipendenze con le nuove versioni dipacchetti; apt-get ha un "intelligente" sistema di risoluzione dei conflitti e tenterà di aggiornare ipacchetti più importanti a spese dei pacchetti meno importanti, se necessario.

apt-get dist-upgrade

23

Pulizia Archivi

apt-get clean

ripulisce l'archivio locale dei pacchetti scaricati. Esso rimuove ogni cosa, eccetto il file lock, dalle directory :/var/cache/apt/archives/ e /var/cache/apt/archives/partial/ .