Wiele osób twierdzi, że Linux nie przechowuje informacji o łączeniach bindów, więc nie ma sposobu na uzyskanie listy ich i ich źródeł. Oto kilka przykładów:
z jednego z komentarzy tutaj :
IIRC ta informacja nie jest nigdzie przechowywana: po tym
mount --bind, dwie kopie są równoważne, nie ma jednej, która byłaby bardziej „oryginalna” niż druga. W końcu nie byłoby oryginału, gdybyś już odmontował/mnt.-
Jedynym sposobem, aby zapamiętać, które montowania były powiązaniami, jest dziennik poleceń montowania, które pozostały
/etc/mtab. Operacja łączenia z łączeniem jest wskazywana przez opcję łączenia z łączeniem (co powoduje ignorowanie typu systemu plików). Ale mount nie ma opcji, aby wyświetlić listę tylko systemów plików zamontowanych z określonym zestawem opcji. -
To celowe. Oba punkty montowania są w pełni równe pod każdym względem, więc jądro nie utrzymuje żadnych flag, aby je rozróżnić.
Powyższe jest jednak nonsensem. Narzędzie findmntjest w stanie wyświetlić listę ścieżek źródłowych montowań powiązań (w formie device[source-path]; Próbuję też, aby wyświetlała tylko ścieżkę źródłową, a nie urządzenie). Jeśli jądro Linuksa ma utrzymywać mocowanie do wiązania, to informacje te muszą być gdzieś przechowywane , w przeciwnym razie nie wiedziałby, że /homejest to związane /users. Więc gdzie są te dane? Czy jest przechowywany w jakimś niejasnym regionie w pamięci RAM? Czy gdzieś findmntzagląda /proc?
/proc/self/mountinfostosunkowo niedawno został zrestrukturyzowany. Byłem na mojej maszynie RHEL6, przed którą nie miałem informacji o ścieżce, ale moja maszyna RHEL7 ma i jak wspomniano w twoim linku, Wheezy również.
/dev/Ajest zamontowany w, /Ba ty robisz mount --bind /B /C, starsze jądra pamiętają tylko /B → /dev/Ai /C → /dev/Anie pamiętają żadnych relacji między /Bi /C. Zatem odmontowanie w /Bnaturalny sposób nie ma wpływu /C. Nowsze jądra pamiętają, że /Cbył to montaż typu bind /B, ale w sposób, który nie przeszkadza w /Ckontynuowaniu pracy, jeśli /Bjest odmontowany, nie wiem dokładnie jak.
findmnti jakie masz opcje? Mój nie drukuje go w ten sposób i patrząc na kod źródłowy,_PATH_PROC_MOUNTINFOktórego używa, który/proc/self/mountinfonie zawiera tych informacji.