Molte persone continuano a dire che Linux non conserva informazioni sui mount dei bind, quindi non c'è modo di ottenere un elenco di loro e delle loro fonti. Ecco alcuni esempi:
da uno dei commenti qui :
IIRC questa informazione non è conservata da nessuna parte: dopo
mount --bind
, le due copie sono equivalenti, non ce n'è una più "originale" dell'altra. Dopotutto non ci potrebbe essere un originale se avessi già smontato/mnt
.da una risposta su questo sito :
Quindi l'unico modo per ricordare quali erano i montaggi di bind mount è il registro dei comandi di mount rimasti
/etc/mtab
. Un'operazione di bind mount è indicata dall'opzione bind mount (che fa ignorare il tipo di filesystem). Ma mount non ha alcuna opzione per elencare solo i filesystem montati con un particolare set di set di opzioni.da una segnalazione di bug Debian :
Questo è intenzionale. Entrambi i punti di mount sono completamente uguali in tutti i modi, quindi il kernel non mantiene alcun flag per differenziarli.
Quanto sopra non ha senso però. Lo strumento findmnt
è in grado di elencare i percorsi di origine dei montaggi di bind (sotto forma di device[source-path]
; sto anche cercando di farlo elencare solo il percorso di origine e non il dispositivo). Se il kernel di Linux deve mantenere un mount bind, allora quelle informazioni devono essere archiviate da qualche parte , altrimenti non potrebbero sapere a cosa /home
è legato /users
. Quindi dove sono questi dati? È memorizzato in qualche regione oscura nella RAM? Fa findmnt
sguardo in /proc
qualche parte?
/proc/self/mountinfo
relativamente di recente sia stato ristrutturato. Ero sulla mia macchina RHEL6 prima della quale non avevo le informazioni sul percorso ma la mia macchina RHEL7 ha e come menzionato nel tuo link anche Wheezy.
/dev/A
è montato su /B
e lo fai mount --bind /B /C
, i kernel più vecchi ricordano solo /B → /dev/A
e /C → /dev/A
, non ricordano alcuna relazione tra /B
e /C
. Quindi smontare /B
naturalmente non ha alcun effetto /C
. I kernel più recenti ricordano che /C
era un attacco vincolante /B
, ma in un modo che non impedisce /C
di continuare a funzionare se /B
non montato, non so esattamente come.
findmnt
stai utilizzando e quali opzioni gli stai offrendo? Il mio non lo stampa in quel modo e guardando il codice sorgente sembra usare quello_PATH_PROC_MOUNTINFO
che sembra essere/proc/self/mountinfo
che non ha nemmeno queste informazioni.