Псевдонимы в сценариях не установлены глобально

Если Вы используете ext3 попытку файловой системы после ПРАКТИЧЕСКОГО РУКОВОДСТВА Carlo Wood

В нескольких словах,

  • Используйте ext3grep $IMAGE - ls - inode 2 | grep your_file для нахождения файла, который Вы ищете (где $IMAGE является Вашим разделом, например,/dev/sda2),
  • Найдите блок файловой системы, который содержит журнал освобожденного пространства.
  • Найдите все дескрипторы журнала, ссылающиеся на блок, которые были найдены ранее.
  • Скопируйте блок с dd.
  • Отредактируйте файл для удаления конечных нулей.
  • кошка файл везде, где Вы хотите

Из источника:

"Глава пример восстановления Руководства

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

Используя ext3grep $IMAGE - ls - inode мы находим название файла, который мы хотим восстановить:

$ ext3grep $IMAGE - ls - inode 2 | d 195457 D 1202352103 конца grep carlo 3 четверг 7 февраля 3:41:43 2 008 drwxr-xr-x carlo

$ ext3grep $IMAGE - ls - inode 195457 | grep 'bin$' | возглавляют-n 1 34 35 d 309540 D 1202352104 четверг 7 февраля 3:41:44 2008 drwxr-xr-x мусорное ведро

$ ext3grep $IMAGE - ls - inode 309540 | grep start_azureus 9 10 r 309631 D 1202351093 четверг 7 февраля 3:24:53 2 008 rrwxr-xr-x start_azureus

Очевидно, inode 309631 стирается, и у нас нет номеров блока для этого файла:

$ ext3grep $IMAGE - печать - inode 309631 [...] Inode является Unallocated Group: 19 идентификаторов Поколения: 2771183319 uid / ценуроз: 1000 / 1 000 режимов: размер rrwxr-xr-x: 0 цифр ссылок: 0 секторов: 0 (-> 0 косвенных блоков).

Времена Inode: Полученный доступ: 1202350961 = четверг 7 февраля Измененный Файл 3:22:41 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008 Измененные Inode: 1202351093 = четверг 7 февраля время Удаления 3:24:53 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008

Прямые блоки:

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

$ ext3grep $IMAGE - inode-to-block 309631 | grep находится, Inode 309631 находится в блоке 622598 при смещении 0xf00.

Затем мы находим все дескрипторы журнала, ссылающиеся на блок 622598:

$ ext3grep $IMAGE - журнал - блок 622598 [...] дескрипторы Журнала, ссылающиеся на блок 622598: 4381294 26582 4381311 28693 4381313 28809 4381314 28814 4381321 29308 4381348 30676 4381349 30986 4381350 31299 4381374 32718 4381707 1465 4381709 2132 4381755 2945 4381961 4606 4382098 6073 4382137 6672 4382138 7536 4382139 7984 4382140 8931

Это означает, что транзакция с порядковым номером 4381294 имеет копию блока 622598 в блоке 26582 и так далее. Самый большой порядковый номер, внизу, должен быть последними данными, записанными в диск, и таким образом блок 8931 должен совпасть с текущим блоком 622598. Для нахождения последней неудаленной копии нужно запустить внизу и работать вверх.

При попытке распечатать такой блок, ext3grep распознает, что это - блок от inode таблицы и распечатает содержание всех 32 inodes в нем. Мы только хотим видеть inode 309631 однако; таким образом, мы используем умный grep:

$ ext3grep $IMAGE - печать - блок 8931 | идентификатор--------------Inode 309631-----------------------Поколения 'Inode 309631' grep-A15: 2771183319 uid / ценуроз: 1000 / 1 000 режимов: размер rrwxr-xr-x: 0 цифр ссылок: 0 секторов: 0 (-> 0 косвенных блоков).

Времена Inode: Полученный доступ: 1202350961 = четверг 7 февраля Измененный Файл 3:22:41 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008 Измененные Inode: 1202351093 = четверг 7 февраля время Удаления 3:24:53 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008

Прямые блоки:

Это - действительно то же, как мы видели в блоке 622598. Затем мы смотрим на меньшие порядковые номера, пока мы не находим один с 0 разами Удаления. Первый, который мы находим (вверх дном), является блоком 6073:

$ ext3grep $IMAGE - печать - блок 6073 | идентификатор--------------Inode 309631-----------------------Поколения 'Inode 309631' grep-A15: 2771183319 uid / ценуроз: 1000 / 1 000 режимов: размер rrwxr-xr-x: 40 цифр ссылок: 1 сектор: 8 (-> 0 косвенных блоков).

Времена Inode: Полученный доступ: 1202350961 = четверг 7 февраля Измененный Файл 3:22:41 2008 года: 1189688692 = четверг 13 сентября 15:04:52 2007 Измененные Inode: 1189688692 = четверг 13 сентября время Удаления 15:04:52 2007 года: 0

Прямые блоки: 645627

Вышеупомянутое автоматизировано и может быть сделано намного быстрее с параметром командной строки - show-journal-inodes. Эта опция найдет блок, что inode принадлежит, затем находит все копии того блока в журнале и впоследствии печатает только требуемый inode от каждого из них, блокируются (каждый из которых содержит 32 inodes, как Вы знаете), устраняя дубликаты:

$ ext3grep $IMAGE - количество show-journal-inodes 309631 групп: 75 Минимумов / максимум журналируют блок: 1115 / 35 026 Загружающихся дескрипторов журнала... сделанная транзакция Журнала 4381435 повторяется, некоторые блоки данных, возможно, были потеряны этой транзакции. Количество дескрипторов в журнале: 30258; минута / макс. порядковые номера: 4379495 / 4 382 264 Копии inode 309631 нашли в журнале:

--------------Идентификатор Inode 309631-----------------------Поколения: 2771183319 uid / ценуроз: 1000 / 1 000 режимов: размер rrwxr-xr-x: 0 цифр ссылок: 0 секторов: 0 (-> 0 косвенных блоков).

Времена Inode: Полученный доступ: 1202350961 = четверг 7 февраля Измененный Файл 3:22:41 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008 Измененные Inode: 1202351093 = четверг 7 февраля время Удаления 3:24:53 2008 года: 1202351093 = четверг 7 февраля 3:24:53 2008

Прямые блоки:

--------------Идентификатор Inode 309631-----------------------Поколения: 2771183319 uid / ценуроз: 1000 / 1 000 режимов: размер rrwxr-xr-x: 40 цифр ссылок: 1 сектор: 8 (-> 0 косвенных блоков).

Времена Inode: Полученный доступ: 1202350961 = четверг 7 февраля Измененный Файл 3:22:41 2008 года: 1189688692 = четверг 13 сентября 15:04:52 2007 Измененные Inode: 1189688692 = четверг 13 сентября время Удаления 15:04:52 2007 года: 0

Прямые блоки: 645627

Файл является действительно маленьким: только один блок. Мы копируем этот блок с dd как показано прежде:

$ dd if= $IMAGE bs=4096 count=1 skip=645627 of=block.645627 1+0 записей в 1+0 записях 4 096 байтов скопированные (4,1 КБ), 0,0166104 секунды, 247 кБайт/с

и затем отредактируйте файл, чтобы удалить конечные нули или скопировать первые 40 байтов (данный размер файла):

$ dd if=block.645627 bs=1 count=40 of=start_azureus 40+0 записей в 40+0 записях 40 байтов (40 B) скопированный, 0,000105397 секунды, 380 кБайт/с

Кошка $ start_azureus CD/usr/src/azureus/azureus./azureus и

Восстановленный!"

1
15.10.2013, 01:45
1 ответ

Вы выполняете Ваш .bashrc в подоболочке. Который выходит.

Плохо:

bash ~/.bashrc

Необходимо получить файл.

source ~/.bashrc

или

. ~/.bashrc
3
27.01.2020, 23:29
  • 1
    ! Это работало. Это эти небольшие вещи, которые сводят Вас с ума! –  BrainStone 14.10.2013, 17:59

Теги

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