如何清理硬盘?


11

不久前,我只使用了35%的HD。就在最近,它猛增了54%,而我的磁盘空间是16gb,因此已经超过了3gig。

从我记得我无法构建mysql的情况来看,我安装了gitolite,它要求我从具有大量依赖关系的源代码构建git(我认为这是用于构建文档,我认为我看到了Latex和其他软件包,但是当我睡着时我很困正在安装)。我怀疑这就是占用磁盘空间的原因。

无论如何,到目前为止,我删除了我知道的源文件夹并运行了这些命令。我还可以做些什么?(3gigs非常强大)

sudo apt-get autoclean
sudo deborphan | xargs sudo apt-get -y remove --purge

完成上述操作后,我做了ncdu,发现

  1. Git本身实际上在``/ usr / local / libexec / git-core''中的152个文件中使用了502mb。谁知道。我感到奇怪的是,其中大多数文件每个都是4.6mb ...

  2. MySql在/ tmp文件夹中占用了1 + gb

  3. 我不小心制作了我的mono src文件夹的副本,该文件夹具有两个版本的mono,在一起的大小为1.7gb。

删除src的副本和一个额外的mono版本(总共2.6gb)+我的temp文件夹df中的mysql现在报告为28%而不是54%,这使我感觉好多了。

我仍然对git使用502mb感到惊讶。在Windows上,它使用57mb(大约10xless)。等效文件夹(C:\ Program Files(x86)\ Git \ libexec \ git-core)将所有这些应用程序用作git的快捷方式。git仅为1.2mb(不是4.6)。我也检查了linux git-core文件夹是否都是链接,我知道他们没有软链接(我使用cmd find . -maxdepth 1 -type l -print0 | xargs -0 ls -ld),我尝试了stat git,stat git-add并看到它们具有相同的innode。因此,大多数这些文件都是git的硬链接(我认为是)。所以git实际上并不会占用那么多空间。


@贾斯珀·洛伊(Jasper Loy):我可以,但是我只能通过sh进入机器。

Answers:


7

我最喜欢的两个发现和可视化文件系统膨胀的工具是gdmap和fslint。从apt-cache总结:

apt-cache show gdmap
apt-cache show fslint

gdmap:“ GdMap是一种可以可视化磁盘空间的工具。曾经想知道为什么硬盘已满,或者哪个目录和文件占据了大部分空间吗?使用GdMap,这些问题可以很快得到回答。要显示目录结构,可以缓冲树形图可以用一张图片显示整个文件夹甚至整个硬盘。”

fslint:“具有用于卸载软件包的界面,它可以找到类似的内容:。

- Duplicate files
- Problematic filenames
- Temporary files
- Bad symlinks
- Empty directories
- Nonstripped binaries"

好的,这是一个基于ncurses的代码,如果需要,它将打印哈希标记以显示相对大小:

ncdu
Description: ncurses disk usage viewer
    Ncdu is a ncurses-based du viewer. It provides a fast and easy-to-use interface through famous du utility. It allows to browse through the directories and show
    percentages of disk usage with ncurses library.

我的系统存储库中还有另外两个基于文本的应用程序,它们涉及更多:

gt5
durep

apt-get install fslint让我是fslint-gui,而不是fslint。这两个都需要gui,而我只能通过shell访问该框。您还有其他建议吗?

fslint实际上是fslint命令行工具的gui前端。在我的系统上,这些文件位于/ usr / share / fslint / fslint /中。听起来gdmap需要一个curses或ascii-art-ified前端。:)有一些脚本说明仅在其中使用'du -sh *'。我使用du -sh之类的东西| grep [0-9] [MG]作为快捷方式。
belacqua 2011年

我在原始答案中添加了对ncdu的描述。
belacqua 2011年

2

...无法建立mysql,[..]无法建立git和依存关系...

您在哪里运行的?在您的主目录中使用make?删除涉及的目录。

如果使用apt-get(或使用apt的synaptic)安装软件包,则可在/ var / log / apt中找到历史记录。您可以使用less以下命令在终端中查看:

less /var/log/apt/history.log

如果看到类似的条目history.log.1.gz,则必须使用,zless因为文件已压缩:

zless /var/log/apt/history.log.1.gz

另一个大的吞噬者是缓存,尤其是apt。您可以通过运行来检查apt使用的磁盘空间du -msh /var/cache/apt/archives。如果您重新安装程序,将使用这些文件,并且可以安全地将其删除:

sudo apt-get clean

Ubuntu文档在磁盘空间上有一个(更完整的)页面,可以在https://help.ubuntu.com/community/RecoverLostDiskSpace上找到该页面。


没有历史,只有term.log。我看到很多texlive。我看到libboost-regex1.34.1,很多-perl,这个文件大约有400行。日志从我昨天开始安装gitolite时开始。那就是很多软件包...也许我现在应该卸载libs,因为我不再需要它们了?无论如何,我想对日志文件做什么?我没有看到我从中安装的目录。

中的日志文件/var/log/apt/仅包含使用中软件包的更改apt-get。有关dpkg,请参见/var/log/dpkg.log(此文件更难阅读)。可以使用删除应用程序未使用的库sudo apt-get autoremove。哦,我忘记了节省磁盘空间的另一件重要事情。
Lekensteyn 2011年

添加了sudo apt-get clean东西。
Lekensteyn 2011年


2

kdirstat还可很好地弄清您所有硬盘空间的去向并进行清理。

$ apt-cache search kdirstat
kdirstat - graphical disk usage display with cleanup facilities

注意,kdirstat是一个KDE应用程序,它将安装KDE库,而gdmap(在另一个答案中)则不会。

您也可以看看猴面包树。猴面包树的目标是要相似,但不如kdirstat或gdmap好。猴面包树似乎是标准gnome-utils的一部分...

$ apt-cache search baobab
gnome-utils - GNOME desktop utilities

猴面包树不会去除任何东西。它仅以图形方式显示哪些文件夹正在使用大部分磁盘空间。
papukaija 2011年

0

从所有的角度来看,我都尝试过提供真实空间的唯一方法是

apt-get remove --auto-remove  --purge  packagename

当我运行apt-get remove --purge软件包apt-get时,我安装的数据包大小为32MB,当我添加--auto-remove所有依赖项时,将显示3.5MB的空间会被删除,并且会获得更多的空间。另外,如果仍然没有删除KDE的痕迹,则可以使用此命令将其删除

 apt-get remove kdelibs-bin kdelibs5-data 

如果您不需要最后一个日志文件,则可以将其删除。

cat /dev/null >  /var/log/auth.log  

rm /var/cache/apt/archives/*
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.