当我的根文件系统已满时我该怎么办?

我的/文件夹读作已满,我无法更新软件或做任何事情。

不知道我在这里做错了什么。

$ df -h Results: Filesystem Size Used Avail Use% Mounted on /dev/sda1 5.7G 5.4G 0 100% / udev 1.9G 4.0K 1.9G 1% /dev tmpfs 770M 1.1M 769M 1% /run none 5.0M 0 5.0M 0% /run/lock none 1.9G 808K 1.9G 1% /run/shm /dev/sda6 961M 18M 895M 2% /tmp /dev/sda7 9.9G 2.9G 6.6G 31% /home /dev/sda3 5.7G 140M 5.3G 3% /usr/local /dev/sda4 2.9G 1.3G 1.4G 49% /var /dev/sdb1 94G 1.3G 88G 2% /sites /home/username/.Private 9.9G 2.9G 6.6G 31% /home/username /dev/sdb5 282G 88G 180G 33% /mnt/multimedia $ df -h / Results: Filesystem Size Used Avail Use% Mounted on /dev/sda1 5.7G 5.4G 0 100% / $ du /mnt /media Results: 4 /mnt/multimedia 8 /mnt 4 /media 

这是Ubuntu 12.04的新安装,我不确定root系统是如何/为什么这么完整。

溢出分区的一些可能措施是(基于案例):

1.核心转储填满磁盘。

检查:

 find / -xdev -name core -ls -o -path "/lib*" -prune 

2.填补空间的不必要的包裹。

以下命令将删除所有自动安装的软件包,这些软件包不再需要。 (因为过去强制安装的依赖性已被删除。)

 apt-get autoremove --purge 

3.过时的内核包

检查安装了多少内核包,并删除过时的内核版本。 您可以通过以下方式调查当前情况:

 dpkg -l "linux*{tools}*" |grep ^.i 

删除不再需要的任何内核版本

4.隐藏存储

其他安装的分区可能隐藏使用的存储 要调查此挂载根文件系统临时在第二个位置:

 mkdir /tmp/2ndRoot mount /dev/sda1 /tmp/2ndRoot 

现在查看每个目录,通常由另一个挂载隐藏,例如:

  • TMP
  • VAR
  • USR /本地

    在你的情况下也:

  • 网站

警告

不要忘记最终控制安装的一致性:

 apt-get install -f 

笔记

预留存储

 /dev/sda1 5.7G 5.4G 0 100% / 

输出显示您仍有一些空间,但它似乎是为root保留的。 好的一点是,目前仍然提供您的系统function。

但你应该尽快解决问题。

ubuntu 12.04的空间消耗

对于ubuntu安装只有5.7 Gb似乎有点太少了。 您应该删除一些不必要的软件包。

我当前安装的根和二进制(又名/usr )分区有10-14 Gb。

只是为了分享一个神奇的命令来知道所有磁盘空间的去向:

 sudo du -hsx /* | sort -rh | head -n 40 

你得到一个非常整洁的报告,如下所示:

 16G /home 5.3G /var 2.6G /usr 840M /run 277M /root 171M /lib 59M /tmp 25M /sbin 19M /boot 16M /bin 9.6M /etc 136K /ngx_pagespeed-latest-stable.zip 24K /DEBIAN 16K /lost+found 8.0K /media 4.0K /srv 4.0K /opt 4.0K /mnt 4.0K /lib64 

然后你可以从另一个文件夹重新开始:

 sudo du -hsx /home/* | sort -rh | head -n 35 

删除不必要的东西,你应该没事。 这是我的linux 备忘单的一部分