相关疑难解决方法(0)

软件包升级后无法重新挂载/恢复为只读

我正在使用 Debian Stretch。我的根分区已挂载read-only。只有当我安装或升级包时,才会/重新挂载到read-write(通过使用 apt 钩子),然后重新挂载回ro.

有时在软件包升级后,我无法重新安装/为只读:

mount -o remount,ro /
mount: / is busy
Run Code Online (Sandbox Code Playgroud)

在较旧的 Debian 版本 (Wheezy) 上,我可以列出已取消链接的打开文件lsof

 lsof +L1
Run Code Online (Sandbox Code Playgroud)

或者,更具体地说,阻止/重新挂载回 ro 的文件:

{ lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)'
Run Code Online (Sandbox Code Playgroud)

但是,在 Debian Stretch 上,lsof +L1不会列出任何文件。

我没有看到任何改变+|-Lman lsof这可以解释为什么它停止工作。

为什么 lsof +L1 不再列出已取消链接的打开文件?

如何列出那些阻止 / 重新挂载为只读的文件?

更新

我已经停止了所有可以停止的进程,并且只有init并且getty仍在运行,但我仍然无法重新挂载/ …

debian apt lsof files readonly

13
推荐指数
1
解决办法
1140
查看次数

lsof:显示以读写方式打开的文件

当我尝试将分区重新挂载为 时read-only,出现错误/foo is busy。我可以列出所有文件打开/foo

lsof /foo
Run Code Online (Sandbox Code Playgroud)

但这并没有告诉我文件是打开的read-only还是read-write. 有没有办法只列出打开的文件read-write

lsof

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

lsof ×2

apt ×1

debian ×1

files ×1

readonly ×1