13 August 2007

afs on ubuntu

I tried to install the afs client for my kubuntu following the recipe found at the ubuntu forum, but I got in trouble with the make-kpkg stuff. Just within the comments on that post there is the hint for the solution, which relies on what is suggested in /usr/share/doc/openafs-client/README.modules.
I put here the plain recipe that worked for me, for anyone which would be interested, but also for my future reference: in fact, unfortunately, you must compile the module for the particular kernel you are using, i.e. you have to recompile the module each time you upgrade your kernel...
   —   ∴   —   
So, here is the recipe. The first part is the one you have to redo for each kernel upgrade.

# Installing linux-headers for the running kernel and kernel-package:
sudo apt-get install linux-headers-`uname -r` kernel-package
# Installing openafs-modules-source:
sudo apt-get install openafs-modules-source
# building openafs kernel module (this is where my recipe is different from the ubuntu-forum one):
cd /usr/src
sudo tar xzvf openafs.tar.gz
cd /usr/src/linux-headers-`uname -r`
sudo apt-get install module-assistant
sudo module-assistant prepare openafs-modules
sudo module-assistant auto-build openafs-modules
# Installing the just created openafs-modules package:
sudo dpkg -i /usr/src/openafs-modules-`uname -r`*.deb
The next part is needed only the first time you install the openafs client (so, if you are updating the module due to kernel upgrade, you can stop here).
# Installing kerberos 5 packages:
sudo apt-get install openafs-client openafs-krb5 krb5-user krb5-config
For me, the file /etc/openafs/afs.conf.client turns out to be already set with the AFS_CLIENT=true option (which make the AFS client to start at boot). To insert the just made module into the kernel, do:
sudo insmod /lib/modules/`uname -r`/fs/openafs.ko
To manually start the client, do:
sudo /etc/init.d/openafs-client start
To get an AFS token using kerberos, do:
klog -principal <your_afs_username> -cell <name_of_the_AFS_server>
and that's all.
As you can see, I put some tricky `uname -r`'s into the recipe, to get the version of the running kernel. In this way it can be used "as is" for each new kernel module. In fact, i put such a recipe into a small script you can download and launch for each upgrade (or even at the first installation, since it also contains the una tantum kerberos installation, which still can be skipped by the user after an interactive question from the script).


hronir said...

Kubuntu 7.10 is just come out. The upgrade on my three linux-boxes is done. The afs module has to be re-compiled.
I'm proud to confirm that everything got fine with my afs-on-ubuntu script and in a minute or so I get my afs service working again!
Thanks to myself! :)

Davide said...

Thank you very much!!
Very useful!

hronir said...

Thank you for the feedback! :)

Simona said...

Thank you very much!!!
I had the problem
"Unable to authenticate to AFS because a pioctl failed."
but using your procedure it worked!

Anonymous said...

Many thanks for putting this together, it helped me get through this problem..James

hronir said...

Thanks you for feedback, glad to be of use :)