问题描述
我无法运行更新管理器,因为我收到一条错误消息,指出 /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
大小,因此不会干扰正在运行的应用程序。