无业游民:ENOSPC完全封锁盒子

时间:2019-01-25 10:44:45

标签: python vagrant virtual-machine

我正在关注本教程:https://docs.pybossa.com/installation/vagrant/ 但是由于我在Windows 7计算机上没有权限,因此我使用VM来部署vagrant&co。一旦我终于开始工作,就开始安装需求,盒子完全卡住了。

主机(VM):Linux ipf7028 3.10.0-957.1.3.el7.x86_64#1 SMP 2018年11月29日星期四14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux
流浪者提供者:默认,VirtualBox
一旦盒子终于开始,我不得不在ssh python run.py中执行,但是我遇到了一个错误,因为我是python的新手,所以我刚刚安装了pip并做了pip install -r requirements.txt
并且在进行一些下载后,全局崩溃,并显示以下错误:

/opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/lib/vagrant/environment.rb:836:in `initialize': No space left on device @ rb_sysopen - /root/.vagrant.d/perm_test_YCKSPNYMOHEIFYNPVJKQYEMPHUIXGQUN (Errno::ENOSPC)
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/lib/vagrant/environment.rb:836:in `open'
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/lib/vagrant/environment.rb:836:in `open'
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/lib/vagrant/environment.rb:836:in `setup_home_path'
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/lib/vagrant/environment.rb:135:in `initialize'
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/bin/vagrant:145:in `new'
    from /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/bin/vagrant:145:in `<main>'

这显然是有磁盘空间的东西,但是我不知道在什么地方...而且我对无业游民的盒子没有任何访问权限,没有命令行在起作用...破坏,停止,ssh,状态一切结束并显示相同的错误输出。

提供的VagrantFile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# PyBossa Vagrantfile

VAGRANTFILE_API_VERSION = "2"

# Ansible install script for Ubuntu
$ansible_install_script = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
echo Check if Ansible existing...
if ! which ansible >/dev/null; then
  echo update package index files...
  apt-get update -qq
  echo install Ansible...
  apt-get install -qq ansible
fi
SCRIPT

$ansible_local_provisioning_script = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
export PYTHONUNBUFFERED=1
echo PyBossa provisioning with Ansible...
ansible-playbook -u vagrant /vagrant/provisioning/playbook.yml -i /vagrant/provisioning/ansible_hosts -c local
SCRIPT

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.provider "virtualbox" do |v|
    v.memory = 1024
  end
  config.vm.network :forwarded_port, host: 5000, guest: 5000
  config.vm.network :forwarded_port, host: 5001, guest: 5001
  # turn off warning message `stdin: is not a tty error`
  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
  # be sure that there  is Ansible for local provisioning
  config.vm.provision "shell", inline: $ansible_install_script
  # do the final Ansible local provisioning
  config.vm.provision "shell", inline: $ansible_local_provisioning_script
end

该盒子应该可以正常工作,甚至virtualenv也可以解决一些有关需求的问题...(以前从未使用过)。
我想念什么吗?

1 个答案:

答案 0 :(得分:0)

感谢这个Where does Vagrant download its .box files to?,我只是销毁了以前的庞大环境,并更改了它的位置(设置VAGRANT_HOME),在这里我有更多的空间。
我现在遇到其他问题,但是这个线程结束了。