- Как восстановить перезаписанный файл в Linux — Вокруг-Дом — 2021
- Table of Contents:
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Шаг 6
- Как восстановить и восстановить календарь Outlook
- Как восстановить перезаписанный файл на Mac
- Как восстановить или восстановить веб-браузер microsoft edge в windows 10 1709 и более поздних версиях
- WGet — скачает весь интернет или как пропылесосить любой сайт (Октябрь 2021).
- Можно ли восстановить перезаписанные файлы?
- Как восстановить файл, перезаписанный другим в Linux?
- 3 ответа 3
- Случайно перезаписал файл, помогите
- Восстановление удаленных файлов Linux
- Немного теории
- 1. Safecopy
- 2. TestDisk
- 3. PhotoRec
- Выводы
Как восстановить перезаписанный файл в Linux — Вокруг-Дом — 2021
Table of Contents:
Linux — это операционная система, которая работает на компьютерах Unix. Пользователи могут управлять компьютерами с ОС Linux, используя интерфейс командной строки или графический интерфейс. Резервное копирование файлов на компьютер, работающий с Linux, важно, потому что восстановление файлов может быть сложным. Если вы случайно удалили или перезаписали файлы во время работы на компьютере с Linux, вам нужно будет вводить команды, используя интерфейс Linux, для извлечения потерянных файлов.
Шаг 1
Оцените, какой раздел на вашем компьютере вам нужен для восстановления файлов.
Шаг 2
Размонтируйте каталог с помощью команды «unmount» в интерфейсе. Это поможет предотвратить повреждение файла, который вы пытаетесь восстановить.
Шаг 3
Введите «debugfs» в интерфейсе командной строки (все вводятся без кавычек) и включите файловую систему, в которой перезаписанный файл находится в команде. Например, при вводе «debugfs usr / personal» откроется ваш личный каталог. Нажмите «Enter» после ввода команды.
Шаг 4
Используйте команду «Isdel», набрав «Isdel» в интерфейсе командной строки и нажав «Enter» во время отладки системы. Это вызовет список перезаписанных и удаленных файлов в файловой системе.
Шаг 5
Восстановите перезаписанные файлы, набрав команду «dump filename» в интерфейсе командной строки и нажав «Enter».
Шаг 6
Введите номер «inode», связанный с файлами, которые вы хотите получить, который находится в первом столбце, отображаемом командой «Isdel».
Как восстановить и восстановить календарь Outlook
Microsoft Outlook, который является частью пакета программного обеспечения Microsoft Office, включает функцию календаря, которая позволяет пользователям планировать события и создавать напоминания о важных .
Как восстановить перезаписанный файл на Mac
Если вы случайно удалили важный файл или папку или непреднамеренно заменили его данные более новой версией, не беспокойтесь пока. Не все может быть потеряно. Если.
Как восстановить или восстановить веб-браузер microsoft edge в windows 10 1709 и более поздних версиях
Теперь Microsoft упрощает восстановление или сброс веб-браузера Edge, начиная с Windows 10 Fall Creators Update. Больше не нужно PowerShell.
WGet — скачает весь интернет или как пропылесосить любой сайт (Октябрь 2021).
Источник
Можно ли восстановить перезаписанные файлы?
Я говорю не о восстановлении удаленных файлов , а о перезаписанных файлах. А именно следующими методами:
Можно ли получить что-нибудь, если какое-либо из указанных выше трех действий выполнено, если на компьютере с Linux не установлено никаких специальных программ?
Ответ: «Возможно, да, но это зависит от типа файловой системы и времени».
Ни один из этих трех примеров не перезапишет физические блоки данных old_file или существующие_file, за исключением случайного.
mv new_file old_file , Это отвяжет old_file. Если на old_file есть дополнительные жесткие ссылки, блоки в этих оставшихся ссылках останутся неизменными. В противном случае блоки обычно (в зависимости от типа файловой системы) будут помещены в свободный список. Затем, если mv требуется копирование (в отличие от простого перемещения записей каталога), новые блоки будут выделены как mv записи.
Эти вновь распределенные блоки могут быть или не быть теми же, которые были только что освобождены . В файловых системах, таких как UFS , блоки распределяются, если это возможно, из той же группы цилиндров, что и каталог, в котором был создан файл. Так что есть вероятность, что отсоединение файла от каталога и создание файла в этом же каталоге будет использоваться повторно ( и перезаписать) некоторые из тех же блоков, которые были только что освобождены. Вот почему стандартный совет для людей, которые случайно удаляют файл, — не записывать новые данные в файлы в их дереве каталогов (и желательно не во всю файловую систему), пока кто-то не попытается восстановить файл.
cp new_file old_file будет делать следующее (вы можете использовать strace для просмотра системных вызовов):
Флаг O_TRUNC приведет к освобождению всех блоков данных, как это mv делалось выше. И, как указано выше, они, как правило, добавляются в свободный список и могут или не могут быть повторно использованы последующими записями, выполненными cp командой.
vi existing_file , Если vi это на самом деле vim , 😡 команда делает следующее:
Так что он даже не удаляет старые данные; данные сохраняются в файле резервной копии.
На FreeBSD, vi делает open(«existing_file»,O_WRONLY|O_CREAT|O_TRUNC, 0664) , который будет иметь ту же семантику, что cp и выше.
Вы можете восстановить некоторые или все данные без специальных программ; все , что вам нужно , grep и dd , а также доступ к исходному устройству.
Для небольших текстовых файлов, единственная grep команда в ответе @Steven D в вопросе, на который вы ссылаетесь, является самым простым способом:
Но для больших файлов, которые могут быть в нескольких несмежных блоках, я делаю это:
который даст вам смещение в байтах совпадающей строки. Выполните это с помощью ряда dd команд, начиная с
Вы также хотели бы прочитать некоторые блоки до и после этого блока. В UFS файловые блоки обычно имеют размер 8 КБ и обычно распределяются довольно непрерывно, причем блоки одного файла чередуются с блоками 8 КБ из других файлов или свободного места. Длина файла в UFS составляет до 7 фрагментов по 1 КБ, которые могут быть или не быть смежными.
Конечно, в файловых системах, которые сжимают или шифруют данные, восстановление может быть не таким простым.
На самом деле в Unix очень мало утилит, которые перезаписывают блоки данных существующего файла. Тот, который приходит на ум, это dd conv=notrunc . Другой есть shred .
Источник
Как восстановить файл, перезаписанный другим в Linux?
Я сделал это в командной строке (Ubuntu 12.04, ext4)
Есть ли способ восстановить требуемый_файл? Я вложил так много работы в это. Я обычно делаю резервные копии файлов, но на этот раз я забыл.
3 ответа 3
Некоторые люди предлагают
Там, где ваш файл находился в файловой системе /home, ‘home был смонтирован на /dev //sda2, а военная является ключевой фразой, которая, вероятно, будет уникальной для перезаписанного файла.
recovered_file может быть большим, но может содержать текст из перезаписанного файла. Если перезаписанный файл не был в основном текстовым, этот подход бесполезен.
Важно принять меры для предотвращения дальнейшей записи операционной системой файловой системы, содержащей ваш файл. Хороший способ — это загрузка с live-CD. Если вы можете размонтировать файловую систему или перемонтировать ее только для чтения, это тоже хорошо.
Вам может быть интересно прочитать http://carlo17.home.xs4all.nl/howto/undelete_ext3.html — хотя это относится больше к удаленным файлам, чем к перезаписанным. Однако, если вы ранее редактировали перезаписанный файл, вполне вероятно, что редактор оставил несколько удаленных копий на диске как естественную часть процесса редактирования.
Прекратите использовать / размонтировать соответствующий раздел как можно скорее.
Рассмотрим эту тему, где упоминается extundelete . Кроме того, существуют photorec, прежде всего, и скальпель, которые являются очень мощными резчиками файлов, которые могут помочь восстановить ваш файл (например, путем поиска более старых версий или резервных копий вашего файла, которые еще не были перезаписаны).
Все эти инструментов доступны в вашей Ubuntu метких хранилищ (PhotoRec поставляется с пакетом TestDisk).
Не забудьте сохранить результаты восстановления в другом разделе, чем тот, из которого вы восстанавливаете данные.
Однако, если ваш файл действительно был перезаписан (т. Е. Та же область жесткого диска, на которой был сохранен старый файл, использовалась для хранения нового файла), то нет возможности восстановить файл (Примечание: это действительно только для жесткие диски — ssds хранит (и «перезаписывает») файлы другим способом). Если вам повезет, вы сможете восстановить только те части файла, которые не были перезаписаны, например, если новый файл был меньше старого.
Я не думаю, что требуемый_файл был фактически перезаписан этим действием. Это было скорее «несвязано» с соответствующим инодом, чтобы «исчезнуть». Кроме того, some_arbit_file не изменил своего местоположения — это был скорее «указатель», который ранее указывал на required_file, который сейчас указывает здесь.
Существуют инструменты, которые помогут вам в таких случаях, например, Sleuthkit или Testdisk. Но они требуют некоторой ручной работы — и это не так легко сделать, если вы не знаете, с чего начать. Также есть скрипт ext3undel, который использует эти инструменты и автоматизирует процесс, или отдельная утилита extundelete.
Все, что вы пытаетесь сделать: вообще не трогать поврежденный раздел диска, увеличивает ваши шансы на восстановление потерянного файла. Лучше всего выполнить все действия на другом компьютере, а подключенный диск только для чтения, даже для восстановления, также повышает ваши шансы. Если у вас нет другого компьютера, вы можете попробовать live CD (не устанавливайте поврежденный диск в режиме записи и здесь!). Даже будучи LiveCD, они позволяют устанавливать программное обеспечение в памяти, поэтому вы можете получить и запустить любой из вышеупомянутых инструментов. Имейте под рукой дополнительный носитель (например, карту памяти, SD-карту, внешний диск . ) для хранения восстановленных файлов и запуска процесса — в зависимости от того, что вы выбрали — оттуда.
Источник
Случайно перезаписал файл, помогите
Привет. Случайно перезаписал файл с помощью tar, было это примерно так:
# tar -cz /var/lib/mysql > /home/mysql.tar.gz
# rm -r /var/lib/mysql
# tar -cz /var/lib/mysql > /home/mysql.tar.gz
Вместо последней строчки должно было быть совершенно нечто другое, но кого это теперь волнует. Короче, /home/mysql.tar.gz теперь весит 42байта. Таким образом я удалил и БД и бекап БД.
Кто-нибудь подскажет, как можно полазить по inod’ам и найти старую версию /home/mysql.tar.gz?
есть ещё и undelete для EXT3,4.
Есть, но против overwritten они не помогают, как я понял А в /var/lib/mysql было более 1000 файлов
Тебе уже ничего не поможет, нужно было стразу перемонтировать в режим только для чтения.
Есть, но против overwritten они не помогают, как я понял А в /var/lib/mysql было более 1000 файлов
1. photorec может восстановить вам многие из 1000+ файлов в /var/lib/mysql
2. при перезаписи > /home/mysql.tar.gz гарантированно уничтожается в EXT3,4 только первый блок. Остальные НЕ уничтожаются, т.к. файл усекается до нулевого размера (кстати, про первый блок это тоже мои догадки, надо сырцы смотреть, возможно при усечении до нуля берётся не первый блок, а какой-то из свободных). Разнообразные undelete могут найти информацию про старые блоки в журнале. (внимание! _могут_, но не обязаны). Хотя, после энтропийного кодирования gzip’ом будет сложновато выделить информацию без первого блока, но я думаю — можно. За десяток килорублей (5К сразу + 5К в случае успеха), я-бы взялся за решение этой интересной проблемы (я про gzip, восстановлением заниматься не интересно, обратитесь в ближайшую контору. Это ремесло).
и да, частично убитую MySQL базу довольно просто восстановить штатными методами. Буквально сегодня восстановил (а лениво было бекап разворачивать, да и БД чисто тестовая).
нужно было стразу перемонтировать в режим только для чтения.
ну это само собой разумеется. Почему вы решили, что это не было сделано?
Бд убита не частично, а полностью (кроме этого, mysqld был закрыт, то есть lsof даже бы не спас)
Ладно, буду восстанавливать БД по html-кешу данных. Мир, труд, скоро май.
повторяю: удаленные файлы бд можно восстановить photorec’ом
Он не удалил, он ПЕРЕЗАПИСАЛ. Сам контент файла. Всё, это п..ц.
Это был корневой раздел /
Таким образом я удалил и БД и бекап БД.
кого это теперь волнует
Вы сами ответили на свой вопрос. На ошибках учимся.
Он не удалил, он ПЕРЕЗАПИСАЛ. Сам контент файла. Всё, это п..ц.
перечитай первый пост: он перезаписал файл /home/mysql.tar.gz, а вот /var/lib/mysql/ он просто удолил. Есть за что бороться, особенно если /home/ и /var/ в разных разделах ФС.
ну и опять-таки повторюсь — для ПЕРЕЗАПИСИ требуются специальные меры. Файл нельзя усекать до нуля, как делает это перенаправление >. Т.е. перенаправление не пишет в этот файл, а _сначала_ уменьшает его размер до нуля байт, а уж потом начинает писать туда данные. Где эти данные окажутся — неизвестно.
Оффтопик. Если MySQL устанавливал не ты, есть шанс что твой предшественник настроил бекапы. И ещё есть дохленький шанс что простейший бекап настроили мейнтейнеры mysql из твоего дистрибутива
Источник
Восстановление удаленных файлов Linux
Иногда случается, что мы случайно удаляем еще нужные нам файлы. Особенно это опасно в терминале Linux, поскольку здесь файлы удаляются не в корзину, а стираются с диска сразу и навсегда.
Понятно, что нужно аккуратно обращаться с командами удаления файлов, но что делать если уже все удалено, а файлы были важные и их нужно срочно восстановить? В некоторых случаях это возможно. В нашей сегодняшней статье мы рассмотрим восстановление удаленных файлов linux.
Немного теории
Каждый файл занимает определенное пространство на жестком диске, но файловая система для предоставления доступа к файлу дает нам ссылки на его начало, по которым любая программа может получить уже содержимое всего файла. Было бы неэффективно, если бы удаление файла приводило к полному перезаписыванию его области на диске.
Вместо этого, файловая система просто удаляет ссылку на эту область со своей базы, а затем помечает пространство, где находился файл, неразменным. Но на самом деле там еще остались все ваши файлы. Из этого делаем вывод, что если после удаления файловую систему очень быстро переключить в режим только для чтения, то все удаленные файлы могут быть восстановлены.
Если же вы работали с этой файловой системой и данные на диске были перезаписаны другими, то вы уже ничего сами не спасете. Возможно, вы слышали, что спецслужбы могут восстанавливать несколько раз перезаписанные данные по остаточному магнитному следу на диске. Это действительно так. Но для решения такой задачи нужно специальное оборудование, здесь недостаточно нескольких программ, нужен специальный лазер, который может считать магнитный след по краям дорожки и другая аппаратура. Так что про этот метод для себя можете забыть.
Ну а мы остановимся на программном восстановлении, когда данные были формально удалены, но физически еще находятся на диске в целостности и сохранности. Дальше рассмотрим несколько утилит, которые помогут восстановить удаленные файлы Linux.
1. Safecopy
Safecopy — это довольно простой инструмент для восстановления данных, который просто копирует данные из одного места в другое. Утилита, как таковая, не восстанавливает отдельные файлы. Она просто позволяет скопировать данные из поврежденного устройства на нормальное.
Разница между этой утилитой и другими программами копирования в том, что Safecopy не завершается при обнаружении каких-либо ошибок, будь то плохая операция чтения или поврежденный сектор. У нее есть множество дополнительных опций для настройки, а также возможность создания образа файловой системы из поврежденного носителя. Данные восстанавливаются тщательно и быстро, насколько это возможно.
Утилиту можно установить из официальных репозиториев вашего дистрибутива. Пользователи Ubuntu могут воспользоваться такой командой:
sudo apt install safecopy
Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:
sudo safecopy /dev/sda1 /home/files/
Все файлы, которые удастся скопировать будут в /home/files/.
2. TestDisk
TestDisk — это очень мощный инструмент для восстановления данных. Он не пытается скопировать данные из поврежденного устройства, а позволяет исправить ошибки и проблемы на уровне разделов, которые могут мешать работе с вашими данными.
Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.
Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно так же само из официальных репозиториев. В Ubuntu используйте для этого команду:
sudo apt install testdisk
Поскольку тема нашей статьи — восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:
На первом шаге мастера выберите Create New Log:
Дальше выберите диск, с которым будем работать:
Выберите таблицу разделов на диске:
Для работы с файловой системой выберите пункт Advanced:
Далее выберите раздел, затем команду list:
Тут вы увидите все файлы, которые есть на этом разделе. Удаленные, но подлежащие восстановлению файлы будут помечены красным.
Работать с этой утилитой удобнее, чем с Photorec, потому что здесь вы можете выбрать только один нужный файл, а не восстанавливать сразу кучу мусора. Чтобы скопировать файл просто выберите его, нажмите c и выберите папку для сохранения. Правда, вы же понимаете, что для восстановления нужно, чтобы файлы были не перезаписаны, где-то чуть перезапишется и все.
3. PhotoRec
Наша последняя программа ориентирована в первую очередь на поиск и восстановление удаленных видео, фото, документов и архивов. Можно сказать, что это программа восстановления удаленных файлов linux. Преимущество PhotoRec заключается в том, что она полностью игнорирует файловую систему и смотрит на сырые данные, а это значит, что она все равно будет работать, даже если файловая система повреждена или переформатирована, но только в быстром режиме, там где стираются лишь заголовки.
Во избежание каких-либо проблем, здесь используется доступ только для чтения, этого вполне достаточно для восстановления данных. Но как я говорил раньше, вам нужно остановить все операции записи, как только вы поняли, что нужно восстановить файл. В противном случае нужные данные могут быть перезаписаны чем-то новым и вы уже не сможете их восстановить.
В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk — из официальных репозиториев.
Например, в Ubuntu выполните:
sudo apt install photorec
Что касается использования, то тут похожий на testdisk интерактивный интерфейс. Запустите утилиту командой:
Выберите диск, с которым нужно работать:
Выберите файловую систему:
Выберите способ сканирования (неразмеченное пространство/весь раздел) Затем выберите папку для сохранения результата:
Дождитесь завершения процесса:
Программа восстановит много файлов, и скорее всего больше чем вам нужно. Причем главная ее проблема в том, что имена файлов не сохраняются и вам придется еще поискать, чтобы найти есть ли там то что нужно.
Выводы
Эти три инструмента охватывают широкий спектр задач по восстановлению файлов Linux. Здесь вы сможете выполнить не только восстановление удаленных файлов Linux из ext4, но и исправить жесткий диск или скопировать файлы с поврежденных носителей.
А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!
На десерт видео от Discovery о том, как работает жесткий диск:
Источник