Declining to use Coda on Debian
After my dismal failure at Pohmelfs, I shopped for alternative distributed files systems. I can’t tell if CODA is abandoned or not, but I’ll give it a try.
- Build into kernel 2.6.33, no problems.
- Debian has let their user mode utilities rot away.
- CMU has prebuilt .debs, including for Squeeze. That looks good.
- Add the CMU apt sources, looks like this now… # cat /etc/apt/sources.list.d/coda.list deb http://www.coda.cs.cmu.edu/debian lenny/
aptitude update ; aptitude install coda-server
, scary text about unsigned packages follows, but it is OK.- Configure server with
vice-setup
- Similar for the client machines, except
aptitude install coda-client
… ends with 00:35:02 Venus starting… 00:35:02 /coda now mounted - Test client with CMU’s server: # cfs lv /coda/testserver.coda.cs.cmu.edu Status of volume 7f000000 (2130706432) named “/” Volume type is ReadWrite Looks good. I can read the sample documents.
- Test client with my server: Much hanging and server not founding. Most likely related to my “hostname” being an internal address unreachable by the client. There is a spot in the /etc/coda/*.conf file and in one in the /vice directory, but it still attempts to use the unreachable address and no hints in vice-setup on how to force an address.
- I temporarily change my hostname to the external interface address. No luck. The client does a pile of DNS lookups for SRV records for my host with _codasrv._udp prepended, then does one for a regular A record. Gets my address, but never tries to contact.
- Reboot client. Success! Now we can connect. Something evil must have been cached.
- Many failures to authenticate with
clog
until I realize that the example I’m working from only has an account ofadmin
because that is what they gave vice-setup. Use the account I gave with the password “changeme
” and I’m in. - Find
cpasswd
, change that password. - Try to make myself a user account.
au -h MYHOST nu
, coda is a pretty hostile system. It echoes my new password in the clear even though it knows how not to, then fails withAuthNameToId() --> AUTH_FAILED
- Find pdbtool. Use it to make my account from the server side, but I
can’t see how to set the password. Go back and try
au
from a client, and now I can set my password. - Notice I have no group. Use pdbtool to make a group with my name, program explodes with an assert failure. That’s going to be a problem.
- Unpack a linux kernel on the client. It flew until arch/arm, not it is crawling along at about 1 file per second. No load on server, no load on client, no load on network, just glacial progress.
- Abandon Code!
Coda is badly documented, user hostile, and not robust.
I do not trust it.