Wherefore is linux-2.0.21-transname.patch?
Currently different diskless clients must have their root "/" on different
directories on the server, beause each client has _some_ different
configuration files. However, most files (typically about 99%) have the same
contents on the clients and on the server, but have to be duplicated
(and maintained separately) just because of the 1% differences.
This duplication causes very large efforts in practice, since at least
the /etc directory has to be duplicated for every client. Even in /etc
many files are identical, for example sendmail.cf, initrc scripts and
others. Maintaining a large pool means to ensure coherence amoung the
duplicates. Classical methods like symlinks are unconvenient
for this task because they have to be valid in the view of mounted
filesystems at the client, not at the server.
linux-2.0.21-transname.patch overcomes this problem by allowing filenames
to be context-dependend. For example, if you have a file "/etc/config"
that should differ on the hosts "myserver" and "myclient", you just
create two different files named "/etc/config#host=myserver#" and
"/etc/config#host=myclient#". On host "myserver", the file
"/etc/config#host=myserver#" will appear as if it were hardlinked to
file "/etc/config" (without the #...=...# suffix). On host "myclient",
the corresponding other file will appear as "/etc/config". So you
can access the right file contents under the same name, depending
on which host you are.
A similar concept can be found in older HP-UX version, but with
so-called "hidden directories" which don't allow contemporary viewing
all versions by default. In contrast, our concept shows all context-dependent
files in the dir listing and they can be edited under the
fully qualified name.