Multiplexes arbitrary host names, making access to many differnt host fast and easy.
For each host accessed via a directory an new translator is started with the hostname as option. Say, /hostmuxdemo should let you access your favourite host with your translator mytranslatorfs.
ls /hostmuxdemo/mybox/ would give the result of mytranslatorfs applied to host mybox.
Hostmux takes translator options as argument and (in the easiest case ) starts the translator with the given arguments and the hostname as the last argument.
ftpfs is a good example, that is even very usefull. With hostmux and ftpfs you can access anonymous ftp via the filesystem, sparing out complicate use of a ftp client.
We assume you want to access the ftp root at all servers. The example host is ftp.yourbox.com.
Usermux is called via
settrans -fgap /ftp /hurd/hostmux /hurd/ftpfs / .
-fgmakes settrans try hard to remove an existing old translator from
apsets an active translator (starts the translator) and a passive translator (stores translator information in the filesystem with which an active translator can be started on access of this node)
/ftpis where we want to set the translator
/hurd/hostmuxis obviously our hostmux translator that will be started at
/ftpand handle filesystem operations on
/ftpand everything below (like
/hurd/ftpfs /is the argument to hostmux.
/ftp is accessed, the first directory is interpreted as hostname and a new translator is set up with the
ls /ftp/ftp.yourhost.com/pub/ lets hostmux start a new traslator
/hurd/ftpfs / ftp.yourhost.com and serve it via
/ftp/ftp.yourhos t.com/ as directory. Subsequent the directory
/ftp.yourhost.com/ can be accessed via the new created translator.
You can see the new created translator in the process list:
ps ax | grep ftpsfs . You shoud see
/hurd/ftpfs / ftp.yourhost.com .
--- 13 Jul 2004