创建有配额的文件夹主要是利用Linux下的loop设备
Linux中有一种特殊的块设备叫loop device,这种loop device设备是通过影射操作系统上的正常的文件而形成的虚拟块设备。也就是说loop设备是一个虚拟设备,是用于把某个文件虚拟成一个磁盘介质设备的.关联之后对loop可以格式化,实际就是对关联文件进行某种操作,能够让这个文件像磁盘一样被mount,并且使用。
也可以理解成,循环设备可以把文件虚拟成块设备(block device),以便模拟整个文件系统,这样用户可以将其看作是硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。
以下是创建配额文件夹的具体步骤:
1. 先用dd命令创建一个20M大小的配额文件
dd if=/dev/zero ibs=2M count=10 of=/usr/local/test.img
if=/dev/zero:表示输入文件为/dev/zero,也可以用/dev/null
ibs=2M: IBlockSize表示块大小为2M
of=/usr/local/test.img:输出文件
2. 将test.img文件与loop设备进行关联
losetup /dev/loop0 /usr/local/test.img
3. 在虚拟设备上创建文件系统,实际上是针对test.img的操作,因为已经将它关联给了/dev/loop0
mkfs /dev/loop0
4. 将文件设备挂载到目标文件夹上,就完成了文件夹(/usr/local/test02)的配额功能
mount /dev/loop0 /usr/local/test02
5. 不再使用时需要释放资源
umount /usr/local/test02 losetup -d /dev/loop0
6.把启动程序的命令添加到/etc/rc.d/rc.sysinit 文件中
脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等
losetup -a |wc -l