/usr 目录已满,如何清理?

/usr 目录已满,如何清理?

所以我的 /usr 目录已满

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg00-lv_usr  5.8G  5.0G  543M  91% /usr

当我进入 /user 时,我发现文件大于分区允许的大小。/usr 的大小只有 5.8G,但目录却有 8.3G 大小。这怎么可能?我该如何清理它?我没有故意将任何文件放在这个位置。所有个人帐户都位于 /home/

储存空间

[root@ridl001 usr]# pwd
/usr
[root@ridl001 usr]# du -sh *
246M    bin
4.0K    etc
4.0K    games
40M     include
492M    java
956K    kerberos
560M    lib
1.6G    lib64
65M     libexec
475M    local
16K     lost+found
24K     man
67M     NX
8.3G    openv
49M     sbin
1.8G    share
191M    src
0       tmp

“mount”命令输出:

/dev/mapper/vg00-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg00-lv_home on /home type ext4 (rw)
/dev/mapper/vg00-lv_opt on /opt type ext4 (rw)
/dev/mapper/vg00-lv_tmp on /tmp type ext4 (rw)
/dev/mapper/vg00-lv_usr on /usr type ext4 (rw)
/dev/mapper/vg00-lv_usr_local on /usr/local type ext4 (rw)
/dev/mapper/vg00-lv_usr_openv on /usr/openv type ext4 (rw)
/dev/mapper/vg00-lv_var on /var type ext4 (rw)
/dev/mapper/vg00-lv_crash on /var/crash type ext4 (rw)
/dev/mapper/vg_data-lv_data1 on /data1 type ext4 (rw)
/dev/mapper/vg_data-lv_data2 on /data2 type ext4 (rw)
/dev/mapper/vg_data-lv_data3 on /data3 type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
rnunsis01.nut.roche.com:/ifs/data/FMIX0117 on /var/sequsupport type nfs (rw,soft,bg,addr=151.120.13.21)
nodev on /sys/kernel/debug type debugfs (rw)

按大小列出的文件列表

此命令在 /usr 内执行时,会出现一堆权限被拒绝的情况,然后会出现一个大于 usr 目录的文件列表。

du -ah . | grep -v "/$" | sort -rh | head -n 40
14G     .
8.3G    ./openv
3.2G    ./openv/netbackup
2.3G    ./openv/netbackup/client/Linux
2.3G    ./openv/netbackup/client
2.1G    ./openv/pack
1.8G    ./share
1.8G    ./openv/pack/NB_CLT_7.7.3/save/NB_CLT_7.7.3Linux.122717_141252.tar.gz
1.8G    ./openv/pack/NB_CLT_7.7.3/save
1.8G    ./openv/pack/NB_CLT_7.7.3
1.8G    ./openv/pack.7.6.0.4/NB_CLT_7.6.0.4/save/NB_CLT_7.6.0.4Linux.012816_081208.tar.gz
1.8G    ./openv/pack.7.6.0.4/NB_CLT_7.6.0.4/save
1.8G    ./openv/pack.7.6.0.4/NB_CLT_7.6.0.4
1.8G    ./openv/pack.7.6.0.4
1.6G    ./lib64
756M    ./openv/netbackup/bin
661M    ./openv/netbackup/client/Linux/Debian2.6.18
634M    ./openv/netbackup/client/Linux/RedHat2.6.18
560M    ./lib
558M    ./openv/netbackup/client/Linux/SuSE3.0.76
515M    ./openv/java
500M    ./openv/lib
492M    ./java
475M    ./local
387M    ./openv/netbackup/client/Linux/RedHat2.6.18/VRTSnbjava.rpm
386M    ./openv/netbackup/client/Linux/Debian2.6.18/NB-Java.tar.gz
381M    ./openv/netbackup/client/Linux/SuSE3.0.76/VRTSnbjava.rpm
338M    ./lib64/libreoffice
302M    ./lib64/firefox
286M    ./openv/pack/NB_7.7.3/save/NB_7.7.3.122717_141252.tar.gz
286M    ./openv/pack/NB_7.7.3/save
286M    ./openv/pack/NB_7.7.3
285M    ./java/jdk1.7.0_67-cloudera
279M    ./share/icons
270M    ./share/locale
250M    ./share/doc
246M    ./bin
238M    ./lib64/libreoffice/program
222M    ./lib/jvm
219M    ./openv/java/vrts/nbvsm_l10n

答案1

首先,/usr/local/usr/openv是从与其余部分不同的源设备挂载的/usr,来自 mount 中的以下几行(带有少量空格格式):

/dev/mapper/vg00-lv_usr       on /usr       type ext4 (rw)
/dev/mapper/vg00-lv_usr_local on /usr/local type ext4 (rw)
/dev/mapper/vg00-lv_usr_openv on /usr/openv type ext4 (rw)

一般而言,如果您仍想从 释放一些空间/usr,那么看起来您只需要删除一些软件包/软件。我的 Debian 保留了 80% 以上的文件/usr(不包括/home)。

如果您使用基于 Debian 的操作系统并发现一个特别大的文件,则可以使用此命令查看该文件属于哪个包:

dpkg -S [/usr/path/file]

其他发行版应该具有类似的搜索能力,但我会搜索网络或操作系统的帮助来找到它。

答案2

除了 Xen2050s 的好答案之外,您还可以做更多。

首先,您可以使用-x的参数du停留在一个文件系统上。运行du -hsx /usr 将显示该卷上实际安装的卷数,而不显示其下方安装的卷。

其次,您正在使用 LVM,可以调整逻辑卷的大小以重新平衡可用空间。您没有共享其余部分df,所以我只能给您一些想法。检查所有逻辑卷上的空间。例如,您有一个逻辑卷/opt,只要您不在那里安装第三方应用程序,它通常不需要太多空间。如果您那里有很多可用空间,并且预计将来不需要更多空间,您可以将可用空间移动到逻辑卷/usr

  1. 从救援媒体启动(您无法在实时系统上执行此操作)
  2. 备份你的系统!
  3. 调整文件系统大小/dev/mapper/vg00-lv_optresize2fs释放所需的空间
  4. 运行lvreduce/dev/mapper/vg00-lv_opt
  5. 运行lvextend/dev/mapper/vg00-lv_usr
  6. /dev/mapper/vg00-lv_usr使用以下方式扩展文件系统resize2fs
  7. 重新启动进入系统

您现在应该有足够的可用空间/usr

相关内容