Почему я получаю сообщение «на устройстве не осталось места», когда кажется, что свободного места много?

326
Jaime T

Я пытаюсь установить 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% / 

Еще раз спасибо всем.

0
Проверьте свои inode: https://stackoverflow.com/questions/653096/how-to-free-inode-usage LawrenceC 6 лет назад 0
Я использовал команду df -ih и получил IUse% all 1% Jaime T 6 лет назад 0
Что произойдет, если вы попытаетесь установить его где-нибудь в / home, просто чтобы проверить? mattdm 6 лет назад 0
происходит то же самое: IOError: [Errno 28] На устройстве не осталось места Jaime T 6 лет назад 0

1 ответ на вопрос

1
mattdm

Я заметил, что у вас довольно маленькая /tmpфайловая система:

tmpfs 497M 45M 452M 9% /tmp 

Вы получаете ошибку, когда pip пытается распаковать файл. Я предполагаю, что он пытается распаковать этот файл во временную папку, а затем намеревается переместить его на место - и он больше, чем ~ 450 МБ.

По умолчанию /tmpэто файловая система в памяти, сконфигурированная с ограничением половины вашей оперативной памяти. Предполагая, что это проблема, у вас есть три варианта:

  1. Если у вас достаточно настроенного свопа, увеличьте лимит по умолчанию. (tmpfs может быть заменен, поэтому избыток будет использовать ваш файл подкачки.) Инструкции по этому вопросу [из этого вопроса unix-SE ).
  2. Отключите /tmpмонтирование, так что /tmpэто просто каталог в /файловой системе, где у вас достаточно места. Сделай это с systemctl mask tmp.mount.
  3. Установите TMPDIRкаталог /var/tmpвместо /tmp.

Похожие вопросы