Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Леонид Каганов ([info]lleokaganov)
@ 2020-11-07 21:53:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Вселенские размышления о судьбах фоток в партициях ext3/ext4
это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/07

Волшебным образом оказалась удаленной папка /r/FOTO с архивом фотографий, и вот уже третий день я пытаюсь ее восстановить. Это было место на сервере с каталогами «Конвенты и поездки», «Мероприятия», «Семья», «Документы и сканы» и так далее — и в каждой все разложено по годам за 20 лет.

Несмотря на самостоятельно утвержденный праздник «11 марта День Бэкапа», я конечно ни хрена его не соблюдал даже раз в год. Как теперь выяснилось, последний раз бэкап архивов я делал примерно в феврале 2014 при замене роутера с Asus на Banana Pi, когда в нем менялся носитель и способ его включения. Нынче же, скорее всего, дело было так: на прошлой неделе я отдавал другу Кириллу свой старый ноутбук и чистил от мусора. Вместо того, чтобы удалить папку /FOTO в ноутбуке я зачем-то полез сравнивать ее с одноименной, но в тысячу раз более крупной /FOTO сервера, хотя было понятно, что ноутбук давно под снос, и ничего не скопированного там быть не могло. В итоге, скорее всего, тупо нажал не туда и удалил /FOTO сервера вместо ноутбука. Но может что-то случайно нажал Стаська или Маргарита — мало ли у кого доступ к домашнему серверу. Или просто случился сбой.

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

С одной стороны, да и фиг с ними, с фотками. Чего ради их хранить? От Пушкина вообще фоток не осталось, а все помнят его жизнь по часам. А от Васи Пупкина останутся тысячи IMAGE000.NEF после каждой воскресной рыбалки, и кому оно нужно? Ну правда, так ли мне нужен архив фоток? На Небесном Ютубе вся наша жизнь и так записана.

С другой стороны — что-то во мне говорит, что надо попытаться восстановить. Вот и пытаюсь. Беглое изучение проблемы показало, что технологии сделали большой шаг назад в пещеры. Это в системе DOS когда-то можно было восстановить стертые файлы — пропадала только первая буква имени, но существовали кучи удобных утилит, которые наперебой показывали удаленные файлы и предлагали их восстановить. Современные «журналирующие» системы типа ext3/ext4 совершенно лишены этого недостатка! Тут сделано всё, чтобы при удалении информации все её следы мгновенно разлагались на плесень и битовый мёд с потерей всех связей. Где там «журналирование» — не знает ни один софт.

Диск живет своей растительной жизнью в мире пронумерованных байтов — хороших, плохих, занятых или свободных. Современный диск знает много о себе — своем состоянии, колебаниях температуры прошлым летом, помнит все свои сбои с момента рождения. Но о своем содержимом диск не знает ничего. Поверх диска иногда из говна и палок очередная операционная система выстраивает свою не относящиеся к диску логическую приблуду типа «Корзины», куда сама кладет файлы, удаленные средствами своих собственных оконных менеджеров. Если же никаких оконных менеджеров и «Корзин» не было заранее установлено и включено (а речь у нас о серверном архиве), то диск остается горой молекул. Словно мы живем в мире розовых единорогов, когда случайно удаленный файл или папка — такое невероятное событие в жизни пользователя ПК, как наводнение в Чертаново до 6-го этажа. Поэтому никаких готовых инструментов, типа держать на балконе надувную лодку, никто никогда не создавал.

Обзор существующих инструментов намекает, что раз в десять лет (не чаще) пользователи сталкиваются с проблемой потери данных, но только фоток JPG. Как я. Хотя я мог удалить и папку /lleo с литературными архивами за 30 лет от первых owes.lst еще с БК0010 до всяких Поэпизодник_драфт3.docx Да и семейных видео MOV в папке /FOTO тоже жалко. В общем, для поиска в молекулярном говне обрывков JPG (и только их) есть софт! Он одинаково убог для Юникса и Мака (на Маке он еще и платный, я его покупал 10 лет назад, чтобы помочь Наталье восстановить утерянную фотосъемку по работе). Софт безнадежно консолен. И результат дает ужасающий. Если в мире существует нормальный софт, который найдет все удаленные папки и их подкаталоги с файлами и предложит отметить на экране галочками, какие восстановить — то я такого не нашел.

А результатом двухчасовой консольной работы recoverjpeg /dev/sda1 стала флешка, заполненная файлами с именами image00001.jpg — image139916.jpg Сто сорок тыщ анонимных фоток в одной папке. Порой сильно помятых фоток — загадочные артефакты проехались тракторными гусеницами по каждой третьей, а в каждую четвертую встроили окошко с каждой пятой внутри. Как правило, все без геотэгов и времени создания в exif-информации, потому что в поездках и на мероприятиях чаще была зеркалка, а не мобильник. Даже если всё нужное удалось восстановить, что с этим предполагается делать? Найти среди 139916 безымянных фоток что-то или рассортировать вручную — нереально. Если тратить на просмотр каждого снимка 5 секунд, потребуется ровно месяц ежедневного восьмичасового труда. В общем, пока что я набросал своих скриптов, которые каталогизируют все фотки в базу, а потом можно сравнивать по MD5, какие из найденных фоток дублируются между собой (оказалось, около 10%), и какие из них имеются в архиве до 2014 года на своих местах. Хотя бы так пока сократим кучу.

Но вообще скажу, что я изумлен. Очень давно (да практически никогда) я не сталкивался с потерей данных и необходимостью их восстанавливать, и не предполагал, что в этом плане всё становится НАСТОЛЬКО хуже год от года. Человечество тратит ниибическое количество ресурсов на придумывание идиотских форматов с бессмысленным дублированием самой ничтожной информации. На магазинном чеке дата покупки трижды повторяется. А предусмотреть в ext4 хоть грамм места для запоминания удаленных структур и создать удобные инструменты для работы — нет, что вы... Сегодня редкий файл JPG весит меньше 8мб, информация о его структуре и расположении — в десять тысяч раз меньше. Вам, сука, лень было найти в дисковой структуре сраные маркерные кусочки байт для дублирования всех стираемых каталогов, связей и последовательностей транзакций?! На дворе — на минуточку — 2020 год, человечество вроде немного имеет представление о причинно-следственных связях, оформленных в виде списка транзакций. В любом сраном софте давно есть кнопки undo и redo, позволяющие откатить обратно каждую написанную букву или нарисованную линию. Но когда речь не о лишней букве в файле DOC и лишней точке в файле PNG, а о самих файлах — тут, конечно, никаких инструментов отката нет, удален так удален. Это нормально? Что бы ни случилось с диском — человек удалил папку, удар осыпал пару магнитных секторов, сбойнувший софт затер пару блоков, сбой питания закинул нули в то место, где хранили каталог — всё. Информация пользователя по-прежнему лежит на своем месте неповрежденной, но это место никому теперь не известно. Данные превратились в триллиард молекул говна, и восстановить их может лишь особая лаборатория за триллиард денег и человеко-часов. Что это, если не промышленное вредительство и впаривание облачных сервисов? У которых насколько я догадываюсь, те же проблемы с удаленным добром? Я уже не говорю, что основное место хранения фоток — смартфоны. Вы когда-нибудь слышали про инструмент, позволяющий легко и быстро восстановить в смартфоне случайно стертую фотку — чтоб официально, без хакерской перепрошивки аппарата на root-права? Нет, блять, ведь никому во всем мире не случалось удалить по ошибке нужные файлы в смартфоне, нет такой проблемы, оказывается. Но речь не про смартфон.

В общем, если вам известен какой-то нормальный Linux-софт для восстановления стертых структур с файлами, кроме этих ужасных консольных recoverjpeg, photorec и прочих, поделитесь знанием?



это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/07