Я обычно использую, mount
чтобы проверить, какие файловые системы смонтированы. Я также знаю , что есть какая - то связь между mount
и , /etc/mtab
но я не уверен , что о деталях. После прочтения, как проверить, смонтирован ли / proc /, я запутался.
У меня вопрос: как получить наиболее точный список смонтированных файловых систем? Должен ли я просто использовать mount
или читать содержимое /etc/mtab
или содержимое /proc/mounts
? Что дало бы наиболее достоверный результат?
linux
filesystems
mount
xanpeng
источник
источник
Ответы:
Окончательный список смонтированных файловых систем находится в
/proc/mounts
.Если у вас есть какая-либо форма контейнеров в вашей системе,
/proc/mounts
перечисляются только те файловые системы, которые находятся в вашем текущем контейнере. Например, в Chroot ,/proc/mounts
перечислены только файловые системы , чья точка монтирования находится в изолированном окружении. ( Есть способы избежать chroot, ум. )Там также есть список смонтированных файловых систем в
/etc/mtab
. Этот список поддерживаетсяmount
иumount
команд. Это означает, что если вы не используете эти команды (что довольно редко), ваше действие (монтировать или размонтировать) не будет записано. На практике в основном в chroot вы найдете/etc/mtab
файлы, которые сильно отличаются от состояния системы. Кроме того, монтирование, выполненное в chroot, будет отражено в chroot,/etc/mtab
но не в основном/etc/mtab
. Действия, выполняемые в/etc/mtab
файловой системе, доступной только для чтения, также не записываются.Причина, по которой вам иногда хотелось бы обратиться
/etc/mtab
за советом к предпочтению или в дополнение к нему,/proc/mounts
заключается в том, что, поскольку он имеет доступ к командной строке монтирования, он иногда может представлять информацию в более удобном для понимания виде; например, вы видите параметры монтирования в соответствии с запросом (тогда как в нем также/proc/mounts
перечисленыmount
значения по умолчанию и ядро), и bind mounts отображаются как таковые в/etc/mtab
.источник
mount
поддерживать,/etc/mtab
если на него нельзя положиться? Не было бы лучше, если бы вместо этогоmount
представили информацию/proc/mounts
?/etc/mtab
может записывать информацию, которую ядро не отслеживает, например, первоначально запрошенные параметры, и привязывать монтирования, появляющиеся как таковые, вместо того, чтобы появляться как дублирующиеся записи для устройств. Тем не менее, многие дистрибутивы движутся к созданию/etc/mtab
символической ссылки на/proc/mounts
./etc/mtab
символической ссылки на/proc/mounts
. Приятно слышать - добавление этой информации для ответа сделало бы ее еще лучше. Считаете ли вы, что отслеживание запрошенных ядром опций будет целесообразным и полезным?findmnt
которая является предпочтительным способом с 2010 года и, вероятно, единственным безопасным способом в ближайшем будущем, когда пространства имен монтирования будут распространены.По состоянию на v. 2.18 (июль 2010 г.)
util-linux
имеется инструмент, который позволяет отображать список смонтированных в настоящее время файловых систем:Вы можете переключиться из представления дерева по умолчанию в представление списка с помощью
-l
, определить выходные столбцы с помощью-o
(аналогичноlsblk
), отфильтровать результаты по типу файловой системы с помощью и-t
т. Д.Для более подробной информации прочитайте
man
страницу (иfindmnt --help
получите список доступных столбцов)источник
Возможно, потому что прошло 5 лет с тех пор, как на этот вопрос был дан ответ, все изменилось.
cat /proc/mounts
Создает много информации вы не заботитесь о. Сегодня, ИМХО, я считаю, что это окончательное решение.Когда вы читаете справочные страницы, вы можете делать разные варианты, но это то, что вам нужно. Например, чтобы очистить результаты еще больше, вы можете исключить типы файлов "tmpfs" с помощью этой команды:
df
работает на уровне файловой системы, а не на уровне файлов.Команды, приведенные выше, также включают в себя сетевые подключения.
Чтобы увидеть немного больше информации, используйте это:
ПРИМЕЧАНИЕ При медленном подключении к сети это может занять несколько минут!
Если у вас нет или вам не нужны монтированные сетевые подключения (и у вас есть права доступа root), это даже лучше:
источник
--output
что-то вроде Ubuntu 12, которая не принимает эти параметры, посмотритеfindmnt
ответ don_crissti ниже, который делает.findmnt
Похоже, для отображения меток нужны более широкие возможности (протестировано с root; у root есть все возможности).В большинстве случаев
mount
это самый удобный метод. Чтобы получить полный и точный список смонтированных файловых систем, вы должны прочитать содержимое/proc/mounts
(например, с помощьюcat /proc/mounts
).Например, если монтирование
/
readwrite завершилось неудачно, а затем он был смонтирован только для чтения как запасной вариант/etc/mtab
(из которогоmount
команда считывает информацию о том, что смонтировано, и записывает в - если она может - когда она меняет то, что смонтировано), обновление не будет. чтобы отразить, что/
(что содержит/etc/mtab
) в настоящее время монтируется только для чтения. В этой ситуации при запускеmount
обычно сообщается (неправильно), что/
был смонтирован readwrite.При нормальных условиях (т. Е. Когда файловая система, в которой она находится, может быть записана),
/etc/mtab
содержит список смонтированных в настоящее время файловых систем. Это не следует путать с/etc/fstab
списком файловых систем, которые должны автоматически монтироваться при запуске системы.Конечно, если
/proc
виртуальная файловая система сама не смонтирована, вы не сможете прочитать ни один из виртуальных файлов в ней, в том числе/proc/mounts
. Это очень редко бывает. В этой ситуации,mount
вероятно, ваш лучший вариант для просмотра того, что установлено.источник