> 
> Brian J. Murrell wrote:
> > On Wed, Jun 19, 2002 at 08:41:14PM -0700, Todd Lyons wrote:
> > Right!  I am not asking about that.  What I am asking about is not
> > putting volatile data into /usr.  It should be possible to share
/usr
> > via NFS and not have clients need to update /usr when they
> > install/upgrade their packages to match the server.
> 
> So, all you want to do is update the rpm db? Do you need to
> install/upgrade any of the files in the RPMs?
> 
> How about:
> 
> # rpm -Fvh *.rpm --justdb
> 
> Otherwise, share /var/lib/rpm ro by NFS.
> 
> Not running a cluster of machines myself, I don't know what the exact
> problem is (if you are upgrading packages, why does rpm not complain
> about not being able to write to /usr/bin?).
> 
> And if it really only is the scripts that give you problems, how about
> --noscripts
> 
> Maybe there should be some urpmi options for this?
> 

It looks like in this discussion two significantly different things are
mixed up

1. read-only /usr during daily operation.

Currently Mandrake does not allow it because some data that are 1)
volatile - i.e. can be changed during normal operations and 2)
system-specific are placed into /usr. It makes it very hard to both
share /usr and mount /usr read-only (even if your /usr is not shared)
but fixing it is relatively "trivial" (even if possibly tedious and time
consuming).

2. installation/update of such a system

This is entirely different problem that depends if your /usr is local or
shared. For local there is no problem - remount read-write, update,
remount back. For shared there is currently absolutely no provision. It
is not enough to just update rpmdb or fake scripts because package may
install itself both into /usr and into any other place in file system.
So you need _rpm_ support with something like

rpm -U --with-shared-usr

and rpm would skip adding files to /usr (but should obviously check and
compare and warn if files are different). And even this is not enough
because you have to modify every script to be shared-/usr aware, you
can't just skip execution of scripts.

I do not even dare to think about what can of worms it is. If anybody
has some references to successful projects I would be very interested to
look at them.

-andrej

Reply via email to