Installare NFS su Linux

Per poter abilitare un server NFS in ambiente Linux occorre semplicemente configurare e compilare il kernel con il supporto NFS server (anche client se si desidera) e installare tramite rpm o sorgenti le nfs-utils, ovvero tutti i comandi per la gestione dei demoni e delle share.

Nel caso della distribuzione RedHat, il kernel di default supporta sia NFS server che client tramite moduli, ma nel caso si utilizzi una distribuzione differente o pi semplicemente si disabilitato il supporto di NFS nel kernel, occorre riabilitarlo, con la ricompilazione del kernel.
La sezione relativa a NFS File-System ---> Network File System --->NFS client o server, come si pu vedere dalla screenshot:

Si consiglia di evitare di utilizzare i moduli, per evitare problemi con le dipendenze.

Abilitato il supporto in kernel space occorre installare tramite rpm o sorgenti
portmap le nfs-utils, il primo un servizio che deve essere abilitato sia sul client che sul server e si occupa di convertire da RPC program port in DARPA protocol port numbers, il secondo invece, l'insieme di binari,librerie, manuali e tutto ci che serve per supportare e gestire NFS in user space.

Installazione delle nfs-utils
Il modo pi veloce certamente quello di utilizzare i package come RPM o DEB
[[email protected] root]# rpm -ihv  nfs-utils-1.0.1-2.i386.rpm
Preparing...                ########################################### [100%]
   1:nfs-utils              ########################################### [100%]

[[email protected] root]# rpm -qil nfs-utils
[...]
Script per la gestione dei demoni per nfs server
/etc/rc.d/init.d/nfs
/etc/rc.d/init.d/nfslock
binari dei demoni e utility
/sbin/rpc.lockd
/sbin/rpc.statd
/sbin/rpcdebug
/usr/sbin/exportfs
/usr/sbin/nfsstat
/usr/sbin/nhfsstone
/usr/sbin/rpc.mountd
/usr/sbin/rpc.nfsd
/usr/sbin/showmount
Documentazione e manuali
/usr/share/doc/nfs-utils-1.0.1
/usr/share/doc/nfs-utils-1.0.1/ChangeLog
/usr/share/doc/nfs-utils-1.0.1/INSTALL
/usr/share/doc/nfs-utils-1.0.1/KNOWNBUGS
/usr/share/doc/nfs-utils-1.0.1/NEW
/usr/share/doc/nfs-utils-1.0.1/README
[...]
/usr/share/man/man5/exports.5.gz
/usr/share/man/man8/exportfs.8.gz
/usr/share/man/man8/lockd.8.gz
/usr/share/man/man8/mountd.8.gz
/usr/share/man/man8/nfsd.8.gz
/usr/share/man/man8/nfsstat.8.gz
/usr/share/man/man8/nhfsgraph.8.gz
/usr/share/man/man8/nhfsnums.8.gz
/usr/share/man/man8/nhfsrun.8.gz
/usr/share/man/man8/nhfsstone.8.gz
/usr/share/man/man8/rpc.lockd.8.gz
/usr/share/man/man8/rpc.mountd.8.gz
/usr/share/man/man8/rpc.nfsd.8.gz
/usr/share/man/man8/rpc.statd.8.gz
/usr/share/man/man8/showmount.8.gz
/usr/share/man/man8/statd.8.gz
File di supporto per tenere traccia delle share montate
/var/lib/nfs
/var/lib/nfs/etab
/var/lib/nfs/rmtab
/var/lib/nfs/statd
/var/lib/nfs/xta


Nel caso in cui si vogliano compilare direttamente i sorgenti possibile scaricarli dal seguente indirizzo:
http://sourceforge.net/project/showfiles.php?group_id=14&release_id=100684.
[[email protected] root]# tar zxvf nfs-utils-1.0.1.tar.gz
[...]
nfs-utils-1.0.1/utils/statd/statd.man
nfs-utils-1.0.1/utils/statd/state.c
nfs-utils-1.0.1/utils/statd/svc_run.c
nfs-utils-1.0.1/utils/statd/system.h
nfs-utils-1.0.1/utils/statd/version.h
[root[email protected] root]# cd nfs-utils-1.0.1              
[[email protected] nfs-utils-1.0.1]# ./configure
[...]
creating ./config.status
creating config.mk
creating nfs-utils.spec
creating utils/Makefile
creating support/include/config.h
[[email protected] nfs-utils-1.0.1]# make
Making all in tools
Making all in rpcgen
gcc -O2 -I../../support/include -Wall  -pipe  -DVERSION="\"nfs-utils 1.0.1\"" -DNFS3_SUPPORTED   -c -o rpc_clntout.o rpc_clntout.c
[...]
[[email protected] nfs-utils-1.0.1]# make install
Making install in tools
Making install in rpcgen
Making install in getiversion
Making install in getkversion
Making install in rpcdebug
Making install in locktest
Making install in support
Making install in include
Making install in nfs
Making install in export
Making install in lib
Making install in misc
Making install in utils
Making install in exportfs
[...]


Nella distribuzione RedHat il package portmap viene installato di default poich richiesto da altri servizi come ad esempio NIS.  
[[email protected] root]# rpm -qil portmap
[...]
Script per las gestione del servizio
/etc/rc.d/init.d/portmap
Binari
/sbin/portmap
/usr/sbin/pmap_dump
/usr/sbin/pmap_set
Documentazione e manuali
/usr/share/doc/portmap-4.0
/usr/share/doc/portmap-4.0/BLURB
/usr/share/doc/portmap-4.0/CHANGES
/usr/share/doc/portmap-4.0/README
/usr/share/man/man8/pmap_dump.8.gz
/usr/share/man/man8/pmap_set.8.gz
/usr/share/man/man8/portmap.8.gz


Sia gli RPM di binari sia di sorgenti di portmap sono disponibili al seguente indirizzo:
http://rpmfind.net/linux/rpm2html/search.php?query=portmap&submit=Search+...
Esempio di installazione da sorgente:
Download dei sorgenti in formato rpm
[[email protected] root]# wget ftp://rpmfind.net/linux/redhat/8.0/en/os/i386/SRPMS/portmap-4.0-46.src.rpm
--15:14:02--  ftp://rpmfind.net/linux/redhat/8.0/en/os/i386/SRPMS/portmap-4.0-46.src.rpm
           => `portmap-4.0-46.src.rpm'
[[email protected] root]# rpm -ihv  portmap-4.0-46.src.rpm
   1:portmap                ########################################### [100%]
Costruzione dei binari tramite l'utility rpmbuild
[[email protected] root]# rpmbuild -bb /usr/src/redhat/SPECS/portmap.spec
[...]
Una volta costruito il package lo ritroviamo nella seguente directory
/usr/src/redhat/RPMS/i386/

Privacy Policy