루트 파일 시스템이 가득 차면 어떻게해야합니까?


33

내 / 폴더가 가득 차서 소프트웨어를 업데이트하거나 아무것도 할 수 없습니다.

내가 뭘 잘못하고 있는지 잘 모르겠다.

$ df -h
Results:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.7G  5.4G     0 100% /
udev                  1.9G  4.0K  1.9G   1% /dev
tmpfs                 770M  1.1M  769M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  1.9G  808K  1.9G   1% /run/shm
/dev/sda6             961M   18M  895M   2% /tmp
/dev/sda7             9.9G  2.9G  6.6G  31% /home
/dev/sda3             5.7G  140M  5.3G   3% /usr/local
/dev/sda4             2.9G  1.3G  1.4G  49% /var
/dev/sdb1              94G  1.3G   88G   2% /sites
/home/username/.Private  9.9G  2.9G  6.6G  31% /home/username
/dev/sdb5             282G   88G  180G  33% /mnt/multimedia


$ df -h /
Results:
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       5.7G  5.4G     0 100% /

$ du /mnt /media
Results:
4   /mnt/multimedia
8   /mnt
4   /media

이것은 Ubuntu 12.04의 새로운 설치이며 루트 시스템이 어떻게 가득 차 있는지 / 왜 잘 모르겠습니다.


응 어떻게 든 가득 찬 것 같아요. 나는 zwets 제안 출력으로 질문을 조정했다
Jesse

나에게는 오래된 커널에 의해 채워졌다 나는이 그들을 청소 dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge 에서 가져온 것이 우분투 커뮤니티 도움말
RajaRaviVarma

답변:


30

넘친 루트 파티션에 대한 몇 가지 조치 는 다음과 같습니다 (사례에 따라).

1. 디스크를 채우는 코어 덤프.

확인 :

find / -xdev -name core -ls -o  -path "/lib*" -prune

2. 공간을 채우는 불필요한 패키지.

다음 명령은 더 이상 필요하지 않은 자동으로 설치된 모든 패키지를 제거합니다. (과거에 설치를 강제하는 종속성이 제거 되었기 때문에)

apt-get autoremove --purge 

3. 오래된 커널 패키지

설치된 커널 패키지 수를 확인하고 오래된 커널 버전을 제거하십시오. 다음을 사용하여 현재 상황을 조사 할 수 있습니다.

dpkg -l "linux*{tools}*" |grep ^.i

더 이상 필요없는 커널 버전을 제거하십시오.

4. 숨겨진 저장소

마운트 된 다른 파티션은 사용 된 스토리지를 숨길 수 있습니다. 이를 조사하려면 루트 파일 시스템을 두 번째 위치에 임시로 마운트하십시오.

mkdir /tmp/2ndRoot
mount /dev/sda1 /tmp/2ndRoot

이제 모든 디렉토리를 살펴보십시오. 일반적으로 다른 마운트에 의해 숨겨져 있습니다. 예 :

  • tmp
  • 운영
  • var
  • usr / 로컬

    그리고 귀하의 경우에도 :

  • 사이트

경고

설치의 일관성을 다음과 같이 제어하는 ​​것을 잊지 마십시오.

apt-get install -f

노트

예약 된 스토리지

/dev/sda1       5.7G  5.4G     0 100% /

출력에는 여전히 공간이 있지만 루트 용으로 예약 된 것 같습니다. 좋은 점은 현재 시스템 기능이 여전히 제공되고 있다는 것입니다.

그러나 곧 문제를 해결해야합니다.

우분투 12.04의 공간 소비

우분투 설치에 5.7GB 만 있으면 너무 작은 것 같습니다. 불필요한 소프트웨어 패키지를 제거해야합니다.

현재 설치에는 루트 및 이진 (일명 /usr) 파티션에 대해 10-14Gb가 있습니다.


고마워 루트 파티션을 부딪 혔고 모든 폴더를 볼 수있는 트릭에서 노력해야합니다 (로컬 / 빈?). 디스크 공간 분석기 도구를 사용하면 / media /에 마운트 된 드라이브가 모두 빨간색으로 가득 차 있다고 믿게되었습니다.
Jesse

이 명령 "apt-get autoremove --purge"로 @ H.-Dirk Schmitt 1.3GB를 줄였습니다. 자세한 내용에 감사드립니다.
sugunan

28

마법의 명령을 공유하여 모든 디스크 공간이 어디로 가는지 알 수 있습니다.

sudo du -hsx /* | sort -rh | head -n 40

다음과 같이 매우 깔끔한 보고서가 생깁니다.

16G     /home
5.3G    /var
2.6G    /usr
840M    /run
277M    /root
171M    /lib
59M     /tmp
25M     /sbin
19M     /boot
16M     /bin
9.6M    /etc
136K    /ngx_pagespeed-latest-stable.zip
24K     /DEBIAN
16K     /lost+found
8.0K    /media
4.0K    /srv
4.0K    /opt
4.0K    /mnt
4.0K    /lib64

그런 다음 다른 폴더에서 다시 시작할 수 있습니다.

sudo du -hsx /home/* | sort -rh | head -n 35

필요하지 않은 것을 제거하면 괜찮을 것입니다. 내 리눅스 치트 시트 의 일부


좋은 게시물과 유용한 도구 ...
George Udosen

3
숨겨진 폴더는 어떻습니까? 점으로 시작하는 것.
John Red

@JohnRed 홈 디렉토리 등 :du -hsx $(ls -A ~/) | sort -rh
ritiek

4

다른 해결책은 다음과 ncdu같습니다.

sudo ncdu -x /

여기서 /는 확인하려는 파티션 / 드라이브입니다. 내 예에서 결과는

    4,0GiB [##########] /usr
  579,3MiB [#         ] /root
  487,4MiB [#         ] /opt
   41,7MiB [          ] /lib
   22,7MiB [          ] /sbin
   21,2MiB [          ] /boot
   18,6MiB [          ] /etc
    9,1MiB [          ] /bin
    3,6MiB [          ]  core
  260,0KiB [          ] /build
   88,0KiB [          ] /tmp
e  16,0KiB [          ] /lost+found
    8,0KiB [          ] /media
    4,0KiB [          ] /lib64
e   4,0KiB [          ] /srv
e   4,0KiB [          ] /mnt
>   0,0  B [          ] /var
>   0,0  B [          ] /sys
>   0,0  B [          ] /run
>   0,0  B [          ] /proc
>   0,0  B [          ] /ovhbackup
>   0,0  B [          ] /home
>   0,0  B [          ] /dev

그런 다음 키보드 화살표를 사용하여 폴더를 탐색하고 D키를 누르면 폴더 / 파일을 삭제할 수 있습니다.

ncduapt데비안 기반 시스템 의 패키징 도구에서 설치할 수 있습니다 :

sudo apt install ncdu

0

"du"명령으로 "/home/yourname/.local/share/Trash"폴더를 확인하십시오 (위 참조).

나는이 같은 문제가 있었고 위에 게시 된 트릭 미카엘을 사용하여 디스크 사용량을 간결하게 인쇄했습니다. 창 관리자를 사용하여 항목을 삭제하고 작업 할 때 충분한 권한이없는 경우, "rm"및 "apt autoremove --purge"를 사용하여 명령 줄에서 삭제 한 것으로 생각되는 파일, 휴지통을 비우면 루트 파티션의 ".local / share / ____"에 종료되었을 수 있습니다.

창 관리자의 왼쪽 창에있는 "파일 시스템"은 Ubuntu / Mint의 설치 파일을 위해 따로 설정 한 50GB로 거의 가득 찼습니다. 이 파티션에 실수로 복사 한 강의를 원래 복사하려는 파티션으로 옮길 때 삭제되지 않았다는 것이 밝혀졌습니다. 이제 36GB가 없어서 더 의미가 있습니다 (주로 큰 이미지 세트를 빠르게 미리 볼 수 있도록이 파티션에 HD 그래픽을 유지하기 때문에 광산이 큽니다).

파일을 삭제 / 관리하기 전에 권한에 대해 잘 이해하고 있는지 확인하거나 SSD에서 붐비는 것으로 생각 된 항목이 종료 될 수 있습니다.

참고로, 16GB 램은 부팅시 92 %로로드되는 동안 루트 파티션이 삭제 된 파일을 저장하고 동일한 문제로 인해 지속적으로 유지됩니다. 램은 디스크의 항목을 캐시하여 리눅스의 성능을 크게 향상시키는 데 사용됩니다. 운영 체제는 설치 파티션을 올바르게 사용한다고 가정하므로 (이 경우에는 그렇지 않습니다) 시스템 응답 속도를 높이기 위해 가능한 것을 캐시합니다. 디스크 캐싱은 메모리에 해당 공간을 예약하지 않기 때문에 이것은 단지 주목할만한 점입니다. 요청 된 디스크 디스크가 작동하는 방식 인 필요한 다른 프로그램에 사용 된 램 공간을 생성하지만 부팅 할 때마다 14.5GB의 삭제 된 파일을 램에로드하는 자원을 불필요하게 사용합니다.

그것이 도움이되기를 바랍니다! 위의 답변에 크게 감사드립니다. 매우 도움이되었습니다!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.