디스크가 가득 참: 패키지를 설치할 수 없습니다.

디스크가 가득 참: 패키지를 설치할 수 없습니다.

거대한 Python 패키지를 다운로드하려고 하는데 갑자기 공간 제약이 발생합니다. df -h명령을 실행하면 다음 과 같이 표시됩니다.

[root@darwin ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       5.0G  5.0G  0.0G 100% /
devtmpfs        7.9G     0  7.9G   0% /dev
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   17M  7.9G   1% /run
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/0

제가 볼 수 있는 것은 /dev/vda1용량이 100%라는 것뿐입니다. 그런데 다른 파일 시스템은 무료인데 왜 패키지 설치에 사용할 수 없나요?

답변1

devtmpfs장치 등에 대한 정보로 커널에 의해 채워진 노드를 포함합니다.

tmpfs마운트된 파일 시스템으로 보이지만 실제로는 메모리에 저장됩니다. 내용을 tmpfs스왑 공간으로 교체할 수 있지만 시스템을 재부팅하면 내용이 모두 사라집니다.

일부 공간을 비울 수는 있지만 이는 로그, 데이터 및 추가 패키지 설치로 인해 공간이 다시 채워지기 때문에 일시적인 해결 방법일 뿐입니다. 5GB는 장기적으로 볼 때 충분한 공간이 아닙니다.

문제를 영구적으로 해결하는 유일한 방법은 시스템에 영구 저장 공간을 더 추가하는 것입니다.

답변2

5GB 디스크는 크지 않지만 GUI와 다양한 표준 애플리케이션이 포함된 Linux 배포판을 설치할 수 있습니다.

대부분의 디스크 공간을 사용하고 있는 디렉터리를 찾아야 합니다. 사용디스크 사용량 du그 이유는 다음과 같습니다.

du -smx / | sort -n

목록의 마지막 디렉토리는 모스 공간을 사용합니다.

예를 들어 /var. 그런 다음 좀 더 자세한 명령을 실행합니다.

du -m /var | sort -n

/var/cache/apt/archives예를 들어, 418MB를 차지하는 것을 볼 수 있습니다 .

418     /var/cache/apt/archives
472     /var/cache/apt
482     /var/cache
706     /var

가장 많은 공간을 차지하는 디렉토리를 찾으면 해당 디렉토리에서 일부 파일을 삭제할 수 있습니다.

sudo rm /foo/bar

배포판이 Debian과 유사한 배포판인 경우 다음 명령을 사용하여 설치된 패키지를 제거할 수 있습니다.

sudo apt-get clean

답변3

귀하의 질문에 직접 대답하자면, 이러한 파일 시스템을 패키지 설치에 사용할 수 없는 주된 이유는 패키지 파일이 있는 위치(보통 /etc와 /usr로 분할됨)에 설치되지 않기 때문입니다. df -h를 분석하십시오.

devtmpfs        7.9G     0  7.9G   0% /dev

이는 파일 시스템 포인터를 통해 장치를 추적하는 데 사용됩니다. 패키지는 /dev에 들어 가지 않습니다. 이상적으로는 장치만 /dev에 위치합니다.

tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   17M  7.9G   1% /run

/dev/shm이는 ("공유 메모리") 및 에 있는 서로 다른 임시 파일 시스템입니다 /run.

tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup

이는 /dev와 마찬가지로 이 답변의 범위를 넘어서는 매우 구체적인 목적을 가지고 있습니다.

tmpfs           1.6G     0  1.6G   0% /run/user/0

이는 루트 사용자(uid 0)를 위해 특별히 지정된 마지막 tmpfs입니다.

재부팅하면 해당 내용이 지워지므로 패키지 설치에는 적합하지 않습니다. 아마도 패키지 아카이브를 디스크에 저장하고 tmpfs를 덮어쓰고 부팅할 때마다 모든 패키지를 다시 설치할 수 있을 것입니다. 하지만 저장 공간이 5GB밖에 없다면 내장 장치일 가능성이 높으며 이렇게 하면 무언가를 시작하는 데 시간이 걸릴 것입니다. 장기. 그래도 훌륭한 프로젝트가 될 것입니다.

관련 정보