[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Modifying Debian for Infrastructures--Step 1



Thanks a lot for your detailed answer!

At 07:10 AM 18-02-00 -0500, Raul Miller wrote:
>While we've not yet fully adopted the standard, we're migrating to the
>FHS which is supposed to be designed for multi-architecture filesystems.
>I believe that for this case the /usr/share/ hierarchy can be re-used
>across architectures (for the same package version) while the rest of
>/usr is considered architecture dependent, and /etc is considered local
>machine config.  But that's not been exercised yet, and we have no dpkg
>support yet for this concept.

I had looked at the FHS some time ago and again after your message.  It
seems that FHS does not fit all my needs.  The problem is that in an
infrastructure users should have the same software available no matter
which host they work on, but due to limitations of disk space, only the
frequently used software is locally installed, the rest being network
mounted and sym linked.  The decision of what to copy and what to network
mount varies by host and package.  This makes it impossible to mount the
whole subtree for an architecture and requires package-level granularity.
While I haven't tried it, I believe NFS wouldn't be very happy about
mounting tons of small directories...  Apart from this issue of copying vs.
network mounting, I don't see how multiple versions of a software package
fit into FHS (see my rational on why versions are necessary in another post
of today).

>If I understand what you're saying, the simplest mechanism would be to
>use dpkg --unpack --root=... to bring the various package versions onto
>the machine then play with symlink farms to do package configuration and
>to use the packages.  Brute force, and dead stupid, and you'll have to
>deal with propagating renames of symlinks across to the original files,
>but it seems doable.

We're currently trying exactly this.   Want to use apt-get for this
unpacking such that I don't have to bother about how to fetch the package.
My idea of how to do this is to write a small wrapper that calls dpkg with
the right options (--unpack and --root=...package+version...) and point apt
to this instead of the real dpkg (using Dir::Bin...).  

I suppose this method of unpacking in a non-standard directory and then
linking it back to the original Debian file positions should always work.
Or can anyone think of cases where the sym links don't behave like the real
files?

I have some doubts that this works in the general case for multiple
versions--even if I rename the files to avoid name conflicts.  The reason
for my doubts is that one program section could call another and won't be
aware of the renameing (and thus it will break).  Any idea on this?

--bud


/------------------------------------------------------------------------\
| Bud P. Bruegger, Ph.D.  |  mailto:bud@sistema.it                       |
| Sistema                 |  http://www.sistema.it                       |
| Information Systems     |  voice general: +39-0564-418667              |
| Via U. Bassi, 54        |  voice direct:  +39-0564-418667 (internal 41)|
| 58100 Grosseto          |  fax:           +39-0564-426104              |
| Italy                   |  P.Iva:         01116600535                  |
\------------------------------------------------------------------------/


Reply to: