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


filesystem – /tmp 上没有足够的空间

, ,

问题描述

我无法运行更新管理器,因为我收到一条错误消息,指出 /tmp 目录中没有足够的可用空间。我实际上已经清除了 tmp 目录,但错误仍然存​​在。

这是 df-h

/dev/loop0       13G   11G  952M  92% /
udev            2.0G  4.0K  2.0G   1% /dev
tmpfs           785M  920K  784M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G  584K  2.0G   1% /run/shm
/dev/sda6        20G   14G  6.4G  68% /host

overflow        1.0M   16K 1008K   2% /tmp

最佳办法

似乎发生了什么:

您的 / 已满,然后 Ubuntu 在 RAM 内存中创建了一个新分区以临时使用。

现在,这个 1MB 的分区对于这项工作来说也不够大。

我们可以做什么:

1)增加这个分区的大小只是为了升级

2)实际上删除HD中不再需要该分区的足够文件。


要做1:

打开终端并运行

sudo umount /tmp
sudo mount -t tmpfs -o size=1048576,mode=1777 overflow /tmp

这应该给你一个 1MB 的分区(就像你拥有的那个 =P)。

现在,要增加大小,请增加该行中的 size ,这样,使用 size=10485760 ,您将获得 10 MB。

你的目标是找到一个足够完成工作的数字,但也留下足够的内存

评论 1

您可能想尝试 sudo umount -l /tmp ,如果您得到“文件系统正忙且无法卸载”的一些变化

“文件系统繁忙(…)”的另一种可能解决方案是执行 fuser -m /tmp 以查找使用 /tmp 的 pid(进程号),然后是 ps -elf <pids> ,停止或终止进程

您可能想尝试 sudo mount -t tmpfs -o size=1MB,mode=1777 overflow /tmp 或什至 sudo mount -t tmpfs -o size=1G,mode=1777 overflow /tmp(分别为 1 兆字节或 1 千兆字节) – 也就是说,单位可用,因此您不必输入大量数字


要做2:

打开终端并运行 sudo umount /tmp ,如果失败,则运行 sudo umount -l /tmp

然后清理!

删除 /tmp 中的文件(现在 /tmp 实际上是你的 HD 中的东西,而不是虚拟 ram 磁盘),卸载未使用的包,删除你的主文件夹中的文件等等。

次佳办法

我在 Kubuntu 16.04 上知道这个问题,user63070 给出了最佳答案。像这样更改 /etc/fstab 的大小:

tmpfs     /tmp     tmpfs     defaults,size=10G,mode=1777     0     0

重新启动,您的 /tmp 文件夹就有了 10GB。

第三种办法

sudo mount -o remount,size=1048576 /tmp

无需卸载分区即可更改 tmpfs 大小,因此不会干扰正在运行的应用程序。

参考资料

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