为什么看起来有很多可用空间,但却出现“设备上没有剩余空间”的信息?

为什么看起来有很多可用空间,但却出现“设备上没有剩余空间”的信息?

我正在尝试安装 RASA Core,但是在运行命令时:

pip install -r requirements.txt

我收到以下错误:

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 620, in _prepare_file
    session=self.session, hashes=hashes)
  File "/usr/lib/python2.7/site-packages/pip/download.py", line 821, in unpack_url
    hashes=hashes
  File "/usr/lib/python2.7/site-packages/pip/download.py", line 663, in unpack_http_url
    unpack_file(from_path, location, content_type, link)
  File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 599, in unpack_file
    flatten=not filename.endswith('.whl')
  File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 501, in unzip_file
    fp.write(data)
IOError: [Errno 28] No space left on device

有趣的是我的虚拟机有空间。

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 485M     0  485M   0% /dev
tmpfs                    497M  4.0K  497M   1% /dev/shm
tmpfs                    497M  660K  496M   1% /run
tmpfs                    497M     0  497M   0% /sys/fs/cgroup
/dev/mapper/fedora-root   39G  8.2G   31G  22% /
tmpfs                    497M   45M  452M   9% /tmp
/dev/sda1                477M  125M  323M  28% /boot
/dev/mapper/fedora-home   19G 1006M   18G   6% /home
tmpfs                    100M     0  100M   0% /run/user/0

任何帮助或建议都将不胜感激。最后一件事..我正尝试安装在目录中:

/vas/projects/rasa/rasa_core

并使用以下命令

df -h /vas/projects/rasa/rasa_core/

我得到:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/fedora-root   39G  8.2G   31G  22% /

再次感谢大家。

答案1

我注意到你的/tmp文件系统相当小:

tmpfs                    497M   45M  452M   9% /tmp

pip 尝试解压文件时出现错误。我猜是它尝试将该文件解压到临时位置,然后打算将其移动到该位置 — 而且它大于 ~450MB。

默认情况下,/tmp内存文件系统配置为 RAM 的一半。假设这是问题所在,您有三个选择:

  1. 如果你配置了足够的交换空间,请增加默认值。(tmpfs 是可交换的,因此多余的空间将使用你的交换文件。)有关此内容的说明 [来自此处unix-SE 问题)。
  2. 禁用/tmp挂载,这样它就只是文件系统上具有足够空间的/tmp目录。使用 执行此操作。/systemctl mask tmp.mount
  3. 将目录设置TMPDIR/var/tmp而不是/tmp

相关内容