Cara membersihkan file yang tidak perlu


19

Tolong sarankan saya file tertentu yang tidak perlu yang dapat saya bersihkan untuk mengembalikan semuanya ke kondisi normal (sementara). (Yaitu log atau arsip atau apa pun). Var / log saya hanya memiliki 40MB dan direktori Home memiliki ruang 3GB (jadi saya percaya itu bukan masalah). Selain itu apa yang bisa saya bersihkan membuat ruang.

[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

Saya di mesin debian.

UPDATE1:

output dari 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

Pembaruan2

Output dari 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
Tidak ada jawaban universal di sini. Jalankan berikut perintah sebagai root, menunggu untuk sementara waktu dan paste hasil Anda: cd /; du -sxh *. Ini akan meringkas ukuran semua direktori utama di server Anda. Kemudian, kita akan memiliki petunjuk. Anda juga dapat memasukkan direktori besar ini dengan cd dan menjalankan perintah du di dalamnya untuk mendapatkan lebih dalam.
Krzysztof Adamski

@KrzysztofAdamski Terima kasih atas balasan cepat. Saya telah memperbarui pertanyaan dengan outputcd /; du -sxh *
Subhransu Mishra

@ Subhransu Berdasarkan apa yang Anda lihat, tampak seolah-olah Anda memiliki file yang telah dihapus saat masih terbuka.
Karlson

@ Karlson Saya benar-benar tidak mengerti jika Anda memiliki file yang telah dihapus saat masih terbuka . Tolong jelaskan. Tolong beri tahu saya apa output lain yang layak sehingga Anda dapat membantu saya.
Subhransu Mishra

Apakah Anda menghapus file besar baru-baru ini? Suka file log atau sesuatu seperti ini?
Krzysztof Adamski

Jawaban:


12

Cara terbaik untuk mengetahui penggunaan disk adalah dengan menggunakan perangkat lunak grafis seperti baobab:

Luncurkan dengan sudo baobab /

masukkan deskripsi gambar di sini


Apakah akan berfungsi di server jauh?
Subhransu Mishra

@ Subhransu Tentu, jika Anda terhubung dengan penerusan X ( ssh -Xatau ForwardX11 yesdalam ~/.ssh/config). Namun, jika tidak diinstal Anda mungkin tidak memiliki cukup ruang untuk menginstalnya dan direktori yang diperlukan.
Gilles 'SO- stop being evil'

1
Lihat jawaban saya di bawah ini untuk alat grafis yang tidak memerlukan server X dan membutuhkan ruang server yang sangat sedikit.
dotancohen

34

jawaban daisy untuk menggunakan alat grafis untuk secara visual menemukan file dan direktori besar mungkin merupakan metode terbaik. Namun, harap dicatat bahwa "alat grafis" tidak berarti "memerlukan server X"! Program luar biasa ncduini menyediakan output grafis di CLI, dan berfungsi dengan baik pada server jarak jauh melalui 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

Kemudian, setelah memasukkan /var/misalnya:

. 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

Instal dengan mudah di Debian atau Ubuntu:

$ sudo apt-get install ncdu

Instal dengan mudah di CentOS sebagai root:

# yum install ncdu

6

Debian menawarkan utilitas bernama cruftIIRC yang mencantumkan file yang mungkin tidak dibutuhkan di sistem Anda.


Bagaimana itu bisa digunakan?
nilon

5

buat file baru di /binpanggiltreesize

chmod +x /bin/treesize

rekatkan ini di dalamnya.

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

Outputnya terlihat seperti ini.

#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

Anda dapat memeriksa file yang dihapus dengan lsof | grep -i deleted Kemudian Anda dapat melihat apakah suatu proses bergantung pada inode yang Anda pikir telah dihapus. Jika demikian, mulai ulang proses induk untuk melepaskan file lama (yang dihapus).


3

Ini akan memberi Anda file terbesar di FS Anda dan mungkin Anda akan menemukan ada beberapa file yang dapat dihapus.

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

Jika Anda membutuhkan keluaran yang lebih lama, cukup ubah angka setelah perintah ekor.
Silakan posting output dari:

df -h /
du -shx /

Kedua perintah harus menunjukkan ruang yang digunakan serupa pada FS Anda.


1

Saya telah menemukan beberapa perintah yang sangat berguna pada posting ini di Askubuntu.com . Parafrase:

  • Tampilkan 10 subdir terbesar di dir saat ini: du -sk * | sort -nr | head -10
  • Gunakan filelight / kDirStat / baobab untuk melihat di mana ruang disk akan secara visual
  • Periksa apakah Anda memiliki kernel lama untuk dihapus: ls -lh /boot
  • Paket bersih: sudo apt-get autoremovedansudo apt-get autoclean
  • Lihat daftar semua paket yang diinstal, diurutkan berdasarkan ukuran: dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
  • Bersihkan file bahasa yang tidak digunakan dengan terjemahan: sudo apt-get install localepurge
  • Periksa konten dari / var / tmp /: du -sh /var/tmp/
  • Periksa juga man deborphan
  • Cari file besar: find / -type f -size +1024kataufind / -size +50000 -exec ls -lahg {} \;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.