分析磁盘使用情况而忽略安装


67

Ubuntu抱怨我的根文件系统几乎已满,但是当我使用它baobab(又名“磁盘使用情况分析器”)时,du -h它还是总结了所有其他已挂载文件系统的使用情况。

如何排除在各个子目录中挂载的其他文件系统?

Answers:


72

baobab: 如果要使用baobab,可以通过将根文件系统挂载到其他位置并进行分析来实现。这样,其他文件系统将不会挂载在新的根挂载中,并且在其下的挂载隐藏的所有文件/都不会被发现并计入您的分析中。

假设您的根文件系统已打开sda1df将告诉您它是哪台设备):

mkdir root-rebound
sudo mount /dev/sda1 root-rebound
baobab root-rebound

然后整理一下:

sudo umount root-rebound
rmdir root-rebound

或者,您可以手动卸载所述文件系统。您也可以只扫描主文件夹,因为它很可能包含过多的磁盘空间使用情况。

du有两个选项可以防止对其他文件系统进行计数:

 -x, --one-file-system
         skip directories on different file systems
     --exclude=PATTERN
         exclude files that match PATTERN

从而,

du -hx

会忽略所有其他已挂载的文件系统,或者

du -h --exclude /media

将忽略/media安装了大多数文件系统的所有文件。

如果您使用du,则排序以使最大的内容出现在列表的底部可以帮助解密输出。例如:

du -hx | sort -h

2
太酷了,我没有看到-x选项。我还发现了另一种方法:您可以在某个位置再次挂载文件系统,然后使用du或baobab对其进行分析。另外,我觉得这样做很有用du -hx | sort -h,尽管猴面包树更容易解释。
drevicko 2012年

@ Cumulos007-如果您觉得很满意,我将在您的答案中添加我的解决方案和建议并接受它
drevicko 2012年

那个我能接受!
Cumulus007

1
@wim不,GUI版本似乎无法使用du的-x选项。不过,将根文件系统挂载到其他地方也可以工作-这就是我
最近

1
du -kx | sort -n是我的方式
Alejandro TeixeiraMuñoz'18

6

根据文件系统的类型,可能不允许您将根文件系统安装在的安装点下/。您将获得类似于以下内容的信息:

mount: /dev/sda1 already mounted or /mnt busy
mount: according to mtab, /dev/sda1 is mounted on /

挂载只读(-o ro)可能会有所帮助。如果失败,请使用绑定安装:

mount --bind / /mnt

安装后,使用任何工具分析磁盘使用情况,即 du -sh * | sort -h


3

错误报告说明了如何配置baobab以忽略目录。不幸的是,您不能在应用程序内部执行此操作,但是必须使用dconf-editor并打开org.gnome.baobab.preferences。在这里您会找到一个项目excluded-uris;更改为['file:///path/to/ignore'](为我使用单引号)。


这并不能真正回答问题,但是它是有用的信息,寻求此类信息的人可能会在这里结束,所以我要投票(:
drevicko 2015年

它回答了有关如何在不重新安装根分区的情况下忽略baobab中的安装的问题(通过排除安装点)。问题(du)的另一半已在接受的帖子中回答。
geira 2015年

2

Baobab尝试让您控制扫描的设备/分区-转到Edit->Preferences。通常,您只想在Mount Point扫描设备/。但是,这无法识别所有类型的链接/安装/绑定,因此,如果您的配置不重要,最终猴面包树仍然可能产生令人困惑的结果。


对于du,以下调用的shell函数dutop将显示指定文件夹(或当前文件夹)的顶层。这样,您可以一次探测一个子文件夹。

function dutop() { du --max-depth=1 --one-file-system -h $@ |sort -h; }

如果将其应用于/,这可能会报告无关紧要的“权限被拒绝”错误,但是您可以通过以下方式解决这些错误,该问题将要求您输入密码(如果您最近未提供密码)。

function sudutop() { sudo du --max-depth=1 --one-file-system -h $@ |sort -h; }

对于大文件夹,这些可能需要一段时间。他们不会报告任何增量状态,因为排序操作正在缓冲所有中间结果。如果您厌倦了等待,最好使用Ctrl-C中止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.