0

我正在使用 vagrant 创建在 Ubuntu 10.04 上运行的 postgresql 实例,使用 opscode 食谱,但由于某种原因apt-get update在 postgresql 运行之前没有被调用,因此apt-get install postgresql命令失败并出现 404 错误。任何人都可以帮助厨师新手吗?我已经浏览了其余的答案,但似乎没有任何效果。

STDOUT: Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  libpq5 postgresql-client postgresql-client-8.4 postgresql-client-common
Suggested packages:
  postgresql-8.4 postgresql-doc-8.4
The following NEW packages will be installed:
  libpq5 postgresql-client postgresql-client-8.4 postgresql-client-common
0 upgraded, 4 newly installed, 0 to remove and 52 not upgraded.
Need to get 941kB of archives.
After this operation, 5,300kB of additional disk space will be used.
Err http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main libpq5 8.4.6-0ubuntu10.04
  404  Not Found [IP: 91.189.91.13 80]
Err http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main postgresql-client-common 106ubuntu1
  404  Not Found [IP: 91.189.91.13 80]
Err http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main postgresql-client-8.4 8.4.6-0ubuntu10.04
  404  Not Found [IP: 91.189.91.13 80]
Err http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main postgresql-client 8.4.6-0ubuntu10.04
  404  Not Found [IP: 91.189.91.13 80]STDERR: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/p/postgresql-8.4/libpq5_8.4.6-0ubuntu10.04_i386.deb  404  Not Found [IP: 91.189.91.13 80]
4

1 回答 1

2

Chefapt-get update永远不会默认运行。您必须明确告诉它这样做。

我建议你:

  • 在安装之前利用 Opscode 的说明书apt和调用;或者include_recipe "apt::default"postgresql

  • 在您的 Chef 之前添加一个 shell 供应器Vagrantfile

    config.vm.provision :shell, :inline => 'apt-get update'

第一个将在您应用说明书的任何地方工作,第二个将在每次配置 Vagrant VM 时运行更新,但如果您在其他地方使用说明书,则不会强制更新。

于 2013-04-05T00:11:25.740 回答