Situation:
Server:

  1. 64MB RAM
  2. 1611MB Disk
  3. Access via Out-of-Band-Console (OBC)
  4. CentOS rescue image (read-only filesystem, my disk can be mounted though)

What I want to achieve:
I want to install my favorite distribution (Arch Linux).

My current approach:

  1. 1GB [ext2] Partition reserved for a Debian system.
  2. 611MB [ext2] reserved for Arch Linux.
  3. Installing Arch Linux as described here
    (From inside Debian.)

Problems I ran into:

I quickly ran out of disk space for the Debian system or the Ach Linux Partition was too small.

My actual question:

I actually don't really want to ask a specific one.
I'd much more like to see how you'd solve this problem
(maybe I am overseeing something obvious, you know...).

I hope that's okay with the idea of serverfault as a platform.

link|improve this question
feedback

closed as not a real question by Jason Berg, Dennis Williamson, SvenW, sysadmin1138, Zypher Dec 5 '10 at 2:01

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. See the FAQ for guidance on how to improve it.

3 Answers

EDIT: just realized 64 "MB" of Ram - This is also a constraint for functionality depending on the desired use.

Okay, I'm not sure whats being asked, but...

1) Arch is a rolling release distro - Not ideal for Server stability (among other reasons)

2) Im curious about what the reasons are and why / how oob is setup (due to the question) oob is generally used as a way to remotely config/troubleshoot your router when a site goes down (if telco/power are still intact).

3) Your HDD is only about 1.5GB, youd be hard pressed to install anything as a full production workhorse.

Are the machine stats accurate?

And whats the machines intended use?

link|improve this answer
It's going to be a development/testing server for a very small team. 1) Therefore I think rolling release is nice because of easy access to new versions. 2) There is no system running on the HD at the moment so I need another way of accessing it. That's what the OOB is thought for (afaik). 3) 1.5GB isn't that small. You can do a lot with it I think. Stats are accurate. – Martin Klepsch Dec 4 '10 at 23:28
feedback

To solve your problem, you need to either:

  • Get a bigger disk.

or

  • Put less stuff on it.

Since running Debian isn't in your stated "What I want to achieve", looks like ditching Debian is the way to go.

If that's not what you're looking for in an answer, could you try again with a more question-like question?

link|improve this answer
I want to get Arch Linux running on it. Ditching Debian is "on the roadmap" but I need to have a functional Arch Linux before (at least functional enough to build the rest of an Arch system). – Martin Klepsch Dec 4 '10 at 23:48
feedback

Honestly, this isn't a problem I'd even attempt to solve. The specs here are only a little better than my very first Linux machine:

  • 486/33DX
  • 32MB RAM
  • 1.2GB disk
  • 1.2.21 kernel

Obviously your CPU will be vastly better, but this is a problem I haven't had to solve in 15 years.

Can it be done? Very probably, if you know exactly what you're doing and aren't afraid of a lot of hard work. Just the boot directory and modules for my current linux laptop come to 160MB these days (in 1995, and 1.2.21, my monolithic kernel was about 5MB), which doesn't leave a lot of room for all the system libraries and basic userspace tools. Something as tiny as 661MB is going to require a truly amazing amount of hand tuning, since you're going to need only the libraries and kernel modules you actually need. Packages designed for general usage (Debian, Arch) will more than likely have bits you're not going to use and therefore can't afford to add. You definitely don't have enough swap-space available to work around the RAM shortage.

We're talking about as much work as rolling your own distro.

  • Compile your own kernel, selecting only the modules you need since you really need the space savings
  • Compile your services with exactly the options and modules you need
    • Make sure any 'optimize for low memory' options are turned on, if available
  • Go through the packages for Arch/Debian and figure out which basic-linux packages you need, and install them.
  • Copy/Compile libraries needed for service-functioning
  • Keep trying until it works right.

Anything that says 'compile' up there will have to be done on a second system with more reasonable specs, since compiling anything much more complex than 'hello world' probably can't be done with these minimal specs. Once compiled, copy them to the above. Your best bet is to mount that 1.6GB drive in the faster/better machine and build it there before installing in the low-RAM machine.

Because of the very high amount of hand tweaking needed for this kind of build, we need to know exactly what you're trying to accomplish. That would mean telling us which services you plan to be using, including all of the modules (if any), as well as expected usage patterns. This is both way too generalized (this question) and way too specific (the version of this question that includes the needed details) for what makes good questions here.

link|improve this answer
Thanks for this insightful answer. Since this is not something i got to get done until a specific date I will try it anyway. My approach would be to build a system in a VirtualBox environment and then upload it to the filesystem of the server. As long as I transfer the complete / of my new system within the virtual system this should work, right? Of course I cannot just move the virtual system due to the tight connections to VirtualBox. I think this is a problem I'll actually try to solve. Learning by doing as people say. I'm 18 - I got time :) – Martin Klepsch Dec 5 '10 at 2:02
feedback

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