Salta il menu
*Linux Guide

Il Filesystem di Linux

Il modo in cui Linux organizza i suoi file nel disco rigido, è molto diverso dal modo in cui Windows esegue lo stesso compito. I nuovi utenti di Linux, provenienti da Windows, a volte hanno difficoltà a gestire le directory o giungono alla convinzione che Linux gestisca i propri file nello stesso modo in cui vengono gestiti da Windows.
Questo articolo è stato scritto per aiutare i nuovi utenti a muoversi attraverso le directory della loro nuova installazione Linux.
Un punto essenziale da tenere a mente è che mentre in Windows si identificano le "unità", come l'unità disco C: o D:, in Linux si ha a che fare con qualcosa chiamato "punti di montaggio" (o mount-points). Questi sono i luoghi in cui gli altri hard disk, i masterizzatori CD/DVD, ecc ... si collegano alla partizione root.
Non preoccupatevi tutto avrà un senso più tardi, a lettura conclusa.

Tutto comincia con Root: /
La directory root conosciuta semplicemente come "/" è il punto di partenza. Senza essere dei tecnici, la directory root agisce come il "C: Drive" in Windows. Un sistema Linux non può avviarsi senza una partizione root, allo stesso modo, è come cancellare la cartella C: WINDOWS. Ciò renderà il vostro computer Windows inutilizzabile.
Tutto è in: /bin
La cartella /bin contiene importanti programmi di sistema. "bin" è l"abbreviazione di "binario". Alcuni dei programmi più popolari: date, less, more, cat, dmesg. Questi programmi sono essenziali al fine di avviare e di avere un sistema operativo completo. Sebbene voi non possiate mai utilizzare personalmente uno di questi programmi, il sistema si basa su alcuni di essi.
Dove tutto comincia: /boot
Come suggerisce il nome, /boot è dove risiedono i file cruciali, soprattutto il kernel. Senza il kernel, non si dispone di un sistema.
Un altro programma indispensabile che si trova in /boot è il bootloader. Proprio come per il kernel, Linux ne ha bisogno per funzionare. Il bootloader è lì per individuare effettivamente il kernel e iniziare ad avviarlo.
Ogni dispositivo è un file: /dev
In Linux, ogni dispositivo è un file. Ciò significa che quando si collega un hard disk al vostro sistema, si ottiene un file "device" che permette al sistema di interagire con esso. Quando il kernel individua un nuovo disco rigido viene contrassegnato come un file come "/dev/sda". La parte /dev è la directory e la parte "sda" è il file che si connette all'hardware. Quindi, se si vuole formattare l'intero disco è possibile digitare il comando "dd if=/dev/null of=/dev/sda". Ciò copia /dev/null nel vostro disco rigido. /dev/null è un "bit bucket". Il che significa che tutto ciò che risiede in esso viene eliminato.
Configurazione: /etc
Linux è un sistema personalizzabile e conserva tutti i file di configurazione dei programmi in questa directory.
La maggior parte dei programmi è dotata predefinitamente di un comportamento ragionevole e sicuro. Ma cosa succede se lo si vuole cambiare?
La directory /etc contiene una grande quantità di file di testo che consentono di aprire e personalizzare le modalità di funzionamento dei programmi.
Una nota importante è quella per la quale /etc gestisce le impostazioni predefinite a livello globale. Questo significa che se si modifica un file di questa directory, verrà interessato l'intero sistema.
Le librerie condivise: /lib
La directory /lib è un modo per tenere tutte le librerie software in una posizione centralizzata. La maggior parte (se non tutti) i file, qui hanno una estensione ".so" per farvi sapere che sono file "oggetto condiviso" ("shared object"). Questi file sono codice che può essere utilizzato da più programmi. Questo aiuta a prevenire un problema noto come "software bloat". Anche Windows ha questi file, vengono chiamati "Dynamically Linked Libraries" o DLL in breve. Come regolare utente Linux, molto probabilmente non dovrete mai cambiare nulla in questa cartella.
A seconda di come si installa il software sul computer, ci si potrebbe imbattere in un problema "oggetto condiviso mancante" ("missing shared object") se il vostro software "dipende" da un altro programma per funzionare.
L"equivalente di Windows è "l"inferno DLL".
Quando non si è spento correttamente il pc: /lost+found
Questa directory viene utilizzata quando l"utente non arresta il sistema in modo corretto (spegnendolo quando il sistema è ancora attivo e funzionante). Al momento dell'avvio successivo, il sistema cercherà di correggere se stesso, attraverso la scansione del disco rigido per cercare file corrotti e cercare di correggere gli eventuali problemi che si presentano. Se trova qualcosa, sarà collocato nella directory /lost+found per l'amministratore di sistema (voi!), per mostrarglielo e procedere oltre.
Dove vivono i "Mount Point": /mnt e /media
Le directories /mnt e /media servono a riconoscere e "attaccare" altri dispositivi alla directory root. In Windows, quando si inserisce una stick USB, potrete vedere il sistema indicarla con una lettera di unità (E:). A seconda di quale distribuzione Linux venga utilizzata, il dispositivo sarà montato automaticamente ("auto mount") o sarà l'utente stesso a doverlo montare. Nelle distribuzioni più recenti e amichevoli, il dispositivo sarà montato automaticamente e inserito in una di queste directory. Sarete in grado di sfogliare i file all'interno della vostra stick presso /mnt/usb o /media/usb. Ogni distribuzione è diversa, quindi il mio esempio può non corrispondere esattamente con i risultati ottenuti da voi.
/media è il nuovo arrivato sulla scena Linux.
La maggior parte delle distribuzioni più datate utilizzano esclusivamente /mnt per la gestione dei dispositivi, ma /media sta guadagnando terreno come percorso predefinito per il montaggio dei dispositivi.
Linux permette di montare qualsiasi dispositivo ovunque (finché si dispone delle autorizzazioni). Quindi è del tutto possibile montare un dispositivo sotto "/bin/mount" o "/var/log". Questo di solito non è una buona idea e le directories /mnt e /media sono da prendere in considerazione per rendere tutto più facile.
La directory "Optional": /opt
Questo è il posto dove gli utenti possono installare software se non c'è un altro luogo idoneo che possa essere utilizzato. La maggior parte delle principali distribuzioni Linux ha "repository software" che permettono agli utenti di aggiungere e rimuovere tonnellate di programmi. Ma cosa accade quando avete bisogno di un programma che non è nel repository?
Al fine di separare i pacchetti software dei repository da pacchetti "esterni", a volte il modo migliore di installarli è metterli in /opt. Questa pratica viene utilizzata raramente, anche se ogni distribuzione è differente. Alcuni depositeranno quelli più conosciuti di KDE in /opt, mentre altre distribuzioni non lo fanno.
La mia regola personale è quella di utilizzare /opt quando il software che si sta installando va di default in questa directory (Il programma Google Earth fa ciò), o quando io installo un programma che non ho ottenuto dal repository software.
Nella directory del kernel: /proc e /sys
Entrambe queste directories sono in possesso di un patrimonio di informazioni sullo stato del sistema. File come "/proc/cpuinfo" contengono informazioni sulla vostra CPU (velocità, produttore, la dimensione della cache). La directory /proc sta lentamente scomparendo a favore di /sys.
Siete qui ed ora non più: /tmp
La directory /tmp è una abbreviazione di "temporaneo". Quindi, tenendo a mente ciò, sono sicuro che possiate dedurre perché viene usata. Viene impiegata per gestire i files temporanei. Utile per i programmi che generano un sacco di "spazzatura" o con la necessità di scrivere file per gestire un compito, ma che possa essere cancellato una volta che il compito sia completato. Questa directory è una posizione preferenziale per fare ciò, al fine di non riempire le altre directory con questi file.
Dove vivono i Programmi: /usr
La directory /usr è un mostro. Decine di articoli potrebbero essere scritti solo per illustrare il tutto. Ma per farla breve, /usr è il luogo dove vengono custoditi tutti i programmi "secondari". Certo, amate il vostro lettore musicale, ma non è fondamentale per un sistema operativo realmente funzionante. Così, invece di mettere tutti gli eseguibili in /bin, li mettiamo da parte. I programmi fondamentali per il sistema sono in /bin e i programmi non cruciali in /usr/bin. La directory /usr potrebbe essere vista come l'equivalente, di Windows, C: Program Files.
Non solo file temporanei: /var
/var (che sta per variazione o variabile) agisce come /tmp, nel senso che i file che si trovano sono "temporanei", ma meno "temporanei", di quelli in /tmp. Ciò significa, in realtà, che la directory /tmp molto probabilmente sarà cancellata ogni volta che venga riavviato il sistema, mentre i file in /var no. /var è un luogo dove mantenere "persistenti" i file. Un esempio potrebbero essere i file di log.
Molti amministratori di sistema non desiderano eliminare i file di log ad ogni riavvio, ma i file possono essere rimossi o "ridotti" a un livello più gestibile in base ai capricci dell'amministratore.
Un esempio potrebbe essere la directory "/var/mail".
Esso contiene le mail inviate agli utenti del sistema. Alcuni utenti avranno centinaia di messaggi, mentre gli altri utenti ne avranno pochi o nessuno. La directory tende a crescere e viene ridotta a seconda dell'utilizzo da parte degli utenti. Così, al fine di mantenere l'uso del disco a livelli gestibili, viene posta questa attività in /var. Sui sistemi di grandi dimensioni, l"amministratore di sistema utilizza un disco fisso separato e "monta" il disco rigido in /var. Ciò consente l'accesso frequente al disco, su un hard disk separato e mantenere il sistema nel suo complesso, più rapido.
/
Directory
radice
dell'intera
gerarchia
del
filesystem
/bin/ Binari essenziali per l'utente
/boot/ File statici del boot loader
/dev/ File dei dispositivi
/etc/ Configurazioni specifiche del sistema host
/home/ Directory personale dell'utente
/lib/ Librerie essenziali condivise e moduli del kernel
/media/ Punto di montaggio per dispositivi rimovibili
/mnt/ Punto di montaggio per filesystem temporanei
/opt/ Pacchetti software aggiuntivi
/sbin/ Binari di sistema
/srv/ Dati per servizi forniti dal sistema
/tmp/ File temporanei
/usr/ Utilità ed applicazioni (multi)utente
/var/ File variabili
/root/ Directory personale dell'utente amministratore
/proc/ Filesystem virtuale e stato dei processi

Conclusione

Spero che questo articolo vi dia una migliore conoscenza di come i file sono memorizzati su un sistema Linux. Se ho dimenticato qualcosa, non esitate a commentare l'articolo.

***

Indice | Torna in alto