Quickly create a large file on a Linux system

file, filesystems, linux

Solution

`dd` from the other answers is a good solution, but it is slow for this purpose. In Linux (and other POSIX systems), we have `fallocate`, which uses the desired space without having to actually write anything to it, works with most modern disk based file systems, very fast:

For example:

fallocate -l 10G gentoo_root.img

Problem

How can I quickly create a large file on a Linux (Red Hat Linux) system? dd will do the job, but reading from `/dev/zero` and writing to the drive can take a long time when you need a file several hundreds of GBs in size for testing... If you need to do that repeatedly, the time really adds up. I don't care about the contents of the file, I just want it to be created quickly. How can this be done? Using a sparse file won't work for this. I need the file to be allocated disk space.

Original source