The ROCK Linux Philosophyby Clifford Wolf
In the Summer of 1998, I was so disappointed with the existing Linux distributions that I started to develop my own distribution. Don't misunderstand me -- there are good distributions out there. But none of them gives a seasoned system administrator full control over his system. I would like to explain the main differences between ROCK Linux and most other Linux distributions in this article.
User-friendliness versus admin-friendliness
Unix/Linux is becoming more and more popular to the masses. The mainstream distributions are becoming increasingly user-friendly. But what does user-friendly really mean? In my opinion, it means that an end-user does not need an administrator to do basic administrative tasks.
That is a big improvement if you happen to be such an end-user. But it does not help you much if you are an administrator. In most cases an administrator spends a lot of time disabling all the user-friendly functionality of modern distributions. So I thought we also needed an admin-friendly distribution.
ROCK Linux aims to be admin-friendly. There is no YaST, Linuxconf, or Control-Panel. Configuration is done where it has to be done: in the config files. A configuration tool has to help an administrator -- not replace him (I don't think that it's possible to replace an administrator with a config tool.).
Most distributions try to be (or to become) complete distributions bundled with all the packages available on the Internet. That is nice if you do not know what packages you need and would like to play around with. But it has also a few disadvantages:
- The distribution becomes complex and can't be always up-to-date because of the big maintenance overhead.
- It's much harder to keep the distribution clean and simple.
- It's harder for the user to separate the important stuff from the toys.
This is why ROCK Linux is split into two parts. The base distribution and the extension distribution:
The base distribution contains all the really common and widely used stuff (about 250 packages). Every patch and every line of ROCK Linux-specific code in this base distribution has been checked by a single person to make sure that everything fits together and works as it should. The base distribution is solid like a ROCK.
The extension distribution is a collection of packages to be installed under
/opt/<pkg-name>. Most of these packages are maintained by other people independent of the base distribution. This makes sure there can be a big number of extension packages. (The extension distribution is a work in progress. Currently there are only a few extension packages, but the number is growing rapidly.)
Most Linux distributions try to be backward compatible (old libraries, old tools, etc). ROCK Linux doesn't. In ROCK Linux there is always one (the most up-to-date) version of the system libraries and utilities.
There are two reasons for ignoring compatibility issues in the base distribution:
- Most users don't need them. (Who is using
- If you need them, it doesn't work well. (Have you ever tried to run complex
elf/libc5applications on a modern Linux system?)
Every distribution comes with its own patches to various packages. In some cases, there are so many patches and changes to the original packages that distributions become incompatible.
In ROCK Linux, I try to have a small number of patches: These are only there where they're needed to
- make the package compile at all,
- fix a bug or,
- add an absolutely necessary feature.
Most Linux distributions add a big number of features to a package without contacting the package maintainer. So this feature stays distribution-specific and is not available on other distributions. In my opinion this is wrong. Traditional package development should be up to the package maintainer. If a Linux distributor changes something, it should be added to a package. The first step should be to contact the package maintainer and ask him to include the patch.
In most cases, package maintainers are happy about improvements or -- if they disagree to include them -- have a good reason for not including them.
Pages: 1, 2