当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我的 /文件夹已满,我无法更新软件或执行任何操作。

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

$ 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 的新安装,我不确定根系统如何/为什么如此完整。

最佳思路

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

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 cheat sheet 的一部分

次佳思路

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

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

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

  • 时间

  • 变量

  • usr/local\nand 在你的情况下也是:

  • 网站

Caveat

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

apt-get install -f

说明

预留存储

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

输出显示你还有一些空间,但似乎是为 root 保留的。\n好点是你的系统功能目前仍然被赋予。

但是您应该尽快解决问题。

ubuntu 12.04的空间消耗

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

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

第三种思路

另一种解决方案是使用 ncdu ,例如:

sudo ncdu -x /

其中 /是您要检查的分区/驱动器。\n对于我的示例,结果是

    4,0GiB [##########] /usr
  579,3MiB [#         ] /root
  487,4MiB [#         ] /opt
   41,7MiB [          ] /lib
   22,7MiB [          ] /sbin
   21,2MiB [          ] /boot
   18,6MiB [          ] /etc
    9,1MiB [          ] /bin
    3,6MiB [          ]  core
  260,0KiB [          ] /build
   88,0KiB [          ] /tmp
e  16,0KiB [          ] /lost+found
    8,0KiB [          ] /media
    4,0KiB [          ] /lib64
e   4,0KiB [          ] /srv
e   4,0KiB [          ] /mnt
>   0,0  B [          ] /var
>   0,0  B [          ] /sys
>   0,0  B [          ] /run
>   0,0  B [          ] /proc
>   0,0  B [          ] /ovhbackup
>   0,0  B [          ] /home
>   0,0  B [          ] /dev

然后,您可以使用键盘箭头浏览文件夹,只需按 D 键即可删除文件夹/文件。

ncdu 可以从基于 Debian 的系统上的 apt 打包工具安装:

sudo apt install ncdu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13047.html,未经允许,请勿转载。