On Wed, Dec 31, 2008 at 12:18 PM, Joshua Rodman
<jrod...@hate.spamportal.net> wrote:
[snip]

>> the ability to (for instance) tar up everything in /usr/local and know
>> for a certainty you have backed up everything package-wise that was
>> not part of the base OS install, allowing you to do a clean reinstall,
>> is useful.
>
> No, it isn't.
>
> Firstly, the base OS install should be made of packages, or you've
> bascially made the entire base OS install one package which fails to
> support the features of other packages.

the base in a sane OS has no dependency on aftermarket packages;
that's why it's called "base". While kernel, userland and
ports/packages should all be in sync, it's certainly not a requirement
(and upgrading independently is common and simple - upgrade kernel
first, then userland, then ports tree. Piece of cake, especially if
you're using binary packages, which we all should be.)

> Secondly, what use it to back up all the stuff relating to user-selected
> packages, if it might depend upon settings made in the base install?
> You've captured a whole set of files that are likely to not work.
> Hooray.

user-selected packages do not depend upon settings in the base install
- the base is the common denominator of things (IP stack, etc.) that
work with everything and conflict with nothing. At least, this is how
it works on a sane OS where aftermarket packages are not allowed to
infect the kernel.

> Thirdly, with a sane package manager, you can capture the whole list of
> packages that are installed, and all configuration files for those
> packages, obviating the need for your whole tar operation, as well as
> handling things it cannot (as above) handle.

yes, pkg_* already does this - it's just _cleaner_ to have all
aftermarket package files under the same hierarchy, for system mgmt
sake (rolling out an upgrade to OpenBSD-XX? I can roll my own release
and push it out, nuking e.g. /usr/bin without a care, since I know
there's nothing living there that isn't part of the base, which I'm
rolling out. Systems that are consistent and predictable are a
BEAUTIFUL thing.)

> Lastly, I now have /usr/local to store stuff that was actually installed
> by local user control, which is not package managed at all, which is the
> really fragile stuff.

/opt for that. or whatever. the specific name really doesn't matter;
what matters is that keeping kernel/base segregated from
ports/packages and from non-packaged aftermarket stuff results in a
cleaner, saner, more predictable system. It's better OS design.

>> If you haven't looked at the non-trivial improvements made in the past
>> few years following the complete rewrite of pkg_*, you are proceeding
>> on false assumptions.
>
> I have never used a ports system that didn't throw compilation errors
> during installs of *packages*.  This includes last month.

if you're compiling anything that's already available as a binary
package, you're doing it wrong. if not: is this OpenBSD? did you drop
a line to the package maintainer? The last time I ran into something
that threw compilation errors from a "cd /usr/ports/section/app &&
make && sudo make install" was 5 years ago, and I use OpenBSD on a
daily basis on desktop, laptop and server.

if you're running some other BSD, well, this is one of those areas
where there are non-trivial differences between OpenBSD and everybody
else.
-- 
       Scott Francis | darkuncle(at)darkuncle(dot)net | 0x5537F527
                        Less and less is done
                     until non-action is achieved
             when nothing is done, nothing is left undone.
                                    -- the Tao of Sysadmin

Reply via email to