리눅스에서 "장치에 남은 공간 없음" 오류 수정 방법

장치에 남은 공간 없음 기능

대부분의 경우, 리눅스는 오류 메시지가 꽤 구체적입니다. “이건 작동하지 않았습니다 - 이 패키지를 설치해 보세요.” 그러나 특히 도움이 되지 않는 메시지가 하나 있습니다: “장치에 남은 공간이 없습니다.” 이것은 무엇이 원인일까요? 2TB의 저장 공간이 있다고 생각했는데, 어떻게 가득 찰 수 있죠? 어디서부터 확인해야 할까요? 오늘은 리눅스에서 “장치에 남은 공간 없음” 오류를 수정하는 방법에 대한 가이드를 통해 이 모든 것을 안내해 드리겠습니다.

또한 읽어보세요: 리눅스에서 파일 쉽게 이름 바꾸는 방법

장치에 남은 공간 확인하기

더 나아가기 전에, 디스크에 실제로 남은 공간이 있는지 확인하는 것이 좋습니다. 데스크탑 환경의 도구도 좋지만, 명령줄에서 직접 사용하는 것이 더 빠를 수 있습니다.

데스크탑 환경의 도구를 사용하고 싶다면, 이 도구들로 찾을 수 있는 정보를 쉽게 읽을 수 있는 형태로 제공할 것입니다. 저는 GNOME이 설치된 페도라를 사용하고 있으며, GNOME 디스크 사용 분석기 도구는 다음과 같은 정보를 보여줍니다.

장치에 남은 공간 없음 디스크 분석기

du로 시작하세요. 문제가 있는 드라이브의 기본 디렉토리를 지정합니다. /가 있는 파티션이라고 가정해 보겠습니다.

sudodu-sh/

장치에 남은 공간 없음 Du

모든 것을 확인하는 데 시간이 걸릴 것입니다. 이제 df로 시도해 보세요.

sudodf-h

장치에 남은 공간 없음 Df

/와 그 아래에 마운트된 파일 시스템을 추가하세요. 예를 들어, /home이 별도의 드라이브에 있다면, /의 읽기와 함께 추가하세요. 총합은 du에서 얻은 것과 비슷해야 합니다. 그렇지 않다면, 이는 프로세스에 의해 사용 중인 삭제된 파일을 가리킬 수 있습니다.

물론, 여기서 가장 중요한 것은 이러한 명령의 결과가 드라이브 크기보다 작은지 여부입니다. 만약 그렇다면, 분명히 뭔가 잘못된 것입니다.

또한 읽어보세요: 리눅스에서 백그라운드로 Bash 명령 실행하는 방법

장치에 남은 공간 없음 가능한 원인

여기에는 몇 가지 주요 원인이 있습니다. dudf 간에 불일치가 보인다면, 여기 첫 번째 옵션으로 넘어가세요. 그렇지 않다면 두 번째 옵션에서 시작하세요.

프로세스에 의해 예약된 삭제된 파일

가끔 파일이 삭제되지만, 프로세스가 여전히 그것을 사용하고 있을 수 있습니다. 리눅스는 프로세스가 실행 중인 동안 파일과 관련된 저장 공간을 해제하지 않지만, 프로세스를 찾아서 재시작할 수 있습니다.

장치에 남은 공간 없음 Lsof 삭제됨

프로세스를 찾으세요.

sudo lsof /|grep deleted

문제가 있는 프로세스가 나열되어야 합니다. 그냥 재시작하세요.

sudo systemctl restart service_name

즉시 명확하지 않다면, 전체 데몬을 다시 로드하세요.

sudo systemctl daemon-reload

또한 읽어보세요: 우분투에서 “사용자 이름이 sudoers 파일에 없습니다. 이 사건은 보고됩니다” 오류 수정하기

충분하지 않은 아이노드

파일 시스템에는 “아이노드”라는 메타데이터 세트가 있습니다. 아이노드는 파일에 대한 정보를 추적합니다. 많은 파일 시스템은 고정된 수의 아이노드를 가지고 있으므로, 파일 시스템 자체를 가득 채우지 않고도 아이노드의 최대 할당량을 채울 수 있습니다. df를 사용하여 확인할 수 있습니다.

sudodf-i/

장치에 남은 공간 없음 아이노드

사용된 아이노드와 총 아이노드를 비교하세요. 더 이상 사용 가능한 것이 없다면, 불행히도 더 이상 얻을 수 없습니다. 쓸모없거나 오래된 파일을 삭제하여 아이노드를 정리하세요.

불량 블록

마지막으로 일반적인 문제는 불량 파일 시스템 블록입니다. 파일 시스템은 시간이 지남에 따라 손상될 수 있으며, 하드 드라이브는 고장날 수 있습니다. 운영 체제는 그렇지 않으면 표시되지 않는 한 이러한 블록을 사용 가능한 것으로 인식할 가능성이 높습니다. 이러한 블록을 찾고 표시하는 가장 좋은 방법은 -cc 플래그와 함께 fsck를 사용하는 것입니다. 테스트하려는 동일한 파일 시스템에서 fsck를 사용할 수 없으므로, 라이브 CD를 사용해야 할 것입니다.

sudo fsck -vcck/dev/sda2

물론, 확인하려는 드라이브의 위치로 교체하세요. 이는 앞서 사용한 df 명령을 사용하여 찾을 수 있습니다. 또한, 이 작업은 아마도 오랜 시간이 걸릴 것이므로, 커피를 준비하세요.

또한 읽어보세요: fsck로 파일 시스템 확인 및 복구하기 [리눅스]

희망적으로, 이러한 솔루션 중 하나가 문제를 해결했기를 바랍니다. 이 문제는 모든 경우에 진단하기 쉽지 않습니다. 그러나 운이 좋다면, 문제를 해결하고 시스템이 정상적으로 작동하도록 할 수 있습니다.

리눅스에 대한 더 많은 팁을 찾고 있다면, 리눅스에서 블루투스를 설정하는 방법에 대한 가이드를 확인하세요. 또는 조금 다른 것을 원하신다면, 리눅스에 Mac의 Safari 브라우저를 설치하는 방법을 확인하세요. 즐기세요!

또한 읽어보세요: 리눅스에서 전체 하드 드라이브를 복제하는 4가지 방법