假设您有以下情况:三个分区,一个小的带有操作系统,还有几个较大的分区,假设所有分区都是 ext4:
/ - 10 GB size, 9 GB used, 1 GB free
/media/disk1 - 100 GB size, 40 GB used, 60 GB free
/media/disk2 - 100 GB size, 60 GB used, 40 GB free
因此,虽然根分区在空间上有点吃紧,但系统中通常还是有足够的可用空间。
假设您要执行一项操作(例如执行 apt-get upgrade),该操作需要大量临时空间来创建和删除大型文件。如果此过程需要 2GB 的磁盘空间,则运行它并仅依赖根分区上的 1GB 可用空间将导致该过程失败。
那么,是否有某种命令我可以使用,它基本上会告诉操作系统:“在紧急情况下,您可以使用系统上任何分区上最多 50% 的未使用可用空间”(显然,假设一旦导致紧急情况的调用进程退出,其他分区上的临时文件将被删除,因此原始状态将被恢复) - 即使根分区上的空间紧张,这也会使上述过程成功。我猜,这主要意味着文件夹/tmp
不仅会扩展到自己的分区,还会扩展到其他分区。
Ubuntu 中是否有类似的东西 - 或者在 GNU/Linux 系统下是否有可能?
答案1
好的,这里有一些东西 - 可以保留硬盘空间供 root 用户使用:
https://unix.stackexchange.com/questions/7950/reserved-space-for-root-on-a-filesystem-why
为重要的根部过程(以及可能的救援行动)节省空间是一个原因。
http://www.tldp.org/HOWTO/html_single/分区/
对于非专家来说,-m 选项可能是最常用的选项。如果文件系统已满,并且没有更多空间可写入,则它基本上无法使用,因为操作系统会不断写入磁盘。默认情况下,分区的 5% 保留给 root 用户使用。这允许 root 在分区上进行管理活动,并可能移走一些数据。但是,当分区包含 / 或主目录时,这一点最为关键。对于纯数据分区,这只是空间损失。
知道这个空间最终位于文件系统树的什么位置就好了……
不幸的是,这似乎是一个分区时的决定,因此显然没有命令可以在运行时从 shell 修改它?!