Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a VPS with MediaTemple and would like to clone the base-system OS that they install, I have got a full packages list that is installed by default here:

But I have no idea how I then translate this into the base Ubuntu server install, Upon first startup with MediaTemple my server was using 9MB of RAM (yes 9!), with the "minimal" install provided from the Ubuntu 10.04 LTS DVD I was getting almost 4-500MB!

So I ran top on both, on MediaTemple I saw this:

 1 root      15   0 23320 1580 1272 S    0  0.2   0:01.04 init                         
 1158 root      15   0 49268 2560 2012 S    0  0.3   0:00.04 sshd                         
 1214 root      15   0 21084 1016  776 S    0  0.1   0:00.00 cron                         
 1215 syslog    15   0 12456  800  608 S    0  0.1   0:00.05 syslogd                       
 3572 myles     18   0  4100  652  544 S    0  0.1   0:00.00 sh    

And on my own vm install there were more than could be listed...

So the question is, how do I translate that packages list into a custom ISO or configure the dvd in such a way that I have those and how do I get the server to start up with only those processes?

share|improve this question
The difference in memory usage is probably largely down to disk cache. It's invisible inside a VPS because it is handled by the host OS. Also they are probably using a custom kernel and lots of configuration changes in /etc to get it that slim. You won't find any of that stuff on an official Ubuntu ISO so you'll have to just copy it from the VPS wholesale. – Alistair Buxton Feb 5 '12 at 20:54
(Basically what I'm trying to say is you won't be able to exactly duplicate the VPS without also duplicating the virtualization method they are using.) – Alistair Buxton Feb 5 '12 at 21:02
This tweet implies that they are using a stock kernel and such, unless I'm reading it wrong. – James Feb 5 '12 at 21:11
up vote 2 down vote accepted

You can copy your VMs filesystems to a file if you want to, but as Mr Buxton says is in his comment, it isn't certain that you'll be able to use it on your own system anyway. It might not boot properly on your physical machine or another hypervisor.

And a plain Ubuntu Server install doesn't use 4-500MB RAM per se. Linux will try to not waste any memory if it can, and some memory will show up as being in use, but that doesn't mean the memory is blocked. To Linux, "free" means "wasted". You'll have no problems running Ubuntu Server with 64MB RAM, for instance. A VPS hosting company will often want to go to rather extreme lengths to reduce the memory use because of things like ballooning, which means you can have more virtual machines using the same amount of physical RAM, etc and then oversell the hardware. As a normal user, you really don't want to do that.

share|improve this answer
I agree it doesn't make real sense to want to do this for yourself but the reason I am trying to do this is because I want to set up a test server configuration locally so that I can try run different configs of nginx, varnish etc and be confident that it wont go over the RAM limits of my live server. – Myles Gray Feb 5 '12 at 21:23
Sounds like you may want to have a look at Linux Containers (LXC). Then you'll reuse the common parts of the system which will save a lot of memory. If you use KVM, also keep in mind that similar parts of the memory will be shared between the guests, so even if two identical guests claim to use 500MB each, they'll probably use less than 600 in total. RAM is very difficult to calculate properly. Testing is almost always required for a good result. – Jo-Erlend Schinstad Feb 6 '12 at 0:05

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.