Як очистити непотрібні файли


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.

ОНОВЛЕННЯ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 всередині нього, щоб заглибитись.
Кшиштоф Адамський

@KrzysztofAdamski Дякую за швидку відповідь. Я оновив питання з результатамиcd /; du -sxh *
Subhransu Mishra

@Subhransu На основі того, що ви бачите, схоже, у вас є файл, який було видалено під час відкриття.
Карлсон

@Karlson Я дійсно не розумію, чи є у вас файл, який було видалено ще відкритим . Будь ласка, поясніть. Будь ласка, дайте мені знати, які інші результати можуть бути життєздатними, щоб ви могли мені допомогти.
Subhransu Mishra

Ви нещодавно видалили великі файли? Як файли журналів чи щось подібне?
Кшиштоф Адамський

Відповіді:


12

Найкращий спосіб з'ясувати споживання диска - це використання графічного програмного забезпечення, наприклад baobab:

Запустіть його sudo baobab /

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


Чи буде він працювати на віддаленому сервері?
Subhransu Mishra

@Subhransu Звичайно, якщо ви підключаєтеся з пересилкою X ( ssh -Xабо ForwardX11 yesв ~/.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

створити новий файл у /bincalltreesize

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

Якщо вам потрібен довший вихід, просто змініть номер після команди хвоста.
Будь ласка, опублікуйте вихід із:

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.