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

Re: /usr mapped to /



Marcus writes:
> However, this is only half of the full story. Some packages _create_
> additional files or symlinks in their installation scripts. For example,
> /bin/vi is a script in the "ae" package, but every vi package (nvi, vim)
> creates a symlink /usr/bin/vi via update-alternatives (which, btw, fails
> because /bin/vi exists already). This leads to subtle
> problems, for example, calling "vi" results in a loop which does not
> terminate, because /bin/vi is calling /usr/bin/vi...
> 
> This problem can't be solved by shadowfs, obviously.

I must be missing something.  My understanding of how shadowfs will
work is that the vi from /usr/bin may be shadowed by vi in /bin, but
still visible in /usr/bin.  Thus /bin/vi and /usr/bin/vi would appear
as different.  If shadowfs is not expected to work this way, why not
make a special linux-compat-fs that does?  (eventually)

> The only solution is to
> seperate /usr completely from /, or to find all such conflicts and solve
> them in one way or another.
> 
> I have no idea how much of these problems exist. It can be just one, or some
> dozens. Debian has over 2000 packages, auditing them all seems to ne
> unpractical :)

Assuming you have all the packages installed (haha) you can find them
easily from the command line:

    feynman:/# find `ls / |egrep -v '^(usr|proc|src)$'` | perl -lne 'print if -f && -e "/usr/$_"'
    bin/vi
    sbin/rmt
    feynman:/# diff /sbin/rmt /usr/sbin/rmt
    feynman:/# 

(Of course, I don't have every package installed.  I have no idea why
rmt is in two places, but at least it's the same in both.)

-John


Reply to: