실수로 하드 드라이브를 가득 채웠는데 복구할 수 없습니다.
몇 기가바이트의 파일을 삭제했지만 df
명령에서는 여전히 디스크가 꽉 찼다고 말하고 간단한 echo hello > aFile
결과라도 오류가 발생합니다 write error: No space left on disk
. 관련 라인에 대한 명령 출력은 다음과 같습니다.df
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/mint--vg-root 441G 421G 0 100% /
내가 아는 다른 유사한 질문/답변을 읽음으로써Linux는 활성 프로세스에 속한 파일을 삭제하지 않습니다., 파일 시스템에서 사라지더라도 마찬가지입니다. 가장 널리 받아들여지는 해결 방법은 파일을 열어 둔 상태에서 프로세스를 다시 시작하거나 컴퓨터를 다시 시작하는 것입니다. 파일을 삭제하고 몇번을 다시 시작했지만 여전히 같은 문제가 발생합니다.모든 inode를 사용하면 다음과 같은 오류가 발생할 수 있습니다.하지만 내 inode 사용량은 18%입니다.
나도 알아시스템은 루트 사용자를 위한 공간을 예약합니다.그리고 df
이는 정확하게 보고되지 않았습니다. 제 경우에는 디스크 크기와 사용된 디스크 크기의 차이가 20G였습니다. 루트로 파일에 쓸 수 있지만 이 사실을 어떻게 활용해야 할지 모르겠습니다.
해당되는 경우 내 시스템은 Linux Mint에서 KDE를 사용하도록 설정되어 있습니다. LUKS로 암호화된 ext4 파티션만 있습니다.
디스크 공간이 꽉 차서 시스템이 잠금 파일에 쓸 수 없기 때문에 X 서버를 시작할 수 없었기 때문에 결국 세 가지 옵션이 생겼습니다.
- TTY1을 통해 터미널에 로그인하고,
sudo startx
Cinnamon 그래픽 환경을 시작하고,- 라이브 CD/USB를 시작합니다.
디스크 공간을 복구하려면 어떻게 해야 합니까?
답변1
tune2fs
아니요
나는 또한 시스템이 루트 사용자 [...]를 위한 공간을 예약한다는 것을 알고 있습니다. 루트로 파일에 쓸 수 있지만 이 사실을 어떻게 활용해야 할지 모르겠습니다.
기본 5%는 "루트의 5%"를 의미하는 것이 아니라 "누가 나머지를 사용하든 루트의 마지막 5%"를 의미합니다. 따라서 루트가 해당 5% 중 적어도 일부를 사용하면 루트가 아닌 경우에만 임계값 이상으로 여유 공간(루트에서 사용 가능)을 늘릴 수 있을 만큼 충분한 파일(루트 또는 다른 사람의 파일)을 삭제해야 합니다. 사용자는 남은 공간을 확인하고 사용할 수 있습니다.
삭제한 내용만으로는 충분하지 않습니다. 더 삭제하세요.
일반 사용자의 파일을 삭제하고 루트가 예약된 공간을 다시 차지하고, 다른 일반 사용자의 파일을 삭제하면 루트는 그 결과 여유 공간을 예약 공간으로 사용할 수 있다는 점에 유의하세요.다시. 루트가 과거에 예약된 공간을 사용했고 그 이후로 아무것도 해제하지 않았다는 것은 중요하지 않습니다.
기본값이기 때문에 "5%"라고 썼습니다. 이 결론은 0이 아닌 모든 예약된 공간에 적용됩니다.