Linux에서 "장치에 공간이 남지 않음" 오류를 수정하는 상위 3가지 방법

명확한 원인이 없는 오류는 처리하기 가장 짜증나는 문제입니다. 그리고 Linux 는 일반적으로 오류 메시지가 구체적이지만, 이것은 공을 떨어뜨리는 몇 안 되는 경우 중 하나입니다.

"장치 오류에 남은 자리 없음"이 표시되는 것은 특히 드라이브가 가득 차 있지 않은 경우 거의 설명하지 않습니다. 이 오류 메시지가 나타나는 이유는 무엇입니까? 디스크에 충분한 공간이 있는데도 새 파일을 만들 수 없는 이유는 무엇입니까? 그리고 가장 중요한 것은 어떻게 수정합니까?

알아 보자.

하드 드라이브에 실제로 충분한 공간이(Hard Drive Actually Have Enough Space) 있습니까 ?

해결책을 찾기 위해 서두르기 전에 먼저 문제가 있는지 확인하십시오. 결국, 실제로 시스템에서 디스크 공간이 부족한 경우 당황할 필요가 없습니다. 불필요한 데이터를 제거하여 더 많은 공간을 확보할 수 있습니다.

디스크 공간에 대한 정보를 얻기 위한 두 가지 Linux 시스템 명령(du 및 df)이 있습니다. du 명령은 디스크 공간 사용량을 추정하고 df 명령은 디스크에 있는 여유 공간을 분석합니다. sudo 와 함께 사용 하면 디스크에서 실제로 사용 가능한 공간에 대한 정확한 보고서를 얻을 수 있습니다.

  1. du 명령부터 시작하겠습니다. 출력이 다소 길고 번거로울 수 있으므로 -s 및 -h 플래그를 사용합니다. -s는 결과를 요약하고 -h는 사람이 읽을 수 있도록 합니다. 따라서 sudo du -sh / 명령을 입력하십시오. 여기서 /는 기본 디렉토리를 가리킵니다.

  1. 모든 권한 거부 메시지에 대해 걱정하지 마십시오. 이것이 시스템의 모든 하위 디렉토리를 트롤링하는 방식입니다. 드라이브의 크기에 따라 모든 것을 재귀적으로 진행하므로 잠시 동안 실행 상태로 두어야 할 수도 있습니다.

  1. du가 스캔을 마치면 크기와 함께 디렉토리의 간단한 목록을 출력합니다. 예를 들어, 이것은 일반 디렉토리에 적용된 du 명령의 출력입니다.

이제 df를 사용하여 사용 가능한 여유 공간이 얼마나 되는지 확인합니다. df 명령은 마운트된 파일 시스템과 사용 통계만 표시하므로 사용하기가 훨씬 간단합니다. 다시 한 번 -h 플래그를 사용하여 사람이 읽을 수 있는 출력을 만듭니다.

sudo df -h

아이디어는 du 및 df 명령의 결과를 집계하는 것입니다. 불일치는 파일이나 폴더에서 사용하지 않음에도 불구하고 자유롭게 사용할 수 없는 디스크 공간을 나타냅니다.

Linux(Does Linux Show) 에 "장치에 남은 공간(Space Left) 없음" 이 표시되는 이유 는 무엇입니까?

디스크에 충분한 여유 공간이 있음에도 불구하고 "장치에 남은 공간 없음" 오류 메시지가 표시되면 하드웨어에 문제가 있는 것이 아닙니다. 오류의 정확한 원인을 파악하려면 약간의 문제 해결이 필요할 수 있습니다.

  • 최근 삭제된 파일: 이 오류가 표시되는 가장 일반적인 이유는 최근에 삭제된 파일입니다. 종종 프로세스가 여전히 파일을 사용하는 동안 파일이 삭제되어 파일이 이미 없어진 경우에도 예약된 공간을 유지합니다.
  • Inode가 충분(Enough Inodes) 하지 않음 : 또 다른 빈번한 원인은 inode(inodes) 가 충분하지 않기 때문입니다 . Inode는 스토리지에 있는 모든 파일의 메타데이터를 보유 하는 Unix 파일 시스템의 인덱스 페이지입니다. (Unix)그러나 inode는 무제한이 아니며 저장 공간 전에 inode가 부족하면 "장치에 남은 공간 없음" 오류가 발생할 수 있습니다.
  • 하드 드라이브 고장: 물론 하드(Hard) 드라이브가 단순히 고장이 났을 가능성이 있으며 명백한 여유 공간의 많은 부분이 불량 섹터에 의해 차지됩니다. 시스템이 이러한 위치에 파일을 쓰지 못하기 때문에 오류가 발생합니다.

수정 1: 삭제된 파일을 사용하여(Using Deleted Files) 프로세스 다시 시작

"장치에 남은 공간 없음" 오류의 가장 가능성 있는 원인은 삭제된 파일을 계속 사용하는 프로세스입니다. 고맙게도 이 오류를 수정하는 것은 쉽습니다. 예약된 스토리지를 확보 하려면 프로세스(restart the process) 를 다시 시작하기만 하면 됩니다 .

  1. 문제가 있는 프로세스를 찾으려면 lsof 및 grep 명령을 사용해야 합니다. lsof 명령은 실행 중인 프로세스에서 사용 중인 모든 열린 파일 목록을 제공하며 grep은 삭제된 파일로 선택 범위를 좁힐 수 있습니다. 따라서 sudo lsof / | grep은 삭제되었습니다. 여기서 /는 기본 디렉토리이고 | lsof의 출력을 grep에 연결하기 위한 파이프.

  1. 이제 sudo systemctl restart service_name 명령을 사용하여 영향을 받는 프로세스를 다시 시작할 수 있습니다. 여기서 서비스 이름은 검색에서 나타난 서비스의 이름입니다.

  1. 이와 같은 프로세스가 여러 개 있거나 특정 서비스를 찾는 데 신경을 쓰고 싶지 않다면 sudo systemctl daemon-reload 명령으로 모두 재설정할 수 있습니다. 이것은 파일 시스템의 변경 사항을 고려하여 모든 종속성을 재생성합니다.

그런 다음 프로세스에서 보유하고 있는 저장 공간을 다시 사용할 수 있어야 오류가 발생하지 않고 파일을 쓸 수 있습니다.

수정 2: Inode 확인

각 드라이브에는 많은 수의 inode가 있지만 유한합니다. 시스템에 엄청난 수의 파일이 있는 경우 드라이브의 저장 용량을 모두 사용하기 전에 이 제한에 도달할 수 있습니다. 이것이 너무 작은 파일보다 큰 파일을 갖는 것이 더 나은 이유입니다.

df 명령과 함께 -i 플래그를 사용하여 inode의 가용성을 쉽게 확인할 수 있습니다. 이와 같이:

sudo df -i

이것은 현재 사용 중인 양과 함께 파일 시스템에 있는 총 inode 수를 명확하게 알려줍니다. 시스템에 여유 inode가 남아 있지 않으면 "장치에 남은 공간 없음" 오류의 원인이 됩니다.

inode는 드라이브를 처음 포맷할 때만 생성되기 때문에 더 이상 inode를 생성할 방법이 없습니다. 당신이 할 수 있는 일은 불필요한 파일을 삭제하여 향후 파일을 위한 inode를 확보하는 것뿐입니다.

수정 3: 불량 블록 표시

데이터(Data) 손상은 모든 하드 드라이브의 피할 수 없는 운명입니다. 새 드라이브에서는 이 문제가 발생하지 않지만 오래된 하드 디스크는 점차 "불량" 상태가 되기 시작합니다.

이것이 의미하는 바는 파일 시스템이 여전히 작동하는 것으로 간주하더라도 하드 드라이브의 일부가 사용할 수 없게 된다는 것입니다. 이러한 불량 블록은 실제로 파일을 쓸 수 없을 때 드라이브의 명백한 여유 공간을 잘못 부풀립니다. 운영 체제가 이러한 위치에 데이터를 저장하려고 시도하지만 실패하므로 "장치에 공간이 남지 않음" 오류가 발생합니다.

불량 섹터는 하드 드라이브의 물리적 마모로 인해 발생하므로 이 문제를 해결할 수 있는 실제 방법은 없습니다. 당신이 할 수 있는 유일한 일은 불량 섹터를 표시하여 더 이상 파일 시스템에서 참조하지 않도록 하는 것입니다.

이렇게 하려면 실행 중인 드라이브 내에서 파일 시스템 검사(File System Check) 를 수행할 수 없으므로 Live CD 에서 부팅해야 합니다. (Live CD)일단 다음 명령을 사용하십시오.

sudo fsck -vcck /dev/sda

이것은 /dev/sda를 복구하려는 드라이브의 경로로 바꿉니다. 그러면 드라이브의 모든 불량 블록이 자동으로 감지되어 사용할 수 없는 것으로 표시됩니다. 그러나 추가 저장 용량을 제공하지 않으므로 드라이브의 공간을 확보하기 위해 불필요한 파일을 정리할 준비를 하십시오.

"장치에 남은 공간 없음" 오류를 수정하는 가장 좋은 방법은 무엇입니까?

Ubuntu 또는 다른 Linux 배포판 에서 "장치에 남은 공간 없음" 오류가 표시되는 일반적인 이유 는 실행 중인 프로세스에서 삭제된 파일을 계속 사용하고 있기 때문입니다. 이렇게 하면 파일이 차지하는 스토리지가 예약되어 다른 작업이 해당 공간에 데이터를 쓰지 못하게 됩니다.

문제의 프로세스를 다시 시작하기만 하면 되므로 이 문제를 수정하는 것도 가장 쉽습니다. 그러나 오류의 다른 원인은 해결하기가 쉽지 않습니다.

드라이브에 잘못된 데이터 블록이 있거나 inode가 부족하더라도 이러한 문제를 직접 해결할 수 있는 방법은 없습니다. 새 데이터를 기록할 공간을 확보하려면 기존 파일을 삭제해야 합니다.



About the author

저는 컴퓨터 전문가이며 2009년부터 사람들의 PC 사용을 돕고 있습니다. 제 기술에는 iphone, 소프트웨어, 가제트 등이 있습니다. 저도 지난 4년 동안 강사로 일하고 있습니다. 그 시간 동안 저는 사람들이 새로운 프로그램을 배우도록 돕는 방법과 전문적인 방식으로 장치를 사용하는 방법을 배웠습니다. 나는 모든 사람이 직장이나 학교에서 성공할 수 있도록 내 기술을 향상시키는 방법에 대한 팁을 제공하는 것을 즐깁니다.



Related posts