При выполнении,
fallocate -l 10G /path/to/file
Я возвращаюсь следующая ошибка:
fallocate: file: fallocate failed: Operation not supported
При создании файла с помощью dd (если =/dev/zero или если =/dev/urandom) работы, но если я пытаюсь создать большие файлы, десятки ГБ в размере, требуется несколько часов для завершения.
Под управлением Ubuntu 14.04. Используя ext4 раздел, указывая тип файла, кажется, не изменяет результат.
Хорошо работая на моих машинах CentOS6, просто не Ubuntu.
Если редкие файлы хорошо для Вас (например, Вы хотите создать изображение для заполнения его с файловой системой), они создаются в мгновение ока вообще
Взятие на 100 ГБ 3 миллисекунды:
# time dd if=/dev/zero of=tmptst.dat bs=1G seek=100 count=0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0,00037726 s, 0,0 kB/s
real 0m0.003s
user 0m0.000s
sys 0m0.002s
Получающийся файл:
# ls -lh tmptst.dat
-rw-r--r-- 1 root root 100G 2015-01-22 16:39 tmptst.dat
Его реальный размер в данный момент: 0 байтов
# ls -lsh tmptst.dat
0 -rw-r--r-- 1 root root 100G 2015-01-22 16:39 tmptst.dat
Если вы не заботитесь о контенте, а просто нуждаетесь в каких-то данных,
Сначала сделайте,
dd if=/dev/urandom of=tmp.txt bs=1M count=1
Это создаст,
-rw-r--r-- 1 root root 1.0M Oct 17 00:30 tmp1.txt.
Затем, если вы хотите создать файл 10M, используйте созданный выше файл для добавления несколько раз,
for i in {1..10}; do dd if=tmp.txt of=tmp1.txt bs=1M oflag=append conv=notrunc; done;
Я также столкнулся с этой проблемой.
символьная ссылка А в пути к каталогу, кажется, проблема. попробуйте ту же команду на/tmp, и это должно работать.
я смог обойти проблему путем добавления '-x' к fallocate команде. Это вызвало 'posix режим', и он предположил для занимания больше времени.
Даже при том, что файловая система была ext4, который символьная ссылка вызывала 'не поддерживаемый в этой файловой системе' ошибка. На самом деле, если я перешел непосредственно к имени каталога (без каких-либо символьных ссылок), fallocate (), вызов действительно работал.
A1: не имейте символьных ссылок нигде на название полного пути файла, который Вы создаете.
A2: используйте '-x', даже при том, что он занимает больше времени.
b\375