Как я могу создать файлы в каталоге, чтобы индексные дескрипторы выделялись файлам с непоследовательными номерами индексов?

Оформить отправку и получение ZFS.

Команда zfs send создает потоковое представление моментального снимка, который записывается на стандартный вывод. По умолчанию создается полный поток. Вы можете перенаправить вывод в файл или в другую систему.Команда zfs receive создает моментальный снимок, содержимое которого указано в потоке, предоставляемом для стандартного ввода. Если получен полный поток, также создается новая файловая система. С помощью этих команд вы можете отправлять данные моментальных снимков ZFS и получать данные моментальных снимков ZFS и файловые системы. См. Примеры в следующем разделе.

Вы можете сделать резервную копию всей файловой системы в файл и восстановить резервную копию на удаленном сервере. Никаких специальных инструментов не требуется.

https://docs.oracle.com/cd/E18752_01/html/819-5461/gbchx.html

1
31.03.2017, 14:09
3 ответа

Ну, простым подходом было бы просто создать кучу временных файлов перед каждым .bin файлом:

function randomFiles() {
    for (( i=1; i<=$[$RANDOM%$1+1]; i++ ))
    do
            mktemp -q --tmpdir=.
    done
}

for n in {1..1000}; do
    dd if=/dev/urandom of=file$( printf %03d "$n" ).bin bs=1 count=$(( RANDOM + 1024 ))
    randomFiles 10
done

rm -f tmp.*

Это создаст от 1 до 10 временных файлов после каждого .bin файла, сдвигая следующий номер inode вперед.

3
27.01.2020, 23:19

Создайте тестовый образ файловой системы раз и навсегда. При необходимости используйте отладчик файловой системы, чтобы получить нужные вам номера inode. Чтобы выполнить проверку, создайте копию образа и смонтируйте его.

Вы можете использовать файловую систему FUSE для монтирования образа файловой системы без прав root. Нет реализации FUSE для ext4, но есть для ext2, для zfs и т.д.

0
27.01.2020, 23:19

Просто измените порядок их создания:

#! /bin/bash
for n in $(seq 1 1000 | sort -R); do
    dd if=/dev/urandom of=file$( printf %03d "$n" ).bin bs=1 count=$(( RANDOM + 1024 ))
done
1
27.01.2020, 23:19

Теги

Похожие вопросы