Penguin
Annotated edit history of Coda version 12, including all changes. View license author blame.
Rev Author # Line
5 AristotlePagaltzis 1 [Coda | http://www.coda.cs.cmu.edu/] is an Advanced NetworkFileSystem developed as a research project by the team which wrote [AFS]. [Coda] extends the FileSystem for DisconnectedOperation.
2
3 Some of [AFS]' developers noticed that caching lets it work quite well for a while in the face of loss of the connection except for issues when writes occur. [Coda] was to allow for scenarios like allowing a laptop with a [WLAN] connection wandering in and out of range to seamlessly synchronize all files (and notify the user of conflicts). The project was quite a success.
4
11 AristotlePagaltzis 5 A former developer of [Coda] started [Intermezzo] as a simpler implementation with the goal of making Intermezzo as fast as a local FileSystem.
6 AlJohnson 6
11 AristotlePagaltzis 7 Coda is supported well in the 2.6 [Kernel] series and appears to be under active development. Currently it seems to be the only option for a FileSystem with support for DisconnectedOperation until [OpenAFS] supports this as well. As of May 2005 the website is horribly out of date, with many pages dating back to 2000 or earlier, however the [mailing list| http://www.coda.cs.cmu.edu/maillists/] is active and is the current authoritative source of documentation.
7 PerryLorier 8
9 ----
11 AristotlePagaltzis 10
11 !! My experiences with setting up Coda
7 PerryLorier 12
13 Be wary of the documentation on the coda site, most of it is out of date enough to be horribly misleading. In mozilla use "View > Page Info" to check the modification date on any documentation you are interested in using, if it's older than a year or so, pretend it was 404 and completely ignore it!
14
8 DanielLawson 15 I started with sarge machines running 2.6. Apparently 2.4 requires patching your kernel. The coda version in the 2.6 kernel tree is up to date, and, as an added bonus is usually compiled as a module by most kernels shipped by vendors.
7 PerryLorier 16
10 PerryLorier 17 One of the best sources of up to date information other than the mailing list appears to be [http://telemann.coda.cs.cmu.edu/news.html], and the mirrors pages [http://www.coda.cs.cmu.edu/mirrors.html]
7 PerryLorier 18
19 I used the debian repositories to retrieve coda. Once again, be careful that you're not retrieving something that's horribly out of date. The repositories are mentioned in the above news list.
20
21 !! The Server
22 Coda's implementation is pretty simple. There is a daemon that runs on the server called "vice". Vice stores all your data and talks to the clients.
23
24 On your server I used:
25 <pre>
26 apt-get install coda-server
27 </pre>
28 Then setup vice with:
29 <pre>
30 vice-setup
31 </pre>
32 It'll prompt you for a series of questions. Think carefully about how you answer them.
33 Information about this part of the setup is in the [manual|http://www.coda.cs.cmu.edu/doc/html/manual/x1243.html#AEN1371]. This section doesn't seem to have changed much since it was written.
34
35 vice-setup should start the server, and everything should be running on the server.
36
37 !! The Client
38 The client requires a kernel module to run. This kernel module is very simple, mostly just forwarding requests for data to userspace, and therefore is very small and reliable. The main "brains" are in a userspace process.
9 PerryLorier 39
40 If you don't have the module compiled, no matter, just go add the module to your config, build it and install it, and load it. You shouldn't even need to reboot.
7 PerryLorier 41
42 I installed it as:
43 <pre>
44 apt-get install coda-client
45 </pre>
46 This has some excellent packages which ask you all the questions you need to get your client up and running. You should now be able to
47 <pre>
48 cd /coda/''realmname''
49 ls
50 </pre>
51 and see what files are on your file server (that is to say probably none). You'll need to login to access your files. the default username is the one you gave when you setup the vice server, the default password is "changeme".
52 <pre>
53 clog ''username@realmname''
54 </pre>
55 You can then verify that your login worked ok with:
56 <pre>
57 ctokens
58 </pre>
59 This will list all the authentication tokens you currently possess. You should probably set your password to be something other than changeme with:
60 <pre>
61 cpasswd ''username@realmname''
62 </pre>
63 Now you should be able to create directories under /coda/realmname/. You might want to create new users with the "user administration" tool:
64 <pre>
65 ua cu
66 </pre>
67 This will prompt you for all the information you need to create a new user.
68
69 Problems, pitfalls and notes:
70 * Be aware that the information you are probably looking at is out of date to the point of being misleading. Just go with it yourself.
71 * There are two scripts "vice-setup" and "venus-setup" that setup the server and the client respectively. The Debian packages automatically run "venus setup" for you.
72 * There are human readable log files in /usr/coda/etc/ for everyone except debian where it's in /var/log/coda/
73 * RPC2 errors are often because the client and the server can't agree on what IP address each other is using. Check your forward and reverse DNS for problems.
74 * rpc2ping can be used to test connectivity of the client to the server.
75 * I've not yet got this working under gentoo, I don't yet know why.
76 * Everything is probably much much nice if you use kerberos for authentication.
12 CraigBox 77
78 -----
79 CategoryFileSystem%%%
80 CategoryNetworkFileSystem