Computer >> 컴퓨터 >  >> 체계 >> Linux

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

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

대부분의 경우 Linux는 오류 메시지가 매우 구체적입니다. "작동하지 않습니다. 이 패키지를 설치해 보십시오." 그러나 특히 저에게 별로 도움이 되지 않는 것이 있습니다. "장치에 남은 공간이 없습니다." 그 원인은 무엇입니까? 2TB의 저장 공간이 있는 줄 알았는데 어떻게 가득 찰 수 있나요? 어디서부터 찾기 시작합니까? 오늘 우리는 Linux에서 "No space left on device" 오류를 수정하는 방법에 대한 가이드에서 모든 것을 안내할 것입니다.

기기의 남은 공간 확인

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

데스크탑 환경에서 도구를 사용하려는 경우 이러한 도구로 찾을 수 있는 정보를 읽기 쉽게 표시해 줍니다. 저는 GNOME과 함께 Fedora를 사용하고 있으며 GNOME 디스크 사용량 분석기 도구는 다음을 보여줍니다.

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

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

sudo du -sh /
Linux에서  장치에 공간이 남지 않음  오류를 수정하는 방법

모든 것을 살펴보려면 시간이 좀 걸릴 것입니다. 이제 df로 시도하십시오. .

sudo df -h
Linux에서  장치에 공간이 남지 않음  오류를 수정하는 방법

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

물론 여기서 주요 관심사는 이러한 명령의 결과가 드라이브 크기 미만인지 여부입니다. 그렇다면 분명히 문제가 있는 것입니다.

장치에 공간이 없는 경우 가능한 원인

여기에는 몇 가지 주요 원인이 있습니다. du 사이에 불일치가 있는 경우 및 df , 여기에서 첫 번째 옵션으로 이동할 수 있습니다. 그렇지 않으면 두 번째 것에서 시작하십시오.

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

경우에 따라 파일이 삭제되지만 프로세스에서 여전히 파일을 사용하고 있습니다. Linux는 프로세스가 계속 실행되는 동안 파일과 연결된 스토리지를 해제하지 않지만 프로세스를 찾아 다시 시작할 수 있습니다.

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

프로세스를 찾아보십시오.

sudo lsof / | grep deleted

문제가 있는 프로세스를 나열해야 합니다. 다시 시작하세요.

sudo systemctl restart service_name

즉시 확인되지 않으면 전체 데몬을 다시 로드합니다.

sudo systemctl daemon-reload

Inode가 충분하지 않음

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

sudo df -i /
Linux에서  장치에 공간이 남지 않음  오류를 수정하는 방법

사용된 inode를 전체 inode와 비교합니다. 더 이상 사용할 수 없으면 불행히도 더 얻을 수 없습니다. 쓸모없거나 오래된 파일을 삭제하여 inode를 정리하십시오.

불량 블록

마지막 일반적인 문제는 잘못된 파일 시스템 블록입니다. 파일 시스템은 시간이 지남에 따라 손상될 수 있으며 하드 드라이브는 죽습니다. 운영 체제는 다른 표시가 없는 한 해당 블록을 사용 가능한 것으로 볼 가능성이 큽니다. 이러한 블록을 찾고 표시하는 가장 좋은 방법은 fsck를 사용하는 것입니다. -cc 사용 깃발. fsck를 사용할 수 없음을 기억하십시오. 테스트하는 것과 동일한 파일 시스템에서 가져온 것이므로 라이브 CD를 사용해야 할 것입니다.

sudo fsck -vcck /dev/sda2

분명히 드라이브 위치를 확인하려는 드라이브로 바꾸십시오. df를 사용하여 찾을 수 있습니다. 이전의 명령. 또한 시간이 오래 걸릴 수 있으므로 커피를 마실 준비를 하십시오.

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

더 많은 Linux 포인터를 찾고 있다면 Linux에서 Bluetooth를 설정하는 방법에 대한 가이드를 참조하십시오. 또는 조금 다른 내용을 보려면 Linux에 Mac의 Safari 브라우저를 설치하는 방법을 참조하십시오. 즐기세요!