LINUX.ORG.RU
Ответ на: комментарий от anonymous


>Но ниоткуда не следует, что он будет располагаться точно в тех же
>физических блоках. dd видит, что файл с заданым именем существует,
>поэтому, что она делает? Правильно, удаляет его. И создает новый.
>Если бы размер был разный, мы бы это сразу заметили: dd if=/dev/zero >of=test.img count=1 отнюдь не обнулит первый блок этого файла, как
>наивно полагали бы некоторые windows-администраторы. Поэтому все
>дальнейшие операции (включая неразрушающий mke2fs) будут >выполняться уже на второй копии файла. Ergo исходная программа в >безопасности и будет работать столько, сколько понадобится

Нет - это неправильный ход мысли - файл можно будет убить только
операцией с "внутрифайловой" fs

все предложенные Вами гипотезы не срабатывают

см. следующий скрипт

#!/bin/bash
declare -i num_run=0;
trap "umount /mnt;exit" SIGINT
dd if=/dev/zero of=test.img count=4k
mke2fs -F test.img
mount test.img -o loop -t auto /mnt
cp `which mke2fs` /mnt/mke2fs
while true
do
ls -i test.img
strace dd if=/dev/zero of=test.img count=4k
ls -i test.img
/mnt/mke2fs -Fcc test.img
sleep 1
done



опыт с dd и strace Вы можете провести самостоятельно

sS ★★★★★
()

>Нет - это неправильный ход мысли - файл можно будет убить только >операцией с "внутрифайловой" fs

>все предложенные Вами гипотезы не срабатывают

Бездоказательное утверждение. В отличие от предыдущего.

anonymous
()
Ответ на: комментарий от anonymous


>Бездоказательное утверждение. В отличие от предыдущего.

ну вставьте в цикл rm /mnt/mke2fs
или echo /dev/null > /mnt/mke2fs

про перемещение файла в какое то другое место и неразрушающие опции mke2fs в скрипте есть ответ

sS ★★★★★
()

Вдогон

strace из скрипта конечно лучше убрать ;)
это я его там забыл ;)

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.