我需要减少远程 Ubuntu 服务器的 /var 分区,这样我就无法使用 live cd 或任何类似的东西。
我尝试卸载它,但发生了以下情况
umount /var/
umount: /var: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
所以我使用 lsof 查看哪些进程使 /var 分区处于繁忙状态。除了这个进程,我设法停止了其他几个进程。
lsof /var/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root 13w REG 8,3 68 2474064 /var/log/upstart/systemd-logind.log.1 (deleted)
奇怪的是,文件 systemd-logind.log.1 不存在
lsof /var/log/upstart/systemd-logind.log.1
lsof: status error on /var/log/upstart/systemd-logind.log.1: No such file or directory
那么如何阻止 init 进程使用我的 /var 分区?
答案1
所有命令只能通过本地终端完成
警告:远程执行此操作(例如通过 SSH)将终止您当前的会话,并且无法连接,直到您重新启动主机!
使系统进入单用户模式:init 1
可以看到哪些进程正在阻止文件进入挂载点lsof -f | grep "/var/"
停止服务:service dbus stop
卸载目录/var/
:umount /var/
所有命令:
init 1
service dbus stop
umount /var/
答案2
跑步sudo service systemd-logind stop
。
这是 SystemD 登录管理器(运行man systemd-logind
以获取更多信息)。
不要忘记,一旦您完成了文件系统,请使用 来启动它sudo service systemd-logind start
。如果您忘记了,它不会阻止登录,但我想它会停止记录某些信息。