Можно использовать reset
команда, которая сбросит терминальные настройки.
Вообще говоря, просто используйте dd
; но поскольку Вы упоминаете использование виртуализации KVM, Вы могли бы рассмотреть использование qemu-img
:
qemu-img create -f raw disk 2G
Это делает то же как dd
команда в ответе Chris Down, эффективно.
Независимо от того, какую команду Вы используете для использования в виртуализации, я настоятельно рекомендовал бы использовать fallocate
предварительно выделить блоки для предотвращения выполнения фрагментации и увеличения.
fallocate -l 2G disk
Это не доступно на всех платформах и файловых системах, все же. Это не запишет, обнуляет, но просто присваивает блоки файлу, вместо того, чтобы делать это по запросу позже каждый раз, когда он должен расширить файл.
Можно создать редкий файл как это с dd
:
dd of=file bs=1 seek=2G count=0
$ du file
0 disk
$ du --apparent-size file
2097152 disk
2G
расширение GNU dd
. Можно использовать bs=1024 seek=2097152
если у Вас нет GNU dd
. заключение в кавычки
– Chris Down
20.12.2012, 16:29
G
расширение, и оно не поддерживается версией OpenBSD dd..., но, M
и K
поддерживаются, так возможно, seek=2048M
более читаемо, в зависимости от каких платформ Вы нацелены
– Earlz
20.12.2012, 22:01
См. также GNU truncate
команда:
truncate -s 2G some-file
qemu-img
иdd
оба выполняют один системный вызов для установки (ftruncate) размера файла, но будут работать намного больше для загрузки себя и библиотек, с которыми они связаны. И, в том отношении,dd
будет намного более эффективным, чемqemu-img
(который намного больше и связан с намного большим количеством библиотек). GNUtruncate
будет еще более эффективным.dd
также имеет преимущество того, чтобы быть повсеместным. Положительная сторона уfallocate
все же. – Stéphane Chazelas 20.12.2012, 19:42qemu-img
просто очевидная альтернатива в использовании виртуализации KVM. – gertvdijk 21.12.2012, 02:09