vagrant - 设备错误没有剩余空间

U-L*_*U-L 10 vagrant

我是流浪汉的新手.我按照http://gettingstartedwithdjango.com/en/lessons/introduction-and-launch/上的说明进行操作

我在运行"sudo ./postinstall.sh"脚本时遇到以下错误

+ apt-get -y clean
+ rm -f /var/lib/dhcp3/*
+ rm /etc/udev/rules.d/70-persistent-net.rules
rm: cannot remove `/etc/udev/rules.d/70-persistent-net.rules': Is a directory
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
mkdir: cannot create directory `/etc/udev/rules.d/70-persistent-net.rules': File exists
+ rm -rf /dev/.udev/
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
rm: cannot remove `/lib/udev/rules.d/75-persistent-net-generator.rules': No such file or directory
+ rm -f /home/vagrant/{*.iso,postinstall*.sh}
+ dd if=/dev/zero of=/EMPTY bs=1M
dd: writing `/EMPTY': No space left on device
78504+0 records in
78503+0 records out
82316406784 bytes (82 GB) copied, 105.122 s, 783 MB/s
+ rm -f /EMPTY
+ exit
Run Code Online (Sandbox Code Playgroud)

但我似乎有足够的空间:

vagrant@precise64:~$ df -h
Filesystem                                 Size  Used Avail Use% Mounted on
/dev/mapper/precise64-root                  79G  2.3G   73G   3% /
udev                                       174M     0  174M   0% /dev
tmpfs                                       74M  272K   73M   1% /run
none                                       5.0M     0  5.0M   0% /run/lock
none                                       183M     0  183M   0% /run/shm
/dev/sda1                                  228M   25M  192M  12% /boot
/vagrant                                   220G   91G  130G  42% /vagrant
/tmp/vagrant-chef-1/chef-solo-1/cookbooks  220G   91G  130G  42% /tmp/vagrant-chef-1/chef-solo-1/cookbooks
/tmp/vagrant-chef-1/chef-solo-2/cookbooks  220G   91G  130G  42% /tmp/vagrant-chef-1/chef-solo-2/cookbooks
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?谢谢.

sjb*_*jbx 9

它应该这样做:)它使你的虚拟磁盘尽可能小,因为它是精简配置.

在磁盘上创建一个充满零的文件,直到它已满为清除磁盘上的块,因此代表VM磁盘的文件将与磁盘上的实际数据一样小.

  • 这实际上是正确的答案,下面的解释在技术上是正确但有误导性的,因为这不是脚本中的错误,而是正确的结果. (3认同)

Emy*_*myl 2

问题出在以下语句中:

dd if=/dev/zero of=/EMPTY bs=1M
Run Code Online (Sandbox Code Playgroud)

如果您不指定count=<some value>,该dd命令将继续执行,直到到达设备末尾。因此,基本上使用上面的命令,您尝试创建一个名为的文件,该文件在整个分区中生成,名为EMPTYunder /。因此出现错误。