/를 마운트 해제하는 방법은 무엇입니까? 바빠요

/를 마운트 해제하는 방법은 무엇입니까? 바빠요

저는 zerofree를 사용하려고 하는데, 이것이 이에 대한 답인 것 같습니다:VM 크기를 줄이는 방법은 무엇입니까?

/dev/sda1을 성공적으로 마운트 해제했으며 zerofree는 제대로 작동하여 ~37GB를 릴리스했습니다.

하지만 읽기 전용 /dev/mapper/mypc-root로 마운트를 해제하거나 다시 마운트할 수 없는 것 같습니다.

umount: / is busy

또는

mount: / is busy

사용된 명령은 다음과 같습니다.

$ umount /dev/mapper/mypc-root
$ mount -no remount,ro -t ext2 /dev/mapper/mypc-root /

저는 단일 사용자 모드에 있고 'init 1'로 입력했습니다.

게스트 SO는 암호화된 LVM과 홈을 갖춘 Ubuntu 12입니다.

어떤 아이디어가 있나요?

답변1

//시스템 자체에서 사용 중이므로(따라서 표시되는 메시지) 시스템 에서 마운트 해제할 수 없습니다 .

Live-CD에서 이 절차를 수행해야 합니다.

답변2

이는 일반적으로 루트 파일 시스템에서 파일을 삭제했지만 여전히 열려 있는 경우에 발생합니다. 일부 프로세스는 파일에 대한 참조를 유지하고 있으며 해당 파일을 닫을 때까지 디스크에서 해제할 수 없습니다. 시스템 라이브러리를 업데이트하는 것은 이러한 상황을 만드는 한 가지 방법입니다.

정리된 상태의 파일 시스템에 삭제되었지만 해제되지 않은 파일이 포함될 수 있는 방법이 없기 때문에 커널은 읽기 전용 파일 시스템을 다시 마운트하는 것을 거부합니다.

해당 프로세스를 다시 시작하면 도움이 됩니다. 이를 통해 커널이 파일을 해제할 수 있으며 파일 시스템을 완전히 마운트 해제할 수 있습니다.

또 다른 옵션은 SysRq 키를 사용하여 읽기 전용 다시 탑재를 강제하는 것입니다.

echo u > /proc/sysrq-trigger

이는 안전하지만 다음 마운트/실행 시 커널/fsck에서 오류가 발생하게 됩니다.

답변3

이 게시물을 따라갈 수 있습니다. https://unix.stackexchange.com/questions/42015/mount-is-busy-when-trying-to-mount-as-read-only-so-that-i-can-run-zerofree

내 경우에는 프로세스 종료에 대해 걱정하고 싶지 않았습니다. VirtualBoX에 두 개의 가상 머신이 있었기 때문에 다른 VM을 압축하고 해당 머신에서 제로프리(zerofree)하는 데 필요한 VM의 디스크를 마운트했습니다.

관련 정보