불필요한 파일을 정리하는 방법


19

모든 것을 정상적인 상태로 일시적으로 되돌릴 수있는 불필요한 파일을 제안하십시오. (즉, 모든 로그 또는 보관 또는 기타). 내 var / log에는 40MB 만 있고 홈 디렉토리에는 3GB의 공간이 있습니다 (그래서 문제가되지 않습니다). 그 외에는 공간을 확보하기 위해 정리할 수 있습니다.

[user@host]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_inamivm-lv_root
                       18G   17G     0 100% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             485M   71M  389M  16% /boot

나는 데비안 컴퓨터에 있습니다.

업데이트 1 :

~의 출력 cd /; du -sxh *

6.1M    bin
61M     boot
156K    dev
22M        etc
3.3G    home
306M    lib
18M     lib64
16K     lost+found
4.0K    media
4.0K    mnt
408K    opt
du: cannot access `proc/18605/task/18605/fd/4': No such file or directory
du: cannot access `proc/18605/task/18605/fdinfo/4': No such file or directory
du: cannot access `proc/18605/fd/4': No such file or directory
du: cannot access `proc/18605/fdinfo/4': No such file or directory
0       proc
208K    root
9.7M    sbin
0       selinux
4.0K    srv
0       sys
8.0K    tmp
536M    usr
187M    var

업데이트 2

출력 ls -la /

dr-xr-xr-x.  22 root root  4096 Aug  7 08:42 .
dr-xr-xr-x.  22 root root  4096 Aug  7 08:42 ..
-rw-r--r--.   1 root root     0 Aug  7 08:42 .autofsck
dr-xr-xr-x.   2 root root  4096 Mar 28 16:53 bin
dr-xr-xr-x.   5 root root  1024 Mar 28 16:54 boot
drwxr-xr-x.  16 root root  3580 Sep  9 03:13 dev
drwxr-xr-x.  69 root root  4096 Aug 23 09:19 etc
drwxr-xr-x.   9 root root  4096 Jun 29 16:10 home
dr-xr-xr-x.   8 root root  4096 Mar  7  2012 lib
dr-xr-xr-x.   9 root root 12288 Mar 28 16:53 lib64
drwx------.   2 root root 16384 Mar  7  2012 lost+found
drwxr-xr-x.   2 root root  4096 Sep 23  2011 media
drwxr-xr-x.   2 root root  4096 Sep 23  2011 mnt
drwxr-xr-x.   3 root root  4096 Mar  7  2012 opt
dr-xr-xr-x. 355 root root     0 Aug  7 08:42 proc
dr-xr-x---.   5 root root  4096 Aug 17 18:27 root
dr-xr-xr-x.   2 root root  4096 May  2 09:13 sbin
drwxr-xr-x.   7 root root     0 Aug  7 08:42 selinux
drwxr-xr-x.   2 root root  4096 Sep 23  2011 srv
drwxr-xr-x.  13 root root     0 Aug  7 08:42 sys
drwxrwxrwt.   3 root root  4096 Sep 13 03:37 tmp
drwxr-xr-x.  13 root root  4096 Mar 28 17:53 usr
drwxr-xr-x.  18 root root  4096 Mar  7  2012 var

5
여기에는 보편적 인 대답이 없습니다. 루트로 다음 명령을 실행하고 잠시 기다렸다가 결과를 붙여 넣으십시오 cd /; du -sxh *. 서버의 모든 기본 디렉토리의 크기를 요약합니다. 그러면 실마리가 생깁니다. cd로이 큰 디렉토리를 입력하고 그 안에 du 명령을 실행하여 더 깊게 만들 수 있습니다.
Krzysztof Adamski

@KrzysztofAdamski 빠른 답변 감사합니다. 나는의 출력 질문 업데이트 한cd /; du -sxh *
Subhransu 슈라

@Subhransu보고있는 내용에 따라 여전히 열려있는 동안 제거 된 파일이있는 것처럼 나타납니다.
Karlson

@Karlson 여전히 열려있는 동안 제거 된 파일이 있는지 이해하지 못합니다 . 설명 해주십시오. 당신이 나를 도울 수 있도록 다른 출력이 가능한지 알려주십시오.
Subhransu Mishra

최근에 큰 파일을 제거 했습니까? 로그 파일이나 이와 같은 것?
Krzysztof Adamski

답변:


12

디스크 소비를 찾는 가장 좋은 방법은 baobab다음 과 같은 그래픽 소프트웨어를 사용하는 것입니다 .

로 시작 sudo baobab /

여기에 이미지 설명을 입력하십시오


원격 서버에서 작동합니까?
Subhransu Mishra

@Subhransu 물론, X 포워딩 ( ssh -X또는 ForwardX11 yes~/.ssh/config)에 연결하는 경우 . 그러나 설치되지 않은 경우 설치 공간과 필요한 디렉토리가 충분하지 않을 수 있습니다.
Gilles 'SO- 악마 그만'

1
X 서버가 필요없고 서버 공간이 거의없는 그래픽 도구에 대해서는 아래 답변을 참조하십시오 .
dotancohen

34

그래픽 파일을 사용하여 큰 파일과 디렉토리를 시각적으로 찾는 데이지의 대답 은 아마도 가장 좋은 방법 일 것입니다. 그러나 "그래픽 도구"가 "X 서버 필요"를 의미하지는 않습니다. 멋진 ncdu프로그램은 CLI에서 그래픽 출력을 제공하며 SSH를 통해 원격 서버에서 완벽하게 작동합니다.

$ ncdu /

.  43.7GiB [##########] /home
.   5.9GiB [#         ] /usr
    1.1GiB [          ] /lib
.   1.1GiB [          ] /var
  736.9MiB [          ] /opt
. 324.6MiB [          ] /tmp
  218.4MiB [          ] /boot
.  63.8MiB [          ] /etc
   10.0MiB [          ] /sbin
    8.8MiB [          ] /bin
    3.3MiB [          ] /lib32
.   1.0MiB [          ] /run
   64.0KiB [          ] /build
!  16.0KiB [          ] /lost+found
    8.0KiB [          ] /media
    8.0KiB [          ] /mnt
    8.0KiB [          ] /.config
    4.0KiB [          ] /dev
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
!   4.0KiB [          ] /root
e   4.0KiB [          ] /cdrom
.   0.0  B [          ] /proc
.   0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img.old
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz.old

그런 다음 /var/예를 들어 들어간 후 :

. 395.3MiB [##########] /tmp
. 365.0MiB [######### ] /cache
. 297.8MiB [#######   ] /lib
   16.1MiB [          ] /backups
.   8.0MiB [          ] /log
.  56.0KiB [          ] /spool
   40.0KiB [          ] /games
    8.0KiB [          ] /www
e   4.0KiB [          ] /opt
e   4.0KiB [          ] /mail
e   4.0KiB [          ] /local
e   4.0KiB [          ] /crash
@   0.0  B [          ]  lock
@   0.0  B [          ]  run

데비안 또는 우분투에 쉽게 설치하십시오 :

$ sudo apt-get install ncdu

CentOS에 루트로 쉽게 설치하십시오.

# yum install ncdu

6

데비안은 cruft시스템에서 사용하지 않을 수있는 파일을 나열하는 IIRC 라는 유틸리티를 제공 합니다.


어떻게 사용할 수 있습니까?
nilon

5

에 새 파일 만들 /bin라고 불리는treesize

chmod +x /bin/treesize

이것을 붙여 넣습니다.

#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
     BEGIN {
        split("KB,MB,GB,TB", Units, ",");
     }
     {
        u = 1;
        while ($1 >= 1024) {
           $1 = $1 / 1024;
           u += 1
        }
        $1 = sprintf("%.1f %s", $1, Units[u]);
        print $0;
     }
    '

출력은 다음과 같습니다.

#treesize
3.0 GB .
1.1 GB ./usr
759.9 MB ./var
353.3 MB ./root
307.1 MB ./opt
270.7 MB ./lib
98.6 MB ./home
60.1 MB ./boot
9.8 MB ./etc
8.3 MB ./bin
8.1 MB ./sbin
268.0 KB ./run
40.0 KB ./tmp
16.0 KB ./lost+found

4

삭제 된 파일을 lsof | grep -i deleted 확인하여 프로세스가 삭제 된 것으로 생각되는 inode에 걸려 있는지 확인할 수 있습니다. 그렇다면 상위 프로세스를 다시 시작하여 이전 (삭제 된) 파일을 해제하십시오.


3

이것은 당신에게 당신의 FS에서 가장 큰 파일을 제공하고 아마도 당신은 삭제할 수있는 파일을 찾을 수 있습니다.

find / -xdev -type f -size +100000c -exec ls -la {} \; 2>/dev/null | sort -nk5 | tail -20

더 긴 출력이 필요하면 tail 명령 후에 숫자를 변경하십시오.
다음에서 출력을 게시하십시오.

df -h /
du -shx /

두 명령 모두 FS의 비슷한 사용 공간을 보여야합니다.


1

이 게시물에서 Askubuntu.com의 매우 유용한 명령을 찾았습니다 . 역설 :

  • 현재 디렉토리에서 상위 10 개의 가장 큰 하위 디렉토리를 표시하십시오. du -sk * | sort -nr | head -10
  • 디스크 공간이 시각적으로 어디로 가고 있는지 확인하려면 filelight / kDirStat / baobab을 사용하십시오.
  • 오래된 커널을 삭제했는지 확인하십시오. ls -lh /boot
  • 깨끗한 패키지 : sudo apt-get autoremovesudo apt-get autoclean
  • 크기별로 정렬 된 설치된 모든 패키지 목록을 참조하십시오. dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • 사용하지 않는 언어 파일을 번역으로 정리하십시오. sudo apt-get install localepurge
  • / var / tmp /의 내용을 확인하십시오. du -sh /var/tmp/
  • 또한 확인 man deborphan
  • 큰 파일 검색 : find / -type f -size +1024k또는find / -size +50000 -exec ls -lahg {} \;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.