当我的根文件系统已满时我该怎么办?
我的/文件夹读作已满,我无法更新软件或做任何事情。
不知道我在这里做错了什么。
$ 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 备忘单的一部分