Làm thế nào để dọn sạch các tập tin không cần thiết


18

Vui lòng gợi ý cho tôi bất kỳ tệp không cần thiết cụ thể nào mà tôi có thể dọn dẹp để sao lưu mọi thứ về trạng thái bình thường (tạm thời). (tức là bất kỳ nhật ký hoặc lưu trữ hoặc bất cứ điều gì). Var / log của tôi chỉ có 40 MB và thư mục Home có 3 GB dung lượng (vì vậy tôi tin rằng đó không phải là vấn đề). Khác với những gì tôi có thể dọn dẹp để tạo không gian.

[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

Tôi đang ở trong một máy debian.

CẬP NHẬT1:

đầu ra của 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

Cập nhật2

Đầu ra của 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
Không có câu trả lời phổ quát ở đây. Chạy các lệnh sau với quyền root, đợi một lúc và dán kết quả của bạn : cd /; du -sxh *. Nó sẽ tổng hợp kích thước của tất cả các thư mục chính trên máy chủ của bạn. Sau đó, chúng ta sẽ có một manh mối. Bạn cũng có thể nhập thư mục lớn này với cd và chạy lệnh du bên trong nó để vào sâu hơn.
Krzysztof Adamski

@KrzysztofAdamski Cảm ơn bạn đã trả lời nhanh chóng. Tôi đã cập nhật câu hỏi với đầu ra củacd /; du -sxh *
Subhransu Mishra

@Subhransu Dựa trên những gì bạn đang thấy nó xuất hiện như thể bạn có một tệp đã bị xóa trong khi vẫn mở.
Karlson

@Karlson Tôi thực sự không hiểu nếu bạn có một tệp đã bị xóa trong khi vẫn mở . Vui lòng giải thích. Xin vui lòng cho tôi biết những gì đầu ra khác có thể khả thi để bạn có thể giúp tôi.
Subhransu Mishra

Bạn đã loại bỏ bất kỳ tập tin lớn gần đây? Giống như các tệp nhật ký hoặc một cái gì đó như thế này?
Krzysztof Adamski

Câu trả lời:


12

Cách tốt nhất để tìm ra việc tiêu thụ đĩa, là sử dụng phần mềm đồ họa như baobab:

Khởi chạy nó với sudo baobab /

nhập mô tả hình ảnh ở đây


Nó sẽ làm việc trong máy chủ từ xa?
Subhransu Mishra

@Subhransu Chắc chắn, nếu bạn kết nối với chuyển tiếp X ( ssh -Xhoặc ForwardX11 yestrong ~/.ssh/config). Tuy nhiên, nếu nó không được cài đặt, bạn có thể không có đủ dung lượng để cài đặt nó và thư mục cần thiết.
Gilles 'SO- ngừng trở nên xấu xa'

1
Xem câu trả lời của tôi dưới đây để biết một công cụ đồ họa không yêu cầu máy chủ X và yêu cầu rất ít không gian máy chủ.
dotancohen

33

Câu trả lời của daisy để sử dụng một công cụ đồ họa để tìm trực quan các tệp và thư mục lớn có lẽ là phương pháp tốt nhất. Tuy nhiên, xin lưu ý rằng "công cụ đồ họa" không có nghĩa là "yêu cầu máy chủ X"! ncduChương trình tuyệt vời này cung cấp đầu ra đồ họa trong CLI và hoạt động hoàn hảo trên các máy chủ từ xa thông qua 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

Sau đó, sau khi nhập /var/ví dụ:

. 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

Cài đặt dễ dàng trên Debian hoặc Ubuntu:

$ sudo apt-get install ncdu

Cài đặt dễ dàng trên CentOS với quyền root:

# yum install ncdu

6

Debian cung cấp một tiện ích có tên cruftIIRC liệt kê các tệp có thể không được cung cấp trên hệ thống của bạn.


Làm thế nào mà có thể được sử dụng?
nilon

5

tạo một tập tin mới trong cuộc /bingọitreesize

chmod +x /bin/treesize

dán cái này vào nó

#/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;
     }
    '

Đầu ra trông như thế này.

#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

Bạn có thể kiểm tra các tệp đã bị xóa bằng lsof | grep -i deleted Sau đó, bạn có thể xem liệu một quy trình có bị treo vào một nút mà bạn nghĩ đã bị xóa hay không. Nếu vậy, hãy khởi động lại tiến trình cha mẹ để giải phóng tệp cũ (đã xóa).


3

Điều này sẽ cung cấp cho bạn các tệp lớn nhất trên FS của bạn và có thể bạn sẽ tìm thấy ở đó một số tệp có thể bị xóa.

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

Nếu bạn cần đầu ra dài hơn, chỉ cần thay đổi số sau lệnh đuôi.
Vui lòng gửi đầu ra từ:

df -h /
du -shx /

Cả hai lệnh sẽ hiển thị không gian được sử dụng tương tự của FS của bạn.


1

Tôi đã tìm thấy một số lệnh rất hữu ích trên bài đăng này tại Askubfox.com . Diễn giải:

  • Hiển thị 10 thư mục con lớn nhất trong thư mục hiện tại: du -sk * | sort -nr | head -10
  • Sử dụng filelight / kDirStat / baobab để xem vị trí của không gian đĩa
  • Kiểm tra xem bạn có nhân cũ để xóa không: ls -lh /boot
  • Gói sạch: sudo apt-get autoremovesudo apt-get autoclean
  • Xem danh sách tất cả các gói được cài đặt, được sắp xếp theo kích thước: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • Làm sạch các tệp ngôn ngữ không sử dụng với các bản dịch: sudo apt-get install localepurge
  • Kiểm tra nội dung của / var / tmp /: du -sh /var/tmp/
  • Kiểm tra cũng man deborphan
  • Tìm kiếm các tệp lớn: find / -type f -size +1024khoặcfind / -size +50000 -exec ls -lahg {} \;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.