- From: Darron Froese <
>
- To: chef <
>
- Cc: millisami r <
>
- Subject: [chef] Re: Re: How to configure apt to not hit the repo every time?
- Date: Sat, 18 May 2013 11:00:10 -0600
Or - use apt-cacher ng to proxy all apt calls and make it super fast:
https://gist.github.com/fnichol/1747868
I will often spin up a small Vagrant box and push all of my apt
requests through it - especially when I'm building from scratch over
and over.
Works pretty well
Apparently if you're using the apt cookbook - you can set a cacher ip
address and have it pull from there pretty easily:
https://github.com/opscode-cookbooks/apt/blob/master/recipes/cacher-client.rb
I haven't tried that yet - was doing it manually before.
On Sat, May 18, 2013 at 9:02 AM, Sam Darwin
<
>
wrote:
>
To answer a more general and generic question, which is not specific
>
to Vagrant or Berkshelf: "how do I prevent apt-get update from running
>
too often?", use this code in the recipe, in place of the line
>
calling "apt-get update":
>
>
if node['platform_family'] == "debian"
>
if node['platform_version'].to_f >= 12
>
x = execute "apt-get update" do
>
action :nothing
>
not_if do
>
::File.exists?('/var/lib/apt/periodic/update-success-stamp') &&
>
::File.mtime('/var/lib/apt/periodic/update-success-stamp') >
>
Time.now - 86400*7
>
end
>
end
>
else
>
x = execute "apt-get update" do
>
action :nothing
>
command "touch /tmp/apt-get-update ; /usr/bin/apt-get update"
>
not_if do
>
::File.exists?('/tmp/apt-get-update') &&
>
::File.mtime('/tmp/apt-get-update') > Time.now - 86400*7
>
end
>
end
>
end
>
x.run_action(:run)
>
end
>
>
>
>
On Sat, May 18, 2013 at 2:27 PM, millisami r
>
<
>
>
wrote:
>
> Hi, I'm developing a cookbook using Berkshelf and Vagrant latest.
>
>
>
> There is a place in the recipe that runs apt-get update frequently and
>
> other
>
> dependent cookbooks too like the following:
>
>
>
> [2013-05-18T11:21:48+00:00] INFO: Processing execute[apt-get update] action
>
> run (mysql::ruby line 23)
>
>
>
> Its fine on the production node, but in the vagrant provision way, every
>
> time I run, it will hit the apt-get update which is a bit slow coz it hits
>
> via the internet.
>
>
>
> How can I configure Vagrant to just hit only once in a single vagrant
>
> provision command?
>
> Or do I have to do change something else?
>
>
>
> @millisami
>
> ~Sachin Sagar Rai
>
> Ruby on Rails Developer
>
> http://tfm.com.np
>
> http://nepalonrails.com
Archive powered by MHonArc 2.6.16.