4

I'm a packager, so I often need to use cowbuilder or pbuilder to build packages either for my own use or when I'm sponsoring somebody elses' work.

On my laptop, my disk isn't the fastest in the world, so I'm considering using tmpfs for the build area, /var/cache/pbuilder/build, to speed up the build process. Files in there can get fairly large, for example right now I've 2.2GB of data in that folder. In addition, cowbuilder works by making shallow COW copies (using hardlinks I think).

Would it be feasible to mount the build directory under tmpfs?

I'm on Ubuntu 10.04 Lucid Lynx, but will be moving shortly to the prerelease of Maverick Meerkat. My machine has 4GB of RAM.

4
  • How much RAM do you have in your machine? Aug 21, 2010 at 15:11
  • I have 4GB. (well, free -m reports 3961M total, but I assume some's just reserved for the BIOS or video)
    – lfaraone
    Aug 21, 2010 at 15:34
  • I was thinking about this too - pbuilder is quite slow on my machine... unfortunately, I only have 2GB of RAM. Would that work for small projects? Aug 21, 2010 at 18:28
  • @George Over the course of an Ubuntu development cycle, I must do ~200 build in pbuilder between my Ubuntu, Debian, PPA, and personal stuff. I only have 2GB of RAM. Maybe I'm just extremely patient... Oct 11, 2010 at 2:40

2 Answers 2

4

I've used a tmpfs for pbuilder before, and done some benchmarks against ext4. With 4GB of ram it ended up being between 30%-100% faster on the tmpfs for most packages, up to packages as big as Xorg.

You'll want to bind-mount /var/cache/apt/archives in order to get your package cache available in the chroot.

You can get a more efficient build with sbuild and an aufs union mount, where the base chroot won't be copied to ram.

1
  • Thank you for the hint about bind mount of the apt cache. Just setting APTCACHE does not help, if building on tmpfs. By bind mounting it, we save the complete deb space. Thank you.
    – user110838
    Nov 26, 2012 at 15:13
3

Keep in mind that hardlinks can't work across filesystems. I think using tmpfs would be bad.

1
  • I had this experience trying it out. I think it would work to mount the ramdisk to the /tmp/buildd directory inside the cow, but that requires a bit more of a dance to set up and tear down.
    – mikepurvis
    Apr 5, 2016 at 14:03

Not the answer you're looking for? Browse other questions tagged .