Перенаправлять только сетевой трафик из сетевого пространства имен в корневое пространство имен

У вас установлен /proc?

Очевидно, поскольку вы заботитесь о том, чтобы большую часть времени /монтировался только для чтения -, я могу предположить, что вы также можете не монтировать procfs. Но procfs нужен для того, чтобы lsofнаходил открытые файлы.

Файлы, открытые процессами, открываются ядром через символические ссылки в procfs. Каталоги /proc/<pid>/fdсодержат символическую ссылку для каждого открытого файла. Имена символических ссылок — это номера файловых дескрипторов, а путь, на который ссылается символическая ссылка, — это путь к файлу.

Оборванные символические ссылки по-прежнему остаются в /procдля открытых файлов, которые уже были удалены.И указанный путь к файлу переименовывается, чтобы заканчиваться «(удалено )».

То, что делает lsof +L1по сути ничем не отличается от быстрого -лайнера типа:

stat -c%N /proc/[0-9]*/fd/* | grep deleted

Таким образом, вы можете использовать аналогичный -лайнер для перечисления всех открытых файлов, которые могут препятствовать повторному монтированию корневой файловой системы (при условии работы/proc).

Однако, если вы смонтировали/смонтировали /proc, единственными другими причинами, о которых я могу думать, являются ошибки... Во всяком случае, к вашему сведению, в моей текущей системе Debian Stretch. lsof +L1работает как положено.

bash# lsb_release -d
Description:    Debian GNU/Linux 9.5 (stretch)

bash# uname -a
Linux bwp-249-8 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux

bash# lsof -v
lsof version information:
    revision: 4.89
    [...]
0
18.06.2021, 12:53
0 ответов

Теги

Похожие вопросы