Как убрать ненужные файлы


19

Пожалуйста, предложите мне какой-нибудь конкретный ненужный файл, который я могу почистить, чтобы вернуть все в нормальное состояние (временно). (т.е. любой журнал или архив или что-нибудь). У моего var / log всего 40 МБ, а в домашнем каталоге - 3 ГБ (поэтому я считаю, что это не проблема). Кроме того, что я могу очистить, чтобы освободить место.

[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

Я нахожусь в машине Debian.

Update1:

вывод 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

Update2

Выход из 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 внутри него, чтобы углубиться.
Кшиштоф Адамски

@KrzysztofAdamski Спасибо за быстрый ответ. Я обновил вопрос с выходомcd /; du -sxh *
Субхрансу Мишра

@Subhransu На основании того, что вы видите, создается впечатление, что у вас есть файл, который был удален, пока он еще открыт.
Карлсон

@ Карлсон Я действительно не понимаю, есть ли у вас файл, который был удален, пока он еще открыт . Пожалуйста, объясни. Пожалуйста, дайте мне знать, какой другой выход может быть жизнеспособным, чтобы вы могли мне помочь.
Субхрансу Мишра

Вы недавно удалили большие файлы? Как файлы журнала или что-то вроде этого?
Кшиштоф Адамски,

Ответы:


12

Лучший способ выяснить использование диска - использовать графическое программное обеспечение, например baobab:

Запустите это с sudo baobab /

введите описание изображения здесь


Будет ли это работать на удаленном сервере?
Субхрансу Мишра

@Subhransu Конечно, если вы подключаетесь с помощью X forwarding ( ssh -Xили ForwardX11 yesin ~/.ssh/config). Однако, если он не установлен, у вас может не хватить места для его установки и необходимого каталога.
Жиль "ТАК - перестань быть злым"

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

Легко установить на Debian или Ubuntu:

$ sudo apt-get install ncdu

Легко установить на CentOS от имени пользователя root:

# yum install ncdu

6

Debian предлагает утилиту под названием cruftIIRC, в которой перечислены файлы, которые могут быть не нужны в вашей системе.


Как это можно использовать?
Нилон

5

сделать новый файл в /binAndroidtreesize

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 кнопки «Затем», чтобы увидеть, не зависает ли процесс от инода, который, по вашему мнению, был удален. Если это так, перезапустите родительский процесс, чтобы освободить старый (удаленный) файл.


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 autoremoveиsudo 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 {} \;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.