File System: differenze tra le versioni

 
(20 versioni intermedie di uno stesso utente non sono mostrate)
Riga 12: Riga 12:
* <code>'''sdX'''</code> se si tratta di un disco SATA (ma ormai anche i dischi IDE).
* <code>'''sdX'''</code> se si tratta di un disco SATA (ma ormai anche i dischi IDE).
* <code>'''nvmeYn1'''</code> se si tratta di un disco NVME.
* <code>'''nvmeYn1'''</code> se si tratta di un disco NVME.
dove  <code>X</code> è una lettera dell'alfabeto, mentre <code>Y</code> un numero. Al primo disco  del sistema sarà assegnata la lettera <code>a</code> (<code>hda</code> oppure <code>sda</code>) o il numero <code>0</code> (<code>nvme0n1</code>) e via via saranno assegnate tutte le lettere/numeri che servono.<br>
dove  <code>X</code> è una lettera dell'alfabeto, mentre <code>Y</code> un numero. Al primo disco  del sistema sarà assegnata la lettera <code>a</code> (<code>hda</code> oppure <code>sda</code>) o il numero <code>0</code> (<code>nvme0n1</code>) e via via saranno assegnate tutte le lettere/numeri che servono.<br/>
Le partizioni di ogni disco vengono indicate con numeri progressivi.
Le partizioni di ogni disco vengono indicate con numeri progressivi.


=== Tabelle ''gpt'' ===
=== Tabelle ''gpt'' ===
Sono il tipo di tabella partizione più usato e non vi è altro da dire. Es.: <code>sda1</code>, <code>sda2</code>, <code>sdb1</code>, <code>sdb1</code>, <code>nvme0n1p1</code>, <code>nvme0n1p2</code>, <code>nvme1n1p1</code>, <code>nvme1n1p2</code>, ecc.
Sono il tipo di tabella partizione più usato e non vi è altro da dire. Es.: <code>sda1</code>, <code>sda2</code>, <code>sdb1</code>, <code>sdb2</code>, <code>nvme0n1p1</code>, <code>nvme0n1p2</code>, <code>nvme1n1p1</code>, <code>nvme1n1p2</code>, ecc.


=== Tabelle ''msdos'' ===
=== Tabelle ''msdos'' ===
Nel caso delle vecchie tabelle di partizione tipo ''msdos'' è necessario distinguire tra partizioni primarie e logiche
Nel caso delle vecchie tabelle di partizione tipo ''msdos'' è necessario distinguire tra partizioni primarie e logiche:
* <code>1-4</code> indicano le partizioni primarie
* <code>1-4</code> indicano le partizioni primarie
* da <code>5</code> in poi sono le partizioni logiche<br/><br/>
* da <code>5</code> in poi sono le partizioni logiche<br/><br/>
Riga 26: Riga 26:
* <code>sda1</code> è la prima partizione primaria del nostro primo disco SATA
* <code>sda1</code> è la prima partizione primaria del nostro primo disco SATA
* <code>hdc5</code> è la prima partizione logica del nostro terzo disco IDE
* <code>hdc5</code> è la prima partizione logica del nostro terzo disco IDE
Tutti i dischi presenti nel sistema vengono "elencati" sotto la directory <code>/dev</code>. Perciò il "nome completo" dei due dischi visti nell'esempio precedente sarà:
 
* <code>/dev/sda1</code>
=== Elenco dischi fissi ===
* <code>/dev/hdc5</code>
Tutti i dischi presenti nel sistema appaiono come file "elencati" sotto la directory <code>/dev</code>. È quindi possibile elencarli tutti con un comando del tipo:
Si noti quindi come i supporti di memorizzazione vengono identificati tramite file.
<pre>$ ls -1 /dev/sd*</pre>
che stamperà a video qualcosa di simile a
<pre>
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
...
</pre>
Alternativamente è possibile usare il comando <code>lsblk -f</code>, il cui output sarà simile al seguente:
<pre>
NAME        FSTYPE FSVER  LABEL      UUID              FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                   
├─sda1      ntfs          Ripristino 1EC0C550C0C52EB9                                   
├─sda2      vfat  FAT32  CCC6-BCAB                    63,1M    34% /boot/efi
├─sda3                                                                                 
├─sda4      ntfs          Windows_10  203239183238F47E
...
</pre>


== Struttura ==
== Struttura ==
Riga 95: Riga 114:
== Preparazione dei supporti fisici ==
== Preparazione dei supporti fisici ==


Ogni supporto fisico prima di poter essere utilizzato deve essere partizionato e formattato; applicativi come [[Guida alla formattazione dei dischi con fdisk | fdisk]] e ''parted'' permettono sia di partizionare che formattare, anche se solo in un numero limitato di file system.<br />
Ogni supporto fisico prima di poter essere utilizzato deve essere partizionato e formattato.
''mkswap'' è un comando che permette di formattare un area di swap, mentre ''mkfs'' permette di formattare secondo un elevato numero di file system.
 
=== Partizionare ===
Si usano applicativi come [[Guida alla formattazione dei dischi con fdisk | fdisk]] e [[Parted | GNU Parted]].


== Rendere accessibili i dispositivi ==
=== Creare file system ===
Si usano applicativi come '''mkswap''' (permette di formattare un area di swap) e '''mkfs''' che permette di formattare secondo un elevato numero di file system. Volendo anche ''fdisk'' e ''parted'' permettono di creare file system, ma è sconsigliato ed inoltre supportano solo pochi tipi di file system.


Una volta creato e formattato le partizioni, non rimane che agganciarle al file system della macchina in uso.
==== mkfs ====
{{Box|Nota|Quanto qui scritto vale pedissequamente per tutti i file system, quindi anche per quelli remoti.}}
È un applicativo modulare che come detto supporta un elevato numero di file system, ma tale capacità non è nativa bensì basata sull'utilizzo di altri strumenti (richiamati in automatico) che devono già essere installati. Per esempio per formattare in ''FAT32'' è necessario che il pacchetto <code>dosfstools</code> sià già stato installato.<br/>
Il primo passo consiste nel creare un punto di mount, banalmente una directory, secondariamente di agganciare il file system a tale directory attraverso l'applicativo [[Guida_ai_comandi_da_terminale - Gestione_del_File_System|mount]] (che richiede privilegi di [[root]]). Se per esempio si è creato come punto di mount <code>/mnt/pippo</code> il contenuto della partizione montata sarà accessibile esplorando appunto <code>/mnt/pippo</code>. Si noti che è possibile utilizzare lo stesso punto di mount per montare più partizioni, ma chiaramente non in simultanea.<br />
Alcuni brevi esempi:
Una volta terminato l'utilizzo di una certa partizione questa può essere sganciata attraverso il comando ''umount''.
* Formattare la partizione <code>nvme1n1p9</code> in ''FAT32'' ed etichettandola "EFI"
<pre>mkfs.vfat -F32 -L 'EFI' /dev/nvme1n1p9</pre>
* Formattare la partizione <code>nvme1n1p9</code> in ''ext4'' ed etichettandola "part9"
<pre>mkfs.ext4 -L 'part9' /dev/nvme1n1p9</pre>
* Formattare la partizione <code>nvme1n1p9</code> come ''swap'' ed etichettandola "mio_swap"
<pre>mkswap -L 'mio_swap' /dev/nvme1n1p9</pre>
 
== Rendere accessibili (''montare'') i dispositivi ==
 
Una volta creato e formattato le partizioni, non rimane che agganciarle al file system della macchina in uso. A prescindere dal metodo usato, manuale o automatico, è necessario aver già creato un punto (cioè una directory) dove rendere accessibile la partizione. Se per esempio si è creato come punto di mount <code>/mnt/pippo</code> il contenuto della partizione montata sarà accessibile esplorando appunto <code>/mnt/pippo</code>. Si noti che è possibile utilizzare lo stesso punto di mount per montare più partizioni, ma chiaramente non in simultanea.
{{Box|Nota|Quanto qui scritto vale pedissequamente per tutti i file system, quindi anche per quelli remoti, ma non per swap.}}
{{Warningbox| Mai disconnettere un dispositivo fisico fintanto che una delle sue partizioni risulta montata.}}
{{Warningbox| Mai disconnettere un dispositivo fisico fintanto che una delle sue partizioni risulta montata.}}


=== Il file /etc/fstab ===
=== Abilitazione manuale dell'area di swap ===
Usare i comandi <code>swapon</code> e <code>swapoff</code>.
 
=== Montaggio Manuale (''mount'', ''umount'') ===
Vedere la guida dedicata a [[Guida_ai_comandi_da_terminale - Gestione_del_File_System | mount]].
 
=== Montaggio automatico (<code>/etc/fstab</code>) ===
Questo utilissimo  file di configurazione permette di definire quali risorse, locali o remote non fa differenza, montare automaticamente all'avvio del computer.
Questo utilissimo  file di configurazione permette di definire quali risorse, locali o remote non fa differenza, montare automaticamente all'avvio del computer.
Si tratta di un file testuale organizzato su sei colonne:
Si tratta di un file testuale organizzato su sei colonne:
Riga 159: Riga 197:
=== Manpages ===
=== Manpages ===


<code>man fstab</code>
* <code>man fstab</code>, [https://manpages.debian.org/bookworm/mount/fstab.5.en.html HTML]
* <code>man mkfs</code>, [https://manpages.debian.org/bookworm/util-linux/mkfs.8.en.html HTML]
* <code>man mkswap</code>, [https://manpages.debian.org/bookworm/util-linux/mkswap.8.en.html HTML]


=== Sitografia ===
=== Sitografia ===
3 155

contributi