fstab

Ciao,

ritorno con la mia "croce" quotidiana con fstab.

Vi elenco la lista dei dubbi che ancora non ho capito del tutto.

A) fstab è nel root file system, ma se fstab stesso contiene come
montare il root file system, non è un "circolo vizioso"?
       Il file system viene prima montato (in readonly?) per recuperare
fstab e poi rimontato secondo quanto specificato dal fstab?

B) Spesso il mio fstab non è solo il montaggio di file system
"indipendenti". Usando bind e unionfs l'ORDINE di mount
       per me dovrebbe essere SEQUENZIALE e nell'ORDINE specificato nel
file. Ma sembra che i mount in fstab siano fatti usando "fork".
       E' corretto?

C) Si può montare le directory in maniera sequenziale in FSTAB con
qualche parametro o esiste un altro punto/script in cui inserire una
sequenza di comandi mount,
      purché ovviamente PRIMA che qualsiasi programma cominci a scrivere
sul root file system (syslog, /var, /etc, /tmp, ecc.)

D) E allo shutdown esiste un punto "simmetrico" in cui smontare tutti i
file system ovviamente in ORDINE INVERSO?

Grazie per qualsiasi aiuto!

attachment.htm (2.51 KB)

A) fstab è nel root file system, ma se fstab stesso contiene come montare il root file system, non è un "circolo vizioso"?
       Il file system viene prima montato (in readonly?) per recuperare fstab e poi rimontato secondo quanto specificato dal fstab?

L'info dove sta il root file system e` anche presente nel boot loader che lo passa al kernel quando lo esegui (root=...),
in un secondo momento il kernel rimonta il root filesystem read/write con l'info del fstab.

Si` in pratica l'info e` presente due volte per "rompere" il circolo vizioso.

B) Spesso il mio fstab non è solo il montaggio di file system "indipendenti". Usando bind e unionfs l'ORDINE di mount
       per me dovrebbe essere SEQUENZIALE e nell'ORDINE specificato nel file. Ma sembra che i mount in fstab siano fatti usando "fork".
       E' corretto?

Da fstab(5):

  The order of records in fstab is important because fsck(8), mount(8), and umount(8) sequentially iterate through
  fstab doing their thing.

Pero`: e` anche vero che upstart e systemd sono pazzi, quindi in effetti chi lo sa cosa fanno...

Un ovvio trucco potrebbe essere di mettere un noauto sui tuoi filesystem complicati e poi montarli con istruzioni
mount in /etc/rc.local. Saranno pazzi questi recenti (SPQR) init systems, ma almeno sicuramente eseguono /etc/rc.local
dopo mount -a e lo eseguono con un unica shell, quindi li la sequenza e` conservata.

C) Si può montare le directory in maniera sequenziale in FSTAB con qualche parametro o esiste un altro punto/script in cui inserire una sequenza di comandi mount,
      purché ovviamente PRIMA che qualsiasi programma cominci a scrivere sul root file system (syslog, /var, /etc, /tmp, ecc.)

Vedi punto precedente.

Occhio: dovresti aver montato il root filesystem (e /etc deve stare sul root filesystem!) e /var e /tmp
prima, per permettere ai servizi di essere lanciato. Poi cose tue (/home /opt /non /so /cosa) puoi` montarlo
tu da /etc/rc.local (dopo averli messo come noauto in fstab).

D) E allo shutdown esiste un punto "simmetrico" in cui smontare tutti i file system ovviamente in ORDINE INVERSO?

Non ti serve, al shutdown tutto viene smontato in modo automatico.

Grazie per qualsiasi aiuto!

Aggiungo anche la mia solita side-note: non ti complicare la vita :slight_smile:

Bye,
Chris.

Ciao Cris e Daniele, grazie per l'aiuto. Da varie fonti mi sembra di capire
che una possibilità sia quella di usare il noauto e poi rc.local. Ma
domanda: fino all'rc.local possono non ancora essere montati /var /etc ? O
questo caso valeva solo per cartelle non di sistema?

Siamo così sicuri che allo shutdown tutto avvenga "magicamente"
automaticamente visto i problemi di mount? Allo shutdwon quindi fstab viene
letto sequenzialmente e in ordine inverso?

Queste sono esigenze che ho spesso, comunque in questo caso particolare
volevo creare per rasperry una raspian read only così che si può
interrompere la corrente senza corromprere il file system.

Grazie ancora!

attachment.htm (4.96 KB)

domanda: fino all'rc.local possono non ancora essere montati /var /etc? O
questo caso valeva solo per cartelle non di sistema?

Ripeto inannzitutto che /etc e` una cartella che vive sul root file system.
/etc non e` tra quelle cartelle per cui un file system a parte ha senso.
Se non c'e` /etc sul root filesystem non booti. Punto.

/var deve essere chiaramente presente quando partono i servizi (/var/run /var/spool
ma anche /var/log etc). Alcuni tengono /var su file system diverso, ma in ogni
caso deve essere montato prima che partono i servizi.

A livello di /etc/rc.local puo` solo giocare con cose che servono dopo
(al tuo utente, non al sistema), come /home, /opt.

Siamo così sicuri che allo shutdown tutto avvenga "magicamente"
automaticamente visto i problemi di mount? Allo shutdwon quindi fstab viene
letto sequenzialmente e in ordine inverso?

No,
allo shutdown viene smontato tutto indipendentemente da quello che hai
in fstab. Che c'entra fstab con lo shutdown - il kernel sa cosa ha montato
e lo smonta. Caso mai /etc/mtab, ma quello non lo crei tu, appunto.

Queste sono esigenze che ho spesso, comunque in questo caso particolare
volevo creare per rasperry una raspian read only così che si può
interrompere la corrente senza corromprere il file system.

Hai il journaling da circa 15 anni. Secondo me tu ti preoccupi troppo :slight_smile:

Bye,
Chris.