Резюме, прерванное, копируя процесс

"Никакой такой файл" ошибка просто не означает, что это ожидало находить что-то, и не мог. В этом случае был рабочий системный процесс, но когда он пошел для проверки proc записей относительно него, они не были там. Это могло означать, что процесс скрыт и быть плохим, или это могло просто означать, что это естественно остановилось, прежде чем это нашло время для того, чтобы быть посмотревшимся на.

Другие файлы являются файлами в Вашей системе, которую chkrootkit считает подозрительным и должен быть изучен. [редактирование:] В этом случае они - главным образом файлы библиотеки, которые запускаются с точки, но также и имеют дополнительное расширение. Вы поиск, что эти файлы и узнают, куда они произошли из.

8
28.07.2012, 21:14
3 ответа

Да можно использовать dd для пропуска блоков.

A="file1"
B="file2"

BLOCKSIZE=512  # default bs for dd

size_b=$(stat -c "%s" "$B")
skip_blocks=$((size_b / BLOCKSIZE))

dd if="$A" of="$B" skip=$skip_blocks seek=$skip_blocks bs=$BLOCKSIZE

Важные параметры здесь skip а также seek:

  • skip: пропустите БЛОКИ ibs-размерные блоки в начале входа
  • seek: пропустите БЛОКИ obs-размерные блоки в начале вывода
12
27.01.2020, 20:08

Вы хотите rsync:

rsync -a --append "$A" "$B"
10
27.01.2020, 20:08
  • 1
    я не хочу использовать rsync. Давайте предположим, что A составляет 1 ТБ, и я уже скопировал 900 ГБ данных и существует 100G остающееся. rsync считал бы целого 1 ТБ, в то время как мне нужно только последнее 100G!-> Read сначала об алгоритме, который используется: en.wikipedia.org/wiki/Rsync#Algorithm –  Grzegorz Wierzowiecki 28.07.2012, 21:23
  • 2
    @GrzegorzWierzowiecki я думаю, что Вы неправы. Если мой опыт с rsync не будет совершенно неправильным, rsync считает то, что он должен считать, чтобы проверить, что вывод является правильным, пока он не поражает точку, где там начинают появляться несоизмеримости, и затем он продолжится от той отмеченной точки. Это надеется быть в значительной степени точно, что необходимо. –  killermist 29.07.2012, 02:35
  • 3
    Для этого для работы также необходимо добавить --append. –  Thor 29.07.2012, 04:06
  • 4
    Благодарен за то, что @Thor подчеркивает эту опцию. Поскольку я проверил дважды, это кажется тем поведением --append изменился начиная с версии 3.0.0. Вы могли гарантировать мне если в настоящее время --append уже игнорирует скопированную часть, в то время как --append-verify чтения, целые для проверки контрольной суммы? (прежде чем версия 3.0.0. --append ведший себя как --append-verify -> Это - причина недоразумения), –  Grzegorz Wierzowiecki 29.07.2012, 12:54
  • 5
    @GrzegorzWierzowiecki: Я не заметил это изменение. Я просто протестировал его, и действительно --append вслепую добавляет в файл. --append-verify делает то же, но выполняет контрольные суммы в конце, если контрольные суммы не соответствуют rsync кажется, делает новую копию. –  Thor 29.07.2012, 13:36

Вы пробовали dd skip со смещением B реальный размер файла (независимый от размера блока раздела)?

Это получило бы Вас недостающая часть. В той точке Вы могли непосредственно cat их вместе в новый файл с cat "$B" "$A2" >> "$C"; #mv "$C" "$B" (где $C конечно, недостающая часть на пути с достаточным количеством пространства).

cat хорошо работает для конкатенации двоичных файлов также, и в этом случае у Вас нет нескольких заголовков файлов, которые были бы предварительный цент простые слияния в виде сценария. Существует шанс конец $B повреждается, но в этом случае Вы могли прервать его и перечитать больше $A в начальной букве dd шаг.

3
27.01.2020, 20:08

Теги

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