[SLUG] Derek's partitioning rant

From: Derek Glidden (dglidden@illusionary.com)
Date: Thu Sep 19 2002 - 18:30:42 EDT


On Thu, 2002-09-19 at 17:17, wchast@utilpart.com wrote:
>
>
> > -----Original Message-----
> > From: Derek Glidden [mailto:dglidden@illusionary.com]
> > Sent: Wednesday, September 18, 2002 10:57 AM
> > To: slug@nks.net
> > Subject: Re: [SLUG] Partitioning (Again?!)
>
> Pulled a lot of interesting stuff, too the point...
>
> >
> > (I'm specifically ignoring the partitioning question because
> > nobody has
> > ever agreed with the way I like to partition drives.)
>
> does not matter, lets see it anyhow. I am always interested
> in the way people do partitioning and why... So go ahead and
> give it a whack again, I wanna see your bent on it, if anyone
> says anything just look at my sig. There must be a good reason
> why you do it the way you do, maybe it is easier to pick
> through the pieces when it is all done.

Hmm, ok, but I warn you, you won't like it. You'll like it even less
when you realize how right I am and how wrong you have all been all this
time....

These are all separate partitions on my system:

swap
/
/boot
/tmp
/var
/usr
/home
/opt

Why? Because:

swap partition good. swapfile bad. 'nuff said.

/ has started to be XFS most of the time, so:

/boot is ext2 because I still like lilo ('coz I'm a grumpy old man) and
it doesn't understand how to boot from other things like XFS without a
lot of chicken-or-egg type problems. So boot images go in /boot which
is ext2 and mounted read-only unless I'm updating the kernel image

/tmp is a separate partition for oh so many good reasons that I can't
even think of them all. (mounting it 'noexec' is one...)

/var is on its own partition because this stuff changes a lot and needs
to be kept away from the other bits on your filesystems so that if any
of it breaks, hopefully all the pieces stay in /var

/usr is on its own partition because this is where
administratively-managed packages get installed and should rarely change
unless you're installing new packages. you put all this stuff in /usr
because you want to keep it away from the crazy stuff elsewhere on the
system.

/home is your own stuff and it's so much easier to deal with if it's on
its own partition. that way you can do stuff like rsync it to your
server and mount it NFS instead of having it locally (or vice-versa) and
nobody will ever know the difference.

/opt is where the rest of the space goes for packages installed from
source and other junk (like games) because you never install things into
/usr unless you are installing from packages or you are a lunatic. and
you just never install packages into /home because... you just don't.

Nobody ever likes my partitioning schemes because they (wrongly) believe
that a) /opt is silly and/or b) more than one partition is silly.

Why are they wrong? Because:

/opt is for things installed from source that won't be under whatever
package management system you're using (rpm, deb, etc); /usr is for
things installed from packages and you should take efforts to make sure
the two don't fall over each other or you're just going to wind up with
a mess. (i.e. "Oops, I had already installed the "apache" package but I
just did "make install" into /usr someplace from the apache source and
now I can't tell which part of which is where.") This just makes
administering a server so much easier when you keep package-managed and
source-installed software separated. It also makes migrating across
machines easier since you can just rsync packages from the /opt
partition to /opt on a new machine without affecting the rest of the
system. (Maybe some people don't call it '/opt' but that's because of
some kind of avoidance thing going on. they have medication for that
sort of thing nowadays though.)

People who install everything into /usr/local are lunatics and anyone
who installs software into (*shudder*) /home are maniacs who should be
kept away from computing equipment and anything with a point or a sharp
edge. Some exception to installing in e.g $HOME/bin made for people
working on systems they don't have administrative access. but that's
just for little things like doing your schoolwork on the uni's lab
server or something. If you're doing something silly like building
mozilla 1.2alpha in $HOME on a system for which you don't have
administrative access, you deserve what you get. the correct answer is
"get the admin to do it the right way."

'dump' (or 'xfsdump') likes to work by-partition. ('tar' is for people
who haven't learned how to use 'dump' yet.) Likewise, rsync has its
'-x' flag that keeps it from working across partitions, making backing
up specific parts of your systems much easier.

If you have one partition with one filesystem and it breaks, you keep
each piece and go home without your data; if you have many partitions
with filesystems on each and one breaks, you have a lot of intact pieces
that are still easily salvagable. Of course you have backups, but the
less you are forced to use them, the better off you are.

* Bad-case scenario for the "one-filesystem" true believers: your
filesystem breaks, the machine is down, your data is gone, too bad,
reinstall and start over or restore from latest backups.

* Bad-case scenarios of my paritioning method:
   - /home breaks. you've lost your data but the machine is still
running. sad, but at least the machine is still up and running along
with all your repair tools in /bin, /sbin and /usr, and you are supposed
to have backups anyway.
   - / breaks. your machine is down, but you can still get in there
with your recovery disk and get your /home data off of it for when you
have to rebuild it (which you would have had to do if your one-single
partition broke anyway, but this way you at least get your stuff off of
the system as of the time of the breakage rather than as of the time of
the last backup. (which is always the day before you saved something
really important.))
   - anything else breaks. depending on what breaks, your machine may
stay up and running, allowing you to do online recovery from backups, or
maybe you have to reinstall, but at least you can get most of the data
off.

I get even more extreme if I use something like LVM, where I make
logical volumes for virtually every directory on the system. I use
partitions to help administratively manage my servers. I don't have a
lot of fun doing things like backups and filesystem management, so
anything to make it simpler and easier to automate is a good thing as
far as I'm concerned.

P.S. feel free to talk among yourselves at what a genius I am for doing
things the way I do, but I'd rather not get involved in the discussion
because I feel that partitioning schemes are one of those geek religious
war topics like "GNOME vs. KDE" and "vi vs. emacs" and I hate religious
wars... so I likely won't respond any more on this topic.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map
{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;
$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)
[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \ | extract_mpeg2 | mpeg2dec -

http://www.cs.cmu.edu/~dst/DeCSS/Gallery/ http://www.eff.org/ http://www.anti-dmca.org/



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 19:49:29 EDT