Gparted 说磁盘已满,但事实并非如此

Lyn*_*nob 6 filesystems partition arch-linux lvm disk-usage

我在 Manjaro 上,今天我醒来发现我的电脑由于磁盘已满而出现问题。我删除了很多东西,但这并没有解决问题。我不知道发生了什么。有没有办法快速重新分区?因为我手头没有 Gparted live CD。

这是完整的分区:
在此处输入图片说明

但文件系统未满:
在此处输入图片说明

这是df -ah(省略了虚拟文件系统)的输出

Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ManjaroVG-ManjaroRoot   29G   29G     0 100% /
/dev/sda1                          247M   56M  179M  24% /boot
/dev/mapper/ManjaroVG-ManjaroHome  550G  296G  227G  57% /home
Run Code Online (Sandbox Code Playgroud)

这是df -i相同分区的输出:~/Desktop

Filesystem                          Inodes  IUsed    IFree IUse% Mounted on
/dev/mapper/ManjaroVG-ManjaroRoot  1921360 441275  1480085   23% /
/dev/sda1                            65280    368    64912    1% /boot
/dev/mapper/ManjaroVG-ManjaroHome 36626432 320911 36305521    1% /home
Run Code Online (Sandbox Code Playgroud)

由于我的分区已满,mysql 无法启动

这是输出lsblk

NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                         8:0    0 596.2G  0 disk 
??sda1                      8:1    0   255M  0 part /boot
??sda2                      8:2    0 595.9G  0 part 
  ??ManjaroVG-ManjaroRoot 254:0    0  29.3G  0 lvm  /
  ??ManjaroVG-ManjaroHome 254:1    0 558.9G  0 lvm  /home
  ??ManjaroVG-ManjaroSwap 254:2    0   7.8G  0 lvm  [SWAP]
sr0                        11:0    1  1024M  0 rom  
Run Code Online (Sandbox Code Playgroud)

这是du -shx /*(修剪无关条目)的输出

54M /boot
3.2G    /data
19M /etc
296G    /home
4.0K    /media
4.0K    /mnt
1.1G    /opt
79M /root
1.1M    /run
16K /srv
28K /tmp
7.6G    /usr
14G /var
Run Code Online (Sandbox Code Playgroud)

深入到 `/var/ 显示大磁盘空间用户是:

9.0G    /var/cache 
4.8G    /var/lib 
Run Code Online (Sandbox Code Playgroud)

cas*_*sey 8

你的分区/dev/sda2显示为“全”,因为它完全是分配给LVM,这是你的管理//home分区。我们不需要直接查看/dev/sda2结果,而是查看您的 LVM 配置。我们可以从你的lsblk输出中看到:

??sda2                      8:2    0 595.9G  0 part 
  ??ManjaroVG-ManjaroRoot 254:0    0  29.3G  0 lvm  /
  ??ManjaroVG-ManjaroHome 254:1    0 558.9G  0 lvm  /home
  ??ManjaroVG-ManjaroSwap 254:2    0   7.8G  0 lvm  [SWAP] 
Run Code Online (Sandbox Code Playgroud)

很可能您的整个 LVM 都分配给了ManjaroRoot,ManjaroHomeManjaroSwap。这意味着如果不首先添加新的 LVM PV 或缩小现有的 LVM LV(不是一项简单的任务),就不能增加分区。然而,这些选择是治疗症状而不是问题。

您的问题是/设备/dev/mapper/ManjaroVG-ManjaroRoot已满。您的/home分区未满,与您的问题无关。

我们可以从您的du输出中看到,最大的磁盘使用量/是:

3.2G    /data
1.1G    /opt
7.6G    /usr
14G     /var
Run Code Online (Sandbox Code Playgroud)

/data, /optand的用法/usr看起来很合理,但异常值/var是使用了大量空间。

您在聊天中提供的一些更新信息表明,这不是我怀疑的日志问题,而是包缓存的包缓存问题pacman。您可以使用以下命令从缓存中清除旧文件:

pacman -Sc 
Run Code Online (Sandbox Code Playgroud)

您可以在 Arch wiki 上阅读有关清理包缓存的更多信息。


Rui*_*iro 5

你的 / 已满。可能是 /var/log 失控,消息/系统日志中的 ssh 探测,或 mysql 错误,以及 /var/log/mysql 中的大量日志。

最好的方法是找到有问题的文件,了解导致错误的原因,然后将其删除。

然后,如果理解错误,首先尝试修复导致它们的原因。