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: