如何释放 /usr 中的一些空间

如何释放 /usr 中的一些空间

如何释放 /usr 中的一些空间。我无法安装新应用程序,因为 /usr 占用了 100% 的可用空间

root@debian:/home/midhun# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            4.0G     0  4.0G   0% /dev
tmpfs           807M  9.4M  798M   2% /run
/dev/sda11       91G   11G   76G  12% /
/dev/sda13      9.2G  9.1G     0 100% /usr
tmpfs           4.0G   29M  4.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           4.0G     0  4.0G   0% /sys/fs/cgroup
/dev/sda15      9.2G   37M  8.6G   1% /tmp
/dev/sda16      9.2G  869M  7.8G  10% /usr/local
/dev/sda12       19G   18G   32M 100% /home
/dev/sda14      9.2G  4.6G  4.1G  53% /var
/dev/sda18      7.3G   34M  6.9G   1% /srv
/dev/sda19       15G   73M   14G   1% /boot
/dev/sda17      9.2G  1.2G  7.5G  14% /opt
tmpfs           807M   16K  807M   1% /run/user/115
tmpfs           807M   28K  807M   1% /run/user/1000

答案1

您将磁盘空间划分为分区的方式似乎是任意的,而且同样不是最佳的,我不太清楚您为什么这样做,但我们不讨论这个。

我注意到你的根分区

root@debian:/home/midhun# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda11       91G   11G   76G  12% /

有大量可用空间,但/usr空间已完全耗尽。

这是我完成这项任务的方法 - 你会从 Live CD/USB 闪存启动以执行以下操作:

  1. 删除或注释掉该/usr条目/etc/fstab
  2. umount /usr/local(万一)
  3. cp -a --preserve=all /usr /usr-new
  4. umount /usr
  5. rmdir /usr
  6. mv /usr-new /usr

或者,您可以运行sudo du -x /usr | sort -n | tail -30并查看哪些目录占用最多空间。

然后使用sudo dpkg-query -S /path找出它们属于哪些包并通过 删除它们sudo apt remove packagename

答案2

您已经通过将可用磁盘/分区 (/dev/sda16) 安装到/usr/local.您可以对其他“大”目录执行相同的操作,但请确保您了解其后果,因为它会增加复杂性并可能使系统处于受阻状态。

答案3

首先运行它来确定系统上最大的目录是什么

sudo du -k / | sort -n|tail -222

然后 rm在 /home 中给出有问题的目录

您可能只想直接使用

sudo du -k /home | sort -n|tail -222
sudo du -k /usr  | sort -n|tail -222

这将显示大包

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

如果您看到最近安装的一些和/或知道您没有使用它们,则可以将其删除

另一个角度是通过发出来查看最近安装的软件包

grep " install " /var/log/dpkg.log

看看其中是否有任何是可选的并且可以删除

避免直接删除 /usr 中的任何内容,因为其中包含关键的系统工具,删除这些工具可能会损坏系统。相反,识别可选包,然后使用普通命令删除这些候选包。

sudo apt remove  unused-big-package    
sudo apt purge   unused-big-package # this also removes its configs

相关内容