1fuse9p(1) fuse9p(1)
2
3
4
6 fuse9p - filesystem client for 9p2000.u servers
7
9 mounting
10 fuse9p [-dPv] [-c mode] [-k file] [-l user] [-p port] [-t secs]
11 [-U uid_map] [-G gid_map] [user@]server[:port] mountpoint
12
13 unmounting
14 fusermount -u mountpoint
15
17 9p2000 is a file/RPC protocol developed for Plan9 operationg system.
18 Due to its extreme simplicity it can be used to embed file servers in
19 different applications to provide access to the internal structures and
20 API in runtime. 9p filesystem can be mounted as well with the kernel FS
21 implementation, but the kernel v9fs module does not support client
22 authentication. Exporting a read/write filesystem without any authenti‐
23 cation is a serious issue. So, if you want to export FS with authenti‐
24 cation enabled, you have to use a client that supports it, like this
25 fuse9p implementation.
26
27 Another difference from the kernel v9fs is a protocol optimizations
28 that allow fuse9p to work faster, avoiding unnecessary request.
29
31 -c mode
32 Authentication mode. Now only pki mode is supported by fuse9p.
33
34 -d
35 Turn on debug and run in foreground. Please note, that in this
36 mode you can not stop fuse9p with Ctrl-C, you should use fusermount -u.
37
38 -G gid_map
39 Turn on gid mapping (see UID/GID MAPPING below)
40
41 -k file
42 Path to the private RSA key file. Implies -c pki.
43
44 -l user
45 User name to use in FS Tattach command.
46
47 -p port
48 Server TCP port, if it differs from the default 9p.
49
50 -P
51 Stay connected even in the case of network errors
52
53 -t secs
54 Timeout (in seconds) for the 9p socket. By default it is 10 sec‐
55 onds.
56
57 -G gid_map
58 Turn on gid mapping (see UID/GID MAPPING below)
59
60 -v
61 Print py9p version
62
63
64
66 Current fuse9p implementation does not support:
67
68 * named pipes
69 * UNIX sockets
70 * hard linking
71
72 Any other functionality can be limited; if so, report an issue to the
73 project's bugtracker.
74
75
76
78 pki mode
79
80 PKI authentication mode uses standard SSH RSA keys. The server should
81 have the public one, the client should use the corresponding private
82 key. If the private key file location is not set up by -k option,
83 fuse9p tries to load it from /home/${user}/.ssh/id_rsa. If the user is
84 not set up by -l option or in the server spec, fuse9p uses $USER envi‐
85 ronment variable.
86
87
88
90 Being started with -P option, fuse9p tries to reconnect to the server,
91 if the connection is lost. When there is no connection, in this mode
92 fuse9p provides empty mount point. All operations on open files will
93 return EIO or ENOENT.
94
95 fuse9p reconnect interval increases with each iteration, it grows by
96 power of 2: 2, 4, 8, 16 etc. seconds up to the some limit. Each file
97 stat() or directory listing call resets the interval back to 2 seconds.
98
99 Since the reconnection is running asynchronously, you can get empty
100 mount point even if the server became reachable; if so, just repeat the
101 directory listing call.
102
103
105 Often, uids/gids on the server and client side are not the same. This
106 feature allows you to map server's uids/gids into client's ones in the
107 way like this:
108
109 ... -U "{1000: 500, 1001: 505}" -G "{1000: 500}" ...
110
111 Please note, that server's uid/gid goes first.
112
113
115 ssh-keygen(1), 9pfs
116
117
118
120 * Peter V. Saveliev <peet@redhat.com> -- fuse9p author, py9p library
121 maintainer
122 * Andrey Mirtchovski <aamirtch@ucalgary.ca> -- py9p library author
123
124
125
127 * All bugs post to the project page:
128 https://github.com/svinota/py9p/issues
129 * Project's home:
130 https://github.com/svinota/py9p/
131 * 9p specifications:
132 http://swtch.com/plan9port/man/man9/
133
134
135
136Peter V. Saveliev <peet@redhat.com> fuse9p(1)