在Linux中,如何创build精简configuration文件,以便可以挂载并创build文件系统?

我正在构build一个给用户一定量的磁盘空间的系统。 我这样做的方式是:

  • dd创build一个文件
  • 在文件内创build一个ext4文件系统
  • 装载该文件并告诉用户程序使用装载点作为其工作目录

我不想使用Linux配额系统,因为我不希望用户是本地系统用户。

上面的工作很好,但是由于用户没有使用所有的津贴,所以浪费了空间,但是整个津贴已经被分配了。

有一个命令,可以做同样的事情,但不是一次分配整个文件? 所以我可以制作一个20GB的文件,挂载的时候会报告20GB的空间,但是只能实际上把写到的内容拿出来呢?

您可以使用ddseek参数来创build一个稀疏文件 :

 dd if=/dev/zero of=filesystem.img bs=1k seek=1024M count=1 

会创build一个文件,可以达到1G的大小,但只会占用必要的空间。

看看稀疏文件 。

 dd if=/dev/zero of=file.img bs=1 count=0 seek=1024M 

创build一个1024Mb的稀疏文件,可以格式化并安装为文件系统。 关于稀疏文件的更多信息在这里使用。

在CentOS中,你可以使用如下的qemu工具;

qemu-img create -f raw the_filename 5G