루트로 여유 디스크 공간을 채운 후에도 photorec이 계속 파일을 찾는 이유는 무엇입니까?

루트로 여유 디스크 공간을 채운 후에도 photorec이 계속 파일을 찾는 이유는 무엇입니까?

Linux에 능숙한 어린 조카에게 노트북을 잠시 빌려주기 전에, 그가 드라이브의 빈 공간에 내 개인 데이터를 새길 수 없도록 하고 싶었습니다. 나는 드라이브의 빈 공간을 여러 번 채웠습니다.

sudo cat /dev/urandom > some-file

sudo를 사용하면 남은 5% 공백이 무시되고 오류가 발생할 때까지 파일이 계속 커지므로 주의하시기 바랍니다.

그런데 해당 파티션에 대해 photorec을 실행했는데 갑자기 수백 개의 오래된 파일이 나타납니다. 그래서 적어도 호기심에서,이러한 파일은 어디에 저장되어 있으며 왜 무작위 노이즈로 덮어쓰지 않습니까?

(지금까지 내가 가진 유일한 설명은 파일 끝과 파일이 포함된 섹터 끝 사이의 빈 공간에 있을 수 있다는 것입니다. 그게 가능합니까?)

답변1

여기에는 약간의 오해가 있을 수 있으므로 명령이 예상한 대로 수행되지 않습니다.

sudosudo을 읽을 필요가 없으므로 중복됩니다 /dev/urandom. 해당 > some-file부분은 셸 리디렉션이므로 sudo전혀 포함되지 않습니다. 그래서 sudo효율성이 매우 낮습니다. (노트:이 특별한 경우에는 sudo어쨌든 예상대로 작동할 수 있습니다. 설명을 참조하세요. 그러나 sudo이것을 사용하지 않는 것은 다른 상황에서 당신을 물릴 것이기 때문에 패턴입니다. )

그런 다음 일반 파일에 씁니다. 이는 파일이 있는 파일 시스템의 사용 가능한 공간을 채웁니다. 여러 파일 시스템(부팅 및 스왑 파티션 /용 하나 등)이 있는 경우 /home에도 영향을 받지 않습니다.

기껏해야 이것은 단지 다룰 것입니다사용 가능한 공간. 파일 시스템 내부, 루트 예약, 로그, 기타 압축/예약/기타 섹터에 따라 모든 것을 덮어쓰게 될 것이라는 보장은 없으며 여전히 정기적으로 존재하는 파일(숨겨진 파일을 포함할 수 있음)을 덮어쓰지 않을 것이라는 보장은 없습니다. /thumbnails/cache 폴더 또는 잊어버린 하위 디렉토리).

photorec덮어쓰지 않으므로 이 모든 항목은 계속 선택됩니다 .

또한 파일 쓰기가 먼저 완료되어야 합니다. 따라서 나중에 삭제하는 대신 sync모든 임의의 데이터가 실제로 디스크에 도달하고 단순한 RAM 쓰기 버퍼가 아니며 기록되지 않는지 먼저 확인 해야 합니다 .

따라서 이 방법을 사용하면 보장할 수 없습니다. 또한 파일 시스템의 여유 공간이 부족해지면 다른 모든 프로그램의 쓰기 실패로 인해 예상치 못한 데이터 손실이 발생할 수 있으므로 위험합니다.

답변2

조카가 보지 말아야 할 모든 데이터를 삭제하는 방법

나는 "삭제된" 데이터가 보관될 수 있는 모든 장소를 포괄할 수 있는 방법은 단 하나라고 생각합니다.

  • 시스템을 백업합니다(전체 백업). 대안은 Clonezilla를 사용하여 복제 이미지를 만드는 것입니다.

  • 전체 드라이브를 지웁니다(드라이브 1개 가정). HDD 또는 SSD인 경우 낮은 수준에서 작동하는 특수 도구/방법(논리적 메모리 위치와 물리적 메모리 위치 간의 매핑 변경)이 있으며 이는많은dd예를 들어 0으로 덮어쓰는 것 보다 빠릅니다. 일반적으로 (내부 드라이브)를 통해 이러한 도구에 액세스할 수 있습니다 hdparm.

  • 컴퓨터를 다시 설치하고 Linux에 능숙한 어린 조카에게 선물했습니다.

가장 간단한 방법

하지만 여유가 있다면 내장 드라이브를 분리하고 새 드라이브로 교체하세요. 조카가 가장 좋아하는 Linux 배포판을 설치하게 하세요 :-)

답변3

안전한 제거에는 sfill(안전 채우기) 도구를 사용해 보세요.

sudo apt-get install secure-delete

(에서https://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux)

관련 정보