summaryrefslogtreecommitdiff
path: root/Hurd/HostmuxTranslator.mdwn
blob: 6dc4177f07a5ff0de496857060826444b5fb77ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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.

<code>**ls /hostmuxdemo/mybox/**</code> would give the result of mytranslatorfs applied to host mybox.

## <a name="Usage"> Usage </a>

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.

### <a name="ftpfs"> ftpfs </a>

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 <code>**settrans -fgap /ftp /hurd/hostmux /hurd/ftpfs /**</code> . <code>**-fg**</code> makes settrans try hard to remove an existing old translator from <code>**/ftp**</code> . <code>**/ftp**</code> is where we want to set the translator. <code>**/hurd/hostmux**</code> is obiously out hostmux translator that will be started at <code>**/ftp**</code> and handle filesystem operations on <code>**/ftp**</code> and everything below (like <code>**/ftp/ftp.yourbox.com/pub/**</code>). <code>**/hurd/ftpfs /**</code> is the argument to hostmux. When <code>**/ftp**</code> is accessed, the first directory is interpreted as hostname and a new translator is set up with the <code>**hostmux**</code> arguments:

<code>**ls /ftp/ftp.yourhost.com/pub/**</code> lets hostmux start a new traslator <code>**/hurd/ftpfs / ftp.yourhost.com**</code> and serve it via <code>**/ftp/ftp.yourhost.com/**</code> as directory. Subsequent the directory <code>**pub/**</code> on <code>**/ftp.yourhost.com/**</code> can be accessed via the new created translator.

You can see the new created transplator in the process list: <code>**ps ax | grep ftpsfs**</code> . You shoud see <code>**/hurd/ftpfs / ftp.yourhost.com**</code> .

-- [[Main/PatrickStrasser]] - 13 Jul 2004