![장치에 공간이 남아 있음에도 불구하고](https://rvso.com/image/1000411/%EC%9E%A5%EC%B9%98%EC%97%90%20%EA%B3%B5%EA%B0%84%EC%9D%B4%20%EB%82%A8%EC%95%84%20%EC%9E%88%EC%9D%8C%EC%97%90%EB%8F%84%20%EB%B6%88%EA%B5%AC%ED%95%98%EA%B3%A0.png)
SSH를 통해 액세스하는 화면이 깨진 노트북. 이 sudo apt-get autoremove
명령은 나에게 다음과 같은 오류를 제공합니다
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device
다양한 다른 명령에서 비슷한 오류가 발생하지만 gparted
노트북의 (단일) 파티션에 20GB 이상의 공간이 남아 있다고 알려줍니다. 다음은df
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 502644 484 502160 1% /dev
tmpfs 505433 503 504930 1% /run
/dev/sda1 7331840 214087 7117753 3% /
none 505433 2 505431 1% /sys/fs/cgroup
none 505433 3 505430 1% /run/lock
none 505433 4 505429 1% /run/shm
none 505433 16 505417 1% /run/user
overflow 505433 401 505032 1% /tmp
그리고:
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
udev 2010576 12 2010564 1% /dev
tmpfs 404348 1284 403064 1% /run
/dev/sda1 115247656 83994028 25809372 77% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 2021732 204 2021528 1% /run/shm
none 102400 16 102384 1% /run/user
overflow 1024 1024 0 100% /tmp
을(를) 실행한 후 오류가 시작되었습니다 sudo apt-get upgrade
.
답변1
과거 어느 시점에 루트 파일 시스템이 가득 차고 부팅이 성공할 수 있도록 작은 임시 /tmp가 생성되었습니다. 이 작은 /tmp는 삭제된 적이 없으므로 이제 /에 공간이 있어도 여전히 작은 /tmp를 채우고 문제가 발생합니다. 간단히 마운트 해제하세요.
sudo umount /tmp
그리고 물론 /가 가능한 한 깨끗한지 확인하십시오.
일반적으로 /tmp는 루트(/) 파일 시스템의 일부일 뿐이므로 루트 파일 공간이 부족하거나(일부 데몬이 표시되는 파일 공간을 생성하는 경우) 특별한 상황이 아닌 한 별도의 마운트가 필요하지 않습니다. 매우 느린 미디어(예: USB 플래시 스틱)에서 제한된 공간에서도 성능을 위해 RAM에 /tmp를 원합니다.
답변2
디스크가 가득 차 있지 않은데도 꽉 찼음을 나타내는 오류가 발생하는 이 문제가 발생하는 경우 inode 활용도도 확인하십시오.
df -i
각 마운트 지점에 사용된/사용 가능한 inode에 대한 빠른 보고서를 얻는 데 사용할 수 있습니다 .
inode가 매우 부족하거나 부족하다는 것을 알게 되면 다음 단계는 대부분의 inode를 보유하고 있는 폴더를 식별하는 것입니다. 각 파일과 디렉터리는 inode를 사용하므로 모든 inode를 사용하는 수십만 개의 작거나 빈 파일이 있는 폴더를 가질 수 있습니다. 일반적인 용의자에는 임시 디렉터리, 웹 사이트 캐시 디렉터리, 패키지 캐시 디렉터리 등이 포함됩니다.
가장 많은 inode가 사용된 하위 디렉터리의 순서가 지정된 목록을 얻으려면 다음 명령을 사용하십시오.
sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
루트 폴더에서 이를 실행한 다음 범인을 찾을 때까지 드릴다운하세요.
답변3
나는 당신이 많은 것을 가지고 있다고 믿습니다사용하지 않는 파일다음을 사용하여 제거하십시오.
sudo apt autoremove
df
그런 다음 명령 으로 공간을 다시 확인하십시오.
답변4
폴더당 inode 수를 확인하려면 다음을 수행하세요.
du * -s --inodes