On Tue, 2007-11-20 at 23:36 -0500, Aaron Kulkis wrote:
This is why smart people make /home, /opt, and /local to be separate filesystems (or at least make /local a symbolic link to something like /home/local and/or /opt to be a symbolic link to /home/opt.) This should be the DEFAULT set-up for a new installation, because the uninitiated has absolutely no idea that having /home, /local and /opt on the root filesystem is setting them up for major headaches when they want to install the system.
In fact, in the install, it would be REALLY super-nice if I could specify the creation of any symbolic links and target directories before ANY packages are installed.
While I certainly agree with that smart approach to filesystems, at the very least /home. But how would such a default setup work from installation? I don't think any distro is possibly intuitive enough to know whether you wanted it in a primary partition, extended partition, or LVM. And that's just assuming you have one drive on your machine.
In any event, the default (on every installation, not just SuSE) of making just two partitions: a huge root partition, and a swap partition at the end of free disk space, is just insane.
Partitioning strategies are still pretty much left to the knowledgeable folks who understand partitioning rules and strategies. And probably should be. How many end-users understand those concepts? And you DO have to understand those concepts in order to make the best decision. There's no way Novell or anyone else can predict a) # of drives you have,
every SuSE install I've done, going all the way back to the 6.x days, has detected all of my hard drives.
b) what partitions currently exist and what they're used for and
Every SuSE install I've done has detected currently existing partitions.
c) what type of partitioning strategy you intend to use on your computer.
At the very least:
root-partition ; swap partition ; /home partition
Partition sizes for filesystems don't need to be calculated until AFTER the user selects what software they want (unless the person doing the install selects for it). Filesystem usage from selected packages should be easy to calculate -- the installer is already calculating how much space will be used on each filesystem when selecting software after specifying a custom partition scheme(*) -- build some rules for various parts of the hierarchy based on a minimum suggested "cushion" of unused space in both megabytes (say for the spool directories in /var), AND in terms of percentages (say, %20 percent each for /lib, /usr/lib, and /usr/X11/lib to allow for growth).
(*) I know this, because as you do so, there are little "meters" in the install screen that show you how much space is going to be used in each hierarchy -- of course, adding install-time symbolic links would complicate this somewhat.
A modern SuSE installation, even an "everything and the kitchen sink" installation is only a small fraction (1/5 or less) of most new disk drives. In the even of detecting a large hard drive, the install system should immediately suggest a large number of partitions (/var, /usr, /home, /opt, /tmp, and /local, and /srv (which REALLY should be a symbolic link to something like /local/srv), so as to keep filesystem write() activity on the root filesystem to the essential minimum.
Remember, every write to a filesystem is an opportunity for corruption to occur (yes, even in journalled filesystems, don't ask me about my experiences with ReiserFS)...and if the space is detected and available, the default behavior of the partitioner should be making seperate partitions for those hierarchies with a lot of write()-activity ( /var, /tmp, /home, /srv), and making the suggestion (or maybe even defaulting also) that /local and /opt should also be on separate filesystems if it is anticipated that the OS could be upgraded before the machine reaches the end of its useful life AND the admin doesn't want to back-up+restore / reinstall whatever ends up in those /local and /opt.
I know these are not trivial things to do... and unfortunately, my programming skills are far too rusty (20 years of nonuse) to contribute... but doing this sort of thing would significantly improve the installation on a new machine, especially for newbies who, quite frankly, don't know any better (the default installation from both M$ and Windows OEMs is quite bad. Windows should have as a minimum three partitions: C: for the OS, and two more -- one for application programs, and one for data (including user's desktops)...but M$ default behavior is to re-assign drive letters if a new hard disk is added, so that the first partition on the new disk is inserted BEFORE the 2nd, 3rd, 4th.. partitions that are on the same physical drive as C:).