Ricostruire fstab
Per fare apparire le partizioni appena create (supponiamo che siano hda6 e sdb7) che non appaiono o che devono essere montate, dovete prima individuarne l'UUID entrando in una console come utente normale ($) e digitare il seguente comando:
ls -l /dev/disk/by-uuid
Il risultato a schermo sarà come il seguente (i tratti in grassetto sono solo un esempio):
lrwxrwxrwx 1 root root 10 2007-05-27 23:42 348ea9e6-7879-4332-8d7a-915507574a80 -> ../../hda4 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 610aaaeb-a65e-4269-9714-b26a1388a106 -> ../../hda2 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 857c5e63-c9be-4080-b4c2-72d606435051 -> ../../hda5 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 a83b8ede-a9df-4df6-bfc7-02b8b7a5f1f2 -> ../../hda1 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 ad662d33-6934-459c-a128-bdf0393e0f44 -> ../../hda6
In questo esempio, il valore ad662d33-6934-459c-a128-bdf0393e0f44 è quello correlato con hda6, una delle due nuove partizioni che non sono presenti in fstab. Il prossimo passo sarà quindi immettere la partizione UUID nel vostro etc/fstab. Usate un elaboratore di testo (come kate o kwrite) avviato con i privilegi di root per immettere la riga UUID:
# <device file system> <mount point> <type> <options> <dump> <pass> UUID=ad662d33-6934-459c-a128-bdf0393e0f44 /media/hda6 ext3 auto,users,exec 0 2
Un altro esempio:
lrwxrwxrwx 1 root root 10 2007-05-28 13:18 30ebb8eb-8f22-460c-b8dd-59140274829d -> ../../sdb8 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 387d6d4b-4508-4b8e-8ed2-76998f41dae4 -> ../../sdb1 rwxrwxrwx 1 root root 10 2007-05-28 13:18 7014f66f-6cdf-4fe1-83da-9cab7b6fab1a -> ../../sdb5 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 8f042ead-259f-4df0-98ec-3343080396c5 -> ../../sdb6 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 94B0AE63B0AE4B94 -> ../../sda2 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 A61820AA18207B85 -> ../../sda1 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 f28725d6-b7b5-4207-8476-36efe1a903ce -> ../../sdb9 lrwxrwxrwx 1 root root 10 2007-05-28 13:18 f855c263-2521-48d3-8ec9-d2d2b69b6635 -> ../../sda3 rwxrwxrwx 1 root root 10 2007-05-28 13:18 f9aa4027-ecdd-4a86-84e2-df2ef73fe14e -> ../../sdb7
In questo caso il valore UUID di sdb7, la seconda partizione da aggiungere nel file etc/fstab è f9aa4027-ecdd-4a86-84e2-df2ef73fe14e e viene aggiunta scrivendoci dentro la riga UUID che segue:
# <device file system> <mount point> <type> <options> <dump> <pass> UUID=f9aa4027-ecdd-4a86-84e2-df2ef73fe14e /media/sdb7 ext3 auto,users,exec 0 2
Nota: i nomi dei punti di mount (in fstab) devono essere di cartelle esistenti. sidux crea le cartelle dei punti di mount che gli servono durante l'installazione sotto /media e possono essere denominate sda1, sda2, disk0, disk1
I punti di mount per partizioni create dopo l'installazione devono essere create e aggiunte manualmente
Vista d'insieme: UUID, Denominazione delle partizioni e fstab
Una denominazione persistente dei blocchi di dispositivi(Persistent block device naming) e' diventata possibile dopo l'introduzione di udev e ha dei vantaggi contro la denominazione bus-based .
Durante l'evoluzione delle distribuzioni Linux e udev e mentre il rilevamento dell'hardware diventava più affidabile, si sono presentati anche alcuni problemi e verificati cambiamenti:
1) Nel caso vi siano più di un controller sata/scsi o ide disk, l'ordine secondo cui vengono aggiunti è casuale. Questo può comportare in dispositivi con nomi come hdX e hdY uno scambio casuale ad ogni riavvio. Lo stesso succede per sdX and sdY. La denominazione persistente elimina del tutto questo problema.
2) Con l'introduzione del nuovo supporto 'libata' 'pata', tutti i dispositivi ide hdX diventeranno in futuro degli sdX. E ancora l'utilizzatore della denominazione persistente non se ne dovrà preoccupare perché nemmeno se ne accorgerà.
3) Attualmente le macchine dotate contemporaneamente di controller sata e ide sono piuttosto comuni. Con i cambi di libata di cui sopra il primo problema di questo elenco diventerà molto comune poiché i dischi sata e ide avranno entrambi nomi di tipo sdX.
Durante l'installazione sidux userà in via predefinita la denominazione uuid nel vostro fstab
Ci sono altre ragioni per questa scelta ma quelle esposte sono le più critiche ora e in futuro. Per questo sidux vi incoraggia a orientare la vostra impostazione verso schemi a denominazione persistente.
I quattro diversi schemi di denominazione persistente:
1. Denominazione Persistente tramite "by UUID"
UUID significa "Universally Unique Identifier" ("Identificatore Universale Unico") ed è un meccanismo per dare ad ogni filesystem un identificatore unico. È stato disegnato in modo che le collisioni siano improbabili. Tutti i filesystem Linux (incluso lo swap) supportano UUID. I filesystem FAT and NTFS non supportano UUID, ma da questo vengono lo stesso listati con un identificatore unico:
$ /bin/ls -lF /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Oct 16 10:27 2d781b26-0285-421a-b9d0-d4a0d3b55680 -> ../../sda1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 31f8eb0d-612b-4805-835e-0e6d8b8c5591 -> ../../sda7 lrwxrwxrwx 1 root root 10 Oct 16 10:27 3FC2-3DDB -> ../../sda6 lrwxrwxrwx 1 root root 10 Oct 16 10:27 5090093f-e023-4a93-b2b6-8a9568dd23dc -> ../../sda2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 912c7844-5430-4eea-b55c-e23f8959a8ee -> ../../sda5 lrwxrwxrwx 1 root root 10 Oct 16 10:27 B0DC1977DC193954 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 bae98338-ec29-4beb-aacf-107e44599b2e -> ../../sdb2
Come potete vedere, le partizioni fat e ntfs (fat ed etichette windows sopra) hanno nomi corti, ma vengono listati. Il vantaggio con il metodo UUID è che sono meno probabili le collisioni di nome; gli svantaggi è che le denominazioni sono più difficili da memorizzare.
2. Denominazione persistente mediante LABEL
Quasi tutti i tipi di filesystem possono avere una label (etichetta). Tutte le partizioni che ne hanno una sono listate nella cartella /dev/disk/by-label :
$ ls -lF /dev/disk/by-label total 0 lrwxrwxrwx 1 root root 10 Oct 16 10:27 data -> ../../sdb2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 data2 -> ../../sda2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 fat -> ../../sda6 lrwxrwxrwx 1 root root 10 Oct 16 10:27 home -> ../../sda7 lrwxrwxrwx 1 root root 10 Oct 16 10:27 root -> ../../sda1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 swap -> ../../sda5 lrwxrwxrwx 1 root root 10 Oct 16 10:27 windows -> ../../sdb1
Con i comandi seguenti potete cambiare le etichette del vostro filesystem:
* swap: Create un nuovo spazio di swap come questo: mkswap -L <label> /dev/XXX * ext2/ext3: e2label /dev/XXX <label> * reiserfs: reiserfstune -l <label> /dev/XXX * jfs: jfs_tune -L <label> /dev/XXX * xfs: xfs_admin -L <label> /dev/XXX * fat/vfat: per questi filesystem non ci sono strumenti Linux per cambiare le loro etichette, ma quando li create potete assegnargli l'etichetta se usate l'opzione mkdosfs -n <label> <other options>. Con Windows potete cambiare l'etichetta di un fylesystem esistente. * ntfs: ntfslabel /dev/XXX <label< o cambiatela usando Windows.
Prestare attenzione: le etichette devono essere uniche perché funzionino e vale sia per dischi fissi che per dispositivi USB/firewire. Per le partizioni UN*X, la sintassi LABEL=/ UUID= è da preferire rispetto a /dev/disk/by-*/
3. Denominazione persistente mediante id
Il metodo con 'id' crea una denominazione unica a partire dal numero seriale del dispositivo hardware.
4. Denominazione persistente mediante by-path
Il metodo con path crea una denominazione unica dipendente dal più corto percorso fisico (in accordo a sysfs). Entrambi però contengono stringhe indicanti a quale subsystem appartengono e così non sono adatti per la soluzione dei problemi sopra menzionati all'inizio della trattazione. Quindi sul manuale questi non verranno quindi trattati.
Abilitare la denominazione persistente
Avendo scelto quale metodo di denominazione usare, vediamo come abilitarlo sul vostro sistema:
In fstab
L'abilitazione in /etc/fstab è facile; semplicemente sostituire il nome del dispositivo nella prima colonna con il nuovo nome persistente. In questo esempio si vuole sostituire /dev/sda7 con uno dei seguenti:
/dev/disk/ metodo con label /home oppure /dev/disk/ metodo con uuid /31f8eb0d-612b-4805-835e-0e6d8b8c5591
Fare così per tutte le partizioni del vostro file fstab.
Invece, appunto, di scrivere il nome esplicito del dipositivo, indicare il filesystem che verrà montato con il suo UUID o con la sua etichetta di volume scrivendo LABEL=<etichetta> oppure UUID=<denominazione-uuid>, per esempio:
LABEL=Boot
oppure
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
Denominazione persistente nel gestore dell'avvio
Per usare la denominazione persistente, devono essere soddisfatti tutti i seguenti requisiti:
1) Si deve usare una immagine initramfs mkinitcpio
2) Deve essere abilitato udev in /etc/mkinitcpio.conf
3) Quando è stata generata l'immagine initramfs doveva essere installata klibc-udev versione 101-3 o successiva (la denominazione persistente viene corrotta da ogni versione precedente). Se si sta aggiornando klibc-udev da una versione precedente e si vuole usare la denominazione persistente, rigenerare l'immagine initramfs prima di riavviare.
Nell'esempio che segue /dev/sda1 è la partizione di root. Nel file menu.lst di GRUB, la linea del kernel dovrebbe assomigliare a:
kernel /boot/vmlinuz26 root=/dev/hda1 vga=0x318 ro
In base allo schema di denominazione persistente che si preferisce, cambiare la suddetta stringa in una delle seguenti:
kernel /boot/vmlinuz26 root=/dev/disk/by-label/root vga=0x318 ro
oppure
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/2d781b26-0285-421a-b9d0-d4a0d3b55680 vga=0x318 ro
C'è uno modo alternativo di usare l'etichetta inserita nel filesystem. Per esempio se (come sopra) il filesystem in /dev/hda1 è etichettato come "root", si può passare a grub la seguente stringa:
kernel /boot/vmlinuz26 root=LABEL=root vga=0x318 ro
Fonte: wiki.archlinux.org che ha usato il contenuto di marc.theaimsgroup.com da wiki.archlinux.org disponibile sotto la Licenza 1.2 della Libera Documentazione GNU ed è stata ri-modificata per i manuali di sidux
Ulteriori informazioni circa l'etichettatura si trovano su lissot.net

Ricerca Online Offline