Дуже багато людей говорять про те, що Linux не зберігає інформацію про прив'язування кріплень, тому немає можливості отримати список їх та їх джерел. Ось кілька прикладів:
-
IIRC ця інформація ніде не зберігається: після того
mount --bind, як дві копії є рівнозначними, не існує жодної, яка є "оригінальнішою", ніж інша. Зрештою, оригіналу не могло бути, якби ви його вже відключили/mnt. -
Таким чином, єдиний спосіб запам'ятати, які кріплення були прив’язаними кріпленнями - це журнал команд монтування, що залишилися
/etc/mtab. Операція кріплення прив’язки позначається параметром прив'язки (що призводить до ігнорування типу файлової системи). Але mount не має можливості перелічити лише файлові системи, встановлені з певним набором наборів параметрів. -
Це навмисно. Обидві точки монтажу повністю рівні в усіх відношеннях, тому ядро не зберігає жодних прапорів для їх розмежування.
Все вище - це нісенітниця. Інструмент findmntможе перелічити вихідні шляхи прив'язки кріплення (у вигляді device[source-path]; я також намагаюся дозволити йому вказати лише вихідний шлях, а не пристрій). Якщо ядро Linux має підтримувати прив'язку, то ця інформація повинна зберігатися десь , інакше воно не могло б знати, на що /homeце пов'язано /users. То де ж ці дані? Чи зберігається вона в якомусь незрозумілому регіоні оперативної пам’яті? Є чи findmntдивитися в /procде - небудь?
/proc/self/mountinfoвідносно недавно була реструктурована Я був на моїй машині RHEL6, перед якою не було інформації про шлях, але моя машина RHEL7 так і є, як згадується у вашому посиланні.
/dev/Aце встановлено у /Bвас, ви mount --bind /B /Cстаріші ядра пам’ятаєте лише, /B → /dev/Aі /C → /dev/Aвони не пам’ятають жодних зв’язків між /Bі /C. Тож відключення /Bприродно ніяк не впливає /C. Новіші ядра пам’ятають, що це /Cбула прив'язка /B, але таким чином, який не заважає /Cпродовжувати працювати, якщо /Bвін відключений, я не знаю, як саме.
findmntзапущено та які варіанти ви надаєте? Шахта не роздруковує його таким чином і, дивлячись на вихідний код, який він, як видається, використовує,_PATH_PROC_MOUNTINFOякий виглядає,/proc/self/mountinfoякий також не містить цієї інформації.