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

Простым подходом будет присвоение результата переменной, а затем работа с этой переменной. Example:

for filename in images/*
do
    echo "filename is now $filename"
    filename=${filename/jpg/png}; echo "filename is now $filename"
    filename=${filename/file/image}; echo "filename is now $filename"
    echo "final filename is ${filename}"
done
7
27.02.2019, 04:21
3 ответа

Попробуйте использовать инструмент (Безопасное заполнение )в безопасном удалении.

sudo apt-get install secure-delete

(изhttps://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux)

4
27.01.2020, 20:13

Здесь может быть несколько недоразумений, поэтому команда не делает того, что вы, возможно, ожидаете.

sudoявляется лишним, так как вам не нужно sudoдля чтения из /dev/urandom. Часть > some-fileявляется перенаправлением оболочки и, таким образом, вообще не охватывается sudo. Так что ваш sudoсупер неэффективен.(Примечание:в этом конкретном случае sudoможет работать как задумано независимо, см. комментарии. Однако отказ от использования sudoтаким образом является шаблоном, так как в других случаях он укусит вас.)

Затем вы записываете в обычный файл. Это заполняет свободное пространство -файловой системы, в которой находится файл. Если у вас есть несколько файловых систем (, одна для /, одна для /home, загрузочные разделы и разделы подкачки и т. д. ), они также не затронуты.

В лучшем случае это перезаписывает только свободное пространство . Нет никакой гарантии, что он покроет все (, зависящее от внутреннего устройства файловой системы, корневого резерва, журнала, упакованного/зарезервированного и т.д. секторов ), и он не перезаписывает файлы, которые все еще находятся там регулярно (, и они могут включать файлы, спрятанные в папках корзины / эскизов / кеша или просто в каком-то подкаталоге, о котором вы забыли ).

Все они все равно будут подхвачены photorec, так как они никогда не перезаписываются.

Кроме того, запись этого файла должна быть завершена в первую очередь. Таким образом, вместо того, чтобы удалять его сразу после этого, вы должны сначала syncубедиться, что все эти случайные данные действительно попали на диск, а не только какой-то буфер записи в ОЗУ, который никогда не будет записан.

Таким образом, с этим методом нет никакой гарантии ни на что. В то же время это опасно, так как в файловой системе закончится свободное место,что, в свою очередь, может вызвать сбои записи для всех других программ и, таким образом, привести к непреднамеренной потере данных.

16
27.01.2020, 20:13

Как избавиться от всех данных, которые ваш племянник не должен видеть

Я думаю, что есть только один способ перезаписать все места, где могут остаться «удаленные» данные.

  • Сделайте резервную копию вашей системы (полную резервную копию ). Один из вариантов — создать клонированный образ с помощью Clonezilla.

  • Очистить весь диск (при условии, что один диск ). Для жесткого диска или твердотельного накопителя существуют специальные инструменты/методы, которые работают на низком уровне (и изменяют сопоставление между логическими и физическими ячейками памяти ), и они намного быстрее, чем, например, ddперезаписать нулями.Вы часто можете получить доступ к таким инструментам (, встроенным -в приводы )через hdparm.

  • Сделайте новую установку и передайте компьютер молодому и -подкованному в Linux племяннику.

Простой способ

Но если вы можете себе это позволить, отключите внутренний диск и замените его новым диском. Пусть ваш племянник установит свой любимый дистрибутив Linux:-)

9
27.01.2020, 20:13

Теги

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