Многие люди продолжают утверждать, что Linux не хранит информацию о bind mounts, поэтому нет способа получить их список и их источники. Вот некоторые примеры:
из одного из комментариев здесь :
IIRC эта информация нигде не хранится: после того
mount --bind, как две копии эквивалентны, нет ни одной, которая более «оригинальна», чем другая. Ведь не может быть оригинала, если вы уже разобрались/mnt.из ответа на этом сайте :
Таким образом, единственный способ запомнить, какие монтирования были bind mounts - это журнал оставленных в нем команд монтирования
/etc/mtab. Операция монтирования связывания указывается с помощью опции монтирования связывания (которая приводит к игнорированию типа файловой системы). Но mount не имеет возможности перечислять только файловые системы, смонтированные с определенным набором опций.-
Это намеренно. Обе точки монтирования полностью одинаковы во всех отношениях, поэтому ядро не сохраняет никаких флагов для их различения.
Выше чепуха, хотя. Инструмент findmntможет перечислять исходные пути монтируемых привязок (в форме device[source-path]; я также пытаюсь заставить его перечислять только исходный путь, а не устройство). Если ядро Linux должно поддерживать монтирование, тогда эта информация должна храниться где-то , иначе она не может знать, с чем /homeона связана /users. Так где эти данные? Хранится ли он в какой-то непонятной области в ОЗУ? Есть ли findmntсмотреть в /procгде - нибудь?
/proc/self/mountinfoсравнительно недавно была реструктурирована. Я был на моей машине RHEL6, у которой раньше не было информации о пути, но моя машина RHEL7 делает, и, как упоминалось в вашей ссылке, Wheezy также делает.
/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что в нем тоже нет этой информации.