Месть - удел слабых. Сильный человек может простить. Чем сильнее человек, тем больше он может простить.

Вот говорят - не открывайте зеленку зубами. ...

Новая версия почтового сервера Exim 4.93
Mon, 09 Dec 2019 13:26:49 +0300

Выпуск кластерной ФС Lustre 2.13
Mon, 09 Dec 2019 07:00:55 +0300

Организация EFF выпустила релиз Certbot 1.0, пакета для получения сертификатов Let's Encrypt
Sun, 08 Dec 2019 22:03:31 +0300

Компания Mozilla представила движок распознавания речи DeepSpeech 0.6
Sun, 08 Dec 2019 13:14:14 +0300

Опубликованы тесты простейших приложений на различных языках программирования
Sun, 08 Dec 2019 08:08:58 +0300

Началось общее голосование о системах инициализации в Debian
Sat, 07 Dec 2019 13:32:21 +0300

Выпуск web-фреймворка Django 3.0
Sat, 07 Dec 2019 09:24:41 +0300

W3C придал WebAssembly статус рекомендованного стандарта
Fri, 06 Dec 2019 20:48:30 +0300

Уязвимость, позволяющая вклиниваться в TCP-соединения, осуществляемые через VPN-туннели
Fri, 06 Dec 2019 13:16:47 +0300

Выпуск игры NetHack 3.6.3
Fri, 06 Dec 2019 09:40:42 +0300

Релиз Proxmox VE 6.1, дистрибутива для организации работы виртуальных серверов
Thu, 05 Dec 2019 20:01:57 +0300

Началось альфа-тестирование инсталлятора Debian 11 "Bullseye"
Thu, 05 Dec 2019 19:33:55 +0300

Самый популярный пример Java-кода на StackOverflow оказался с ошибкой
Thu, 05 Dec 2019 13:48:33 +0300

Выпуск пакетного фильтра nftables 0.9.3
Thu, 05 Dec 2019 11:56:36 +0300

Уязвимости в OpenBSD, позволяющие повысить привилегии и обойти аутентификацию в smtpd, ldapd и radiusd
Thu, 05 Dec 2019 08:27:54 +0300

Атака на HackerOne, позволившая получить доступ к закрытым отчётам об уязвимостях
Wed, 04 Dec 2019 21:58:29 +0300

Выпуск дистрибутива Elementary OS 5.1 "Hera"
Wed, 04 Dec 2019 19:59:26 +0300

Релиз децентрализованной коммуникационной платформы Hubzilla 4.6
Wed, 04 Dec 2019 14:47:03 +0300

В каталоге Python-пакетов PyPI выявлены две вредоносные библиотеки
Wed, 04 Dec 2019 10:07:14 +0300

15 уязвимостей в USB-драйверах, поставляемых в ядре Linux
Wed, 04 Dec 2019 08:53:00 +0300

Выпуск дисплейного сервера Mir 1.6
Wed, 04 Dec 2019 08:06:49 +0300

Выпуск qBittorrent 4.2
Wed, 04 Dec 2019 07:36:26 +0300

Релиз дистрибутива Tails 4.1 и браузера Tor Browser 9.0.2
Tue, 03 Dec 2019 22:37:33 +0300

Продукты Avast и AVG удалены из каталога дополнений к Firefox из-за отправки персональных данных
Tue, 03 Dec 2019 21:38:05 +0300

Обновление рабочего стола Common Desktop Environment 2.3.1
Tue, 03 Dec 2019 19:40:43 +0300

Релиз Firefox 71
Tue, 03 Dec 2019 18:09:07 +0300

Microsoft развивает новый язык программирования на основе Rust
Tue, 03 Dec 2019 08:54:04 +0300

Выпуск анонимной сети I2P 0.9.44
Tue, 03 Dec 2019 07:35:20 +0300

В KDE улучшена поддержка декорирования окон в GTK-приложениях
Mon, 02 Dec 2019 22:49:28 +0300

Релиз CAINE 11.0, дистрибутива для выявления скрытых данных
Mon, 02 Dec 2019 21:03:46 +0300

Введён в строй Qt Marketplace, каталог-магазин модулей и дополнений для Qt
Mon, 02 Dec 2019 16:49:05 +0300

Выпуск системы проектирования печатных плат LibrePCB 0.1.3
Mon, 02 Dec 2019 09:58:46 +0300

Тенденции в аппаратном обеспечении, используемом с Linux
Mon, 02 Dec 2019 09:42:10 +0300

Релиз Bochs 2.6.10, системы эмуляции архитектуры x86
Mon, 02 Dec 2019 09:13:39 +0300

Прогресс в использовании ОС Redox на реальном оборудовании
Sun, 01 Dec 2019 10:56:09 +0300

Выпуск MAT2 0.10, инструмента для очистки метаданных
Sun, 01 Dec 2019 10:13:12 +0300

Выпуск системного менеджера systemd 244
Sat, 30 Nov 2019 09:19:49 +0300

Выпуск Wine 4.21 и пакета для запуска Windows-игр Proton 4.11-9
Fri, 29 Nov 2019 23:15:26 +0300

Релиз платформы совместной разработки Kallithea 0.5
Fri, 29 Nov 2019 22:29:45 +0300

Вышла новая версия Open CASCADE Technology - 7.4.0
Fri, 29 Nov 2019 16:28:49 +0300

Восстановление данных в Linux Разное
Удобные утилиты

В.Костромин (под ред. Vanderboot)

На днях, в ходе небольшой ревизии содержимого своего сайта я наткнулся на перевод статьи "10 способов восстановления удаленных файлов в linux", исходный вариант которой датирован 21 июня 2007 года. Перечитав статью и попытавшись пройти по приведенным в ней ссылкам, я обнаружил, что некоторые ссылки вообще не работают (сайты разработчиков в сети пропали), а некоторые из упомянутых в статье утилит давно не обновляются и не поддерживаются.

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

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

Сразу хочу предупредить, что все изложенное ниже мной лично не проверялось и основано только на сведениях, опубликованных на сайтах разработчиков или в статьях с описаниями соответствующих продуктов. Ну и, конечно, в статье рассматриваются только свободно распространяемые продукты. Если вас интересуют платные (проприетарные) продукты, вы без труда найдете их сами.

Итак, вот список утилит для восстановления потерянных данных, которые мне удалось разыскать (данные актуальны по состоянию на 10 ноября 2010 года).

  1. unrm - небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удаленных данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO. Применение: 
    unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device [block...]

  2. giis (gET iT i sAY) - средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Утилита позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, например, текстовые или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.

  3. ddrescue (в Ubuntu эта утилита называется gddrescue) Эта утилита копирует данные из файла или с аппаратного устройства, содержащего данные, в другое место, предпринимая при этом попытки исправить все имеющиеся ошибки чтения. Основные операции ddrescue выполняет в автоматическом режиме, заполняя параллельно файл протокола. Если имеется две или более копий поврежденных файлов, ddrescue способна полностью восстановить файл, устранив все ошибки. 
    ddrescue устанавливает размер буфера ввода/вывода равным размеру сектора, так что ее можно использовать для посекторного восстановления данных с устройств.

  4. TestDisk - это мощная бесплатная программа для восстановления данных! Она была разработана в первую очередь, как инструмент восстановления утраченных разделов и/или восстановления загрузочной способности дисков, если эта проблема вызвана програмно, вирусами или ошибками человека (такими, как случайное удаление Таблицы Разделов). Восстановить Таблицы Разделов TestDisk-ом очень легко. Но TestDisk может также восстанавливать удаленные файлы на файловых системах FAT, NTFS и ext2; копировать файлы с удалённых FAT, NTFS и ext2/ext3/ext4 разделов. (Смотрите статью В.Симон, "Testdisk - восстановление таблицы разделов диска").

  5. Foremost - консольная программа, позволяющая искать файлы на дисках или их образах по hex-данным, характерным заголовкам и окончаниям. Программа прочёсывает файлы на предмет совпадения заранее определённых hex-кодов (сигнатур), соответствующих наиболее распространённым форматам файлов. После чего экстрагирует их из диска/образа и складывает в каталог, вместе с подробным отчётом о том, чего, сколько и откуда было восстановлено. Типы файлов, которые foremost может сразу восстановить: jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp. Есть возможность добавлять свои форматы (в конфигурационном файле /etc/foremost.conf), о которых программа не знает. 
    Статьи: "Восстановление удаленных файлов при помощи foremost", "Восстановление удалённых файлов в ОС Linux".

  6. R-Linux является бесплатной программой для восстановления файловых систем Ext2/Ext3/Ext4 FS, используемых в Linux и некоторых Unix-системах. Используемая в R-Linux Технология Сканирования и удобный в установке параметров интерфейс программы дают пользователю абсолютный контроль над процессом восстановления данных. R-Linux позволяет скопировать информацию и создать образ целого диска или его части, а уже затем работать с файлом образа, сохраненным на другом носителе, как с оригинальным диском. R-Linux производит поиск файлов известных типов, используя типовые характеристики их структур, что позволяет пользователю искать и восстановить файлы с устройств, где файловая система неизвестна, - HD, CD, DVD, дискет, USB дисков, ZIP дисков и устройств флеш-памяти (Compact Flash Card, Memory Sticks). Однако, в программе отсутствует возможность восстановления данных по сети, а также функциональность по реконструкции дисковых массивов и восстановления с них данных.

  7. DMDE - DM Disk Editor and Data Recovery Software. Программа для редактирования дисков и восстановления данных. В бесплатной версии доступны все функции дискового редактора, управления разделами и восстановления файлов, за исключением возможности группового восстановления файлов и каталогов; полная версия позволяет восстанавливать группы файлов и директории с сохранением структуры каталогов.

  8. PhotoRec - это утилита, входящая в состав пакета TestDisk. Предназначена для восстановления испорченных файлов с карт памяти цифровых фотоаппаратов (CompactFlash, Secure Digital, SmartMedia, Memory Stick, Microdrive, MMC), USB flash-дисков, жестких дисков и CD/DVD. Восстанавливает файлы большинства распространенных графических форматов, включая JPEG, аудио-файлы, включая MP3, файлы документов в форматах Microsoft Office, PDF и HTML, а также архивы, включая ZIP. Может работать с файловыми системами ext2, ext3, FAT, NTFS и HFS+, причем способна восстановить графические файлы даже в том случае, когда файловая система повреждена или отформатирована. 
    Может работать под операционными систмами Linux, DOS, Windows, FreeBSD, NetBSD, OpenBSD, Mac OS X и SunOS

  9. Mondo Rescue. Основное назначение этой программы - создание резервных копий данных. Она может создавать резервные копии на магнитных лентах, CD, на удаленных носителях по NFS или в виде ISO-образов на локальных дисках. Но в случае повреждения данных программа позволяет восстановить их полностью или частично, даже если ваш жесткий диск недоступен обычными средствами. 
    Mondo запускается на всех основных дистрибутивах Linux, поддерживает LVM, RAID, ext2, ext3, JFS, XFS, ReiserFS, VFAT и другие файловые системы. Может восстанавливать геометрию диска, обеспечивать миграцию данных на RAID-массивы, проверять целостность файловой системы компьютера. Кроме того, позволяет проводить реструктуризацию диска, уменьшать/увеличивать разделы, переназначать устройства, добавлять жесткие диски.

  10. Safecopy - инструмент для восстановления данных, который пытается извлечь данные из доступных, но проблематичных носителей (с поврежденными секторами). В качестве источника данных могут выступать внешние устройства (такие как CD, DVD и Blu-ray) и разделы жеских дисков. Программа обладает тем преимуществом, что продолжает работу даже тогда, когда другие средства прекращают ее из-за ошибок ввода/вывода. Обычные средства копирования, такие как cat, cp или dd не позволяют создать образ диска или съемного носителя, если произошел сбой при чтении какого-то сектора.

  11. The Sleuth Kit (TSK) - набор программ (fls, icat, ffind, ifind, mmls, fsstat, etc.) для проведения криминалистического анализа файловых систем. TSK - совокупность UNIX инструментальных средств командной строки, которые могут анализировать файловые системы NTFS, FAT, FFS, EXT2FS, и EXT3FS. TSK читает и обрабатывает структуры файловой системы самостоятельно, поэтому не требуется поддержка файловой системы операционной системой. 
    Статьи: Восстановление спрятанных или потерянных данных.

  12. Scalpel - это средство быстрого восстановления файлов. Уникальность данного ПО заключается в том, что оно не зависит от файловой системы. Программа ищет по базе данных начало и конец файлов известных форматов и пытается найти их на диске. Поэтому восстановление возможно как с FATx, NTFS, ext2/3, так и с "голых" (raw) разделов. 
    Статьи: Восстановление удаленных файлов с помощью Scalpel

Кроме перечисленных в некоторых статьях упоминаются также утилиты Magicrescue и ntfsundelete из пакета ntfstools.

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

В заключение несколько советов, может быть тривиальных, но зато безусловно полезных, относительно того, как попытаться избежать попадания в неприятную ситуацию, когда требуется применение перечисленных выше средств. Во-первых, можно сделать так, чтобы случайно удалить файл или каталог было сложнее. Для этого сделайте так, чтобы вместо команды rm вызывалась команда rm -i. Сделать это можно с помощью команды alias следующим образом:

alias rm="rm -i"
Тогда перед выполнением удаления вам будет задан дополнительный вопрос, действительно ли вы этого хотите.

Второй совет: делайте резервные копии своих данных как можно чаще, каждый день или даже каждый час. Если следовать этому совету, то в самом плохом случае вы потеряете только те результаты своей работы, которые получили в течение последнего часа. Да и процедуры восстановления данных в таком случае выполнить будет гораздо проще. Автоматизировать выполнение этих процедур можно с помощью cron-а и утилиты rsync, организовав периодическое копирование важных файлов и каталогов на другой диск или раздел. А можно использовать упомянутую выше утилиту Mondo Rescue. Кстати, вы освоите ее применение, что может оказаться полезным в случае возникновения необходимости восстановления данных в чрезвычайной ситуации.

И третье: прежде чем приступать к попыткам восстановления удаленных файлов, сделайте копию раздела, в котором находились эти файлы, и работайте с ней, а не с исходным разделом. Если в процессе восстановления вы снова ошибетесь, то сможете начать все с начала. Если же работать с исходным разделом, можно испортить данные безвозвратно. Сделать копию раздела можно с помощью команды dd (о применении этой команды вы можете прочитать в статье А.Дмитриева "dd: Команда, которая не похожа на другие").

Нелишне напомнить также, что существуют специальные дистрибутивы Linux, запускающиеся с CD или других съмных носителей и содержащие наботы утилит администрирования, в том числе и инструменты восстановления данных. В качестве примера таких дистрибутивов можно упомянуть SystemRescue CD и Trinity Rescue Kit.

Я полагаю, что приведенный выше список через некоторое время тоже устареет, как это случилось с перечнем, приведенным в статье, упомянутой в начале этой заметки. Зато появятся новые средства, может быть более совершенные. Чтобы быть в курсе, заглядывайте иногда на сайт "Каталог программного обеспечения для Linux", а еще лучше - помогайте поддерживать этот каталог в актуальном состоянии. Тогда в любой нештатной или штатной ситуации вы или другой пользователь Linux сможет найти необходимые средства и инструменты для решения своих проблем.

НОВОСТИ: Опубликованы тесты простейших приложений на различных языках про ... Sun, 08 Dec 2019 08:08:58 +0300

Джефф Мэррисон (Jeff Marrison), автор реализованной на ассемблере x86_64 свободной (GPLv3) библиотеки HeavyThing, предлагающей в том числе реализации протоколов TLS 1.2 и SSH2, опубликовал видео под названием «Зачем писать на ассемблере?». В видео приводятся результаты тестирования при помощи утилит perf и strace простейшего приложения (вывод 'hello'), написанного на 13 языках программирования.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome