Quota permette di gestire lo spazio occupato su disco dei singoli utenti o dei singoli gruppi, limitando ad esempio lo spazio riservato alla posta di un singolo utente.
Il supporto di quota deve essere abilitato a livello di kernel e richiede delle utility per la gestione e la configurazione dei limiti dello spazio da assegnare.
Configurazione del kernel
Per poter utilizzare quota, occorre che il kernel supporti tale feature, quindi occorre ricompilare il kernel se quello attualmente in uso non ne ha il supporto.
La sezione relativa a quota è File System, sezione raggiungibile dal menu principale.
Informarsi sul sito ufficiale www.kernel.org sia per le modalità di compilazione sia per eventuali patch relative a quota.
Il kernel di default utilizzato dalla maggior parte delle distribuzioni supporta quota tramite i relativi moduli, per cui generalmente, questa fase non è necessaria.
Installazione tool di gestione
L'installazione dei tool che operano in user space può avvenire o tramite installazione dei package tipici della distribuzione utilizzata (.rpm, .deb), oppure tramite compilazione dei sorgenti.
Vediamo alcuni esempi:
Compilazione Sorgenti
I sorgenti sono reperibili al seguente indirizzo: http://sourceforge.net/projects/linuxquota.
Download dei sorgenti e scompattazzione
[neo@dido neo]$ wget http://flow.dl.sourceforge.net/sourceforge/linuxquota/quota-3.09.tar.gz
[...]
10:09:42 (37.05 KB/s) - `quota-3.09.tar.gz' saved [190819/190819]
[neo@dido neo]$ tar zxvf quota-3.09.tar.gz
[...]
quota-tools/quotagrpadmins
quota-tools/svc_socket.c
Configurazione e compilazione
[neo@dido neo]$ cd quota-tools/
Lanciando lo script configure mettendo come argomento --help è possibile richiamare la lista degli arogmenti e i relativi significati che accetta tale script
[neo@dido quota-tools]$ ./configure
creating cache ./config.cache
checking for gcc... gcc
[...]
creating ./config.status
creating Makefile
[neo@dido quota-tools]$ make
[...]
cc -o rpc.rquotad rquota_server.o rquota_svc.o svc_socket.o bylabel.o common.o quotasys.o pot.o quotaio.o quotaio_v1.o quotaio_v2.o quotaio_rpc.o quotaio_xfs.o quotaio_generic.o rquota_xdr.o rquota_client.o rquota_clnt.o -lnsl -lwrap -lwrap
[neo@dido quota-tools]$ su -
Password:
[root@dido root]# cd /home/neo/quota-tools/
Installazione
[root@dido quota-tools]# make install
[...]
Installazione tramite rpm
Si possono trovare i pacchetti (chiamati quota...rpm) su siti come www.rpmfind.net.
Download rpm
[root@dido root]# wget ftp://ftp.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/quota-3.06-9.i386.rpm
[...]
Installazione
[root@dido root]# rpm -ihv quota-3.06-9.i386.rpm
Preparing... ########################################### [100%]
1:quota ########################################### [100%]
Verifica del contenuto
[root@dido root]# rpm -qil quota
[...]
File di configurazione per l'invio delle email
/etc/warnquota.conf
Binari
/sbin/convertquota
/sbin/quotacheck
/sbin/quotaoff
/sbin/quotaon
/usr/bin/quota
File Header
/usr/include/rpcsvc/rquota.h
/usr/include/rpcsvc/rquota.x
Binari
/usr/sbin/edquota
/usr/sbin/quotastats
/usr/sbin/repquota
/usr/sbin/rpc.rquotad
/usr/sbin/setquota
/usr/sbin/warnquota
/usr/share/locale/pl/LC_MESSAGES/quota.mo
Manuali
/usr/share/man/man1/quota.1.gz
/usr/share/man/man2/quotactl.2.gz
/usr/share/man/man3/rquota.3.gz
/usr/share/man/man8/convertquota.8.gz
/usr/share/man/man8/edquota.8.gz
/usr/share/man/man8/quotacheck.8.gz
/usr/share/man/man8/quotaon.8.gz
/usr/share/man/man8/repquota.8.gz
/usr/share/man/man8/rquotad.8.gz
/usr/share/man/man8/setquota.8.gz
/usr/share/man/man8/warnquota.8.gz
I principi e i comandi per gestire un file system: mount, df, du, fsck, mkfs.