Download the patch for your kernel at:
ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/.
Choose your kernel version and download the patch(es). Patch your kernel with the 'patch' command. If there is more than 1 patch for your kernel version, be sure to apply the patches in the correct order.
You can use this script ( I assume the downloaded patches are in /tmp/quota/ and the kernel has been untarred to /usr/src/linux) :
#!/bin/sh gunzip /tmp/quota/*.gz cd /usr/src/linux COUNT=`ls -1 /tmp/quota/*.diff | wc -l` for I in `seq 1 $COUNT` do patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff done
Reconfigure your kernel and add quota support.
Via `make menuconfig` or `make xconfig` you can find the option to support quota under the Filesystems-menu. You can specify extra options if you need them, like 32-bit UID support.
Save the configuration and compile the kernel. Make sure the new kernel will be used when rebooting the system.
To be able to use all the features of the new quota system, you'll probably need to download the new quota-package. Download the new quota software via the URL provided above.
When downloaded do:
$ gzip -dc <downloaded file> | tar xvf $ cd quota-tools (or whatever directory the software is put in) $ ./configure $ make $ su # make install
Here's an example:
# Check quota and then turn quota on. if [ -x /usr/sbin/quotacheck ] then echo "Checking quotas. This may take some time." /usr/sbin/quotacheck -avug echo " Done." fi if [ -x /usr/sbin/quotaon ] then echo "Turning on quota." /usr/sbin/quotaon -avug fi
The golden rule is that always turn quota on after your file systems in /etc/fstab have been mounted, otherwise quota will fail to work. I recommend turning quota on right after the part where file systems are mounted in your system init script.
Partitions that you have not yet enabled quota normally look something like:
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults 1 1
To enable user quota support on a file system, add "usrquota" to the fourth field containing the word "defaults" (man fstab for details).
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota 1 1
Replace "usrquota" with "grpquota", should you need group quota support on a file system.
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,grpquota 1 1
Need both user quota and group quota support on a file system?
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
To activate the quota software you have to reboot the system for the changes you have made to take effect. The new kernel with quota support will be loaded and the startup scripts you've just created will be executed. At first run, quotacheck will generate the appropiate files to maintain the quota databases.
Although quota should work with periodical checks, it sometimes helps to run quotacheck periodically, e.g. weekly. Add the following line to your root's crontab:
0 3 * * 0 /sbin/quotacheck -avug