Linux как восстановить с корзины

Восстановление открытых файлов но удаленных c файловой системы linux

Всех с прошедшим новым годом!
В этой заметке я бы хотел поделиться как можно восстановить открытый файл в linux.

Предыстория

Зашел человек на канал посвященный debian в jabber и сказал что взломали его jabber-bot и выполнили команду:

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

Восстанавливаем файл

Первым делом нам нужно убедиться что у нас стоит приложение lsof и примонтирован procfs в /proc.
В этой заметке я буду считать что в системе где будут восстанавливаться открытые файлы все нужные приложения стоят, root доступ есть, всё примонтировано как нужно.

Первым делом нам нужно найти открытый файл с помощью программы lsof:

Нас интересуют вот эти значения:

  • Номер процесса (pid)
  • Файловый дескриптор (file descriptor)

Здесь я выделю жирным то что нужно:

kwin 2031 4002 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors

Дальше восстанавливаем его (вы можете также его сохранить в другом месте):

На этом всё, так можно восстановить открытый файл, но который по какой-то причине был удален.

UPD1: Меня спросили как найти и восстановить все открытые файлы конкретным приложением.
Предположим мы знаем 1 файл который нужно восстановить, мы его нашли с помощью

Мы знаем что 2031 — это pid процесса который держит ваш файл. Нам нужно найти все файлы которые держать открытыми данный процесс:

Мы видим все открытые приложения этим процессом, нам осталось только отобрать удаленные:

После чего просто восстанавливаем все файлы как описано выше.

UPD2: Почему я использую grep для поиска файлов вместо параметра, который работает быстрей?
Я использую grep так как там видно удален файл или нет, я считаю это более удобным (ИМХО)

UPD3: Также можно посмотреть все открытые файлы процесса через комманду ls, пометки deleted будут, пример:

Источник

Где в Ubuntu лежат удалённые файлы (корзина)

Как восстановить / отредактировать файлы в корзине Ubuntu

Подобно тому, как в Windows удалённые файлы попадают в корзину, так и в UbuntuLinux Mint) сделали такую возможность. Файл, удалённый через файловый менеджер (например, Nautilus), помещается в корзину, откуда может быть восстановлен или удалён полностью. Данное поведение не распространяется на файлы, удалённые из командной строки — приложение, удаляющее данные, само занимается помещением данных в корзину. Если же оно не было создано с учётом корзины — файлы будут удаляться мимо её.

Однако, бывают разные ситуации: иконка корзины может пропасть или по каким-то иным причинам потеряется доступ к корзине, а ведь с файлами надо что-то делать: они лежат мёртвым грузом, занимая дисковое пространство.

Читайте также:  Свернулся рабочий стол windows 10

На самом деле, всё очень просто: в корзине нет никакой «магии» — это всего лишь папка. И лежит она в

/ — это сокращение обозначает домашнюю папку пользователя). Точнее, это 2 папки:

/.local/share/Trash/info — с данными и информацией о них, необходимой для восстановления.

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

/.local/share/Trash/files , чтобы восстановить удалённые файлы и папки.

Вернуть / добавить корзину в Ubuntu и Linux Mint

Чтобы добавить корзину на рабочий стол в Ubuntu и Linux Mint, нужно отредактировать конфигурацию окружения. Делается это через программу gconf-editor. Возможно, её у Вас нет. Воспользуйтесь ссылкой, чтобы установить через пакетный менеджер. Или выполните команду:

После чего запустите gconf-editor: в меню приложений он будет называться «Редактор конфигурации».

В нём пройдите по ветке /apps/nautilus/desktop. Добавьте или отредактируйте ключ trash_icon_visible — тип: логическое, значение: истинное. Закройте редактор.

После перезагрузки окружения должна появиться иконка корзины.

Источник

Ubuntu: восстановление удаленных файлов

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

Восстановление удаленных фалов Linux

Существуют 2 варианта восстановления данных в системе Линукс – непосредственно с жесткого диска системы и с флешки.

Восстановление данных жесткого диска Linux

Файловые системы, используемые во всех ОС, не только в Unix-подобных, организованы таким образом, что не дают удаленному файлу пропасть бесследно. То есть, если файл был создан и находился на жестком диске, значит, он занимал некоторое пространство и был внесен в список ссылок среди других объектов.

Когда пользователь его удаляет, ссылка на файл дезактивируется, давая понять файловой системе, что занятое пространство можно пометить как неразменное. На самом же деле, удаленный объект до сих пор существует и располагается на тех кластерах, на которых он и был. Его полное стирание наступит только после перезаписи его следа иными данными.

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

Восстановление данных с флешки Linux

Так как в Linux «Корзина» работает слегка иначе, чем в Windows, первым делом следует ее проверить. Удаленные обычным методом файлы, без очистки корзины после этого, хранятся именно там. Для восстановления достаточно подключить накопитель, зайти в корзину и восстановить объект.

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

  1. Откройте «Терминал» и введите команду sudo fdisk -l , нажмите Enter и введите пароль суперпользователя.
  2. Найдите среди дисков флешку и запомните ее маркировку.
  3. Вбейте команду sudo dd if=/dev/ имя раздела без цифры of=/home/ имя пользователя /copy.img , нажмите Enter.
  4. Копия раздела с названием copy.img будет сохранена в «Домашней папке».
Читайте также:  Запускается bios вместо windows

Программы для восстановления файлов в Linux

Самый простой и очевидный выход – пойти в специализированный сервис по восстановлению данных. Но есть огромный минус – цена. Процедура извлечения стоит очень дорого, а насколько сложным был этот процесс, никто не расскажет. Также гарантии на возвращение всех объектов нет, тем более оборудование, которое может восстановить файл после нескольких перезаписей, поставляется только спецслужбам. Так что, прежде чем отчаиваться, следует попробовать провернуть операцию своими силами.

Восстановление файлов Linux с GParted

Самая распространенная программа для работы с разделами в Linux. Однако не со всеми дистрибутивами она идет в комплекте. Не самый надежный помощник в подобных операциях, но попробовать ее, как вариант, стоит.

  1. Если GParted не установлен по умолчанию, его можно «доставить». Для этого запустите терминал и впишите команду sudo apt install gparted , на вопрос о согласии на загрузку просто нажмите Enter. Затем sudo apt install gpart , подтвердите установку.

  2. Запустите программу и введите пароль суперпользователя.
  3. Выберите необходимый диск справа вверху.
  4. Нажмите «Устройство – Попробовать восстановить данные».
  5. Подтвердите начало операции нажатием на «Ок».

Восстановление файлов с Scalpel

Scalpel Linux – небольшой инструмент, специализирующийся на восстановлении удаленных файлов с EXT4 разделов и других файловых систем. Он имеет в своем арсенале базу данных по типам ФС и о форматах данных, что делает его универсальным. Ведь во время сканирования он сверяет остатки записей на жестком диске или флешке с собственным списком, и при обнаружении совпадений приступает к восстановлению удаленных файлов Linux.

Установка и использование просты:

  1. В терминале ввести команду sudo apt install scalpel .
  2. Перед использованием нужно выполнить команду sudo gedit /etc/scalpel/scalpel.conf
  3. И раскомментировать необходимые типы данных, удалив «#» перед ними. Например, для поиска формата MPG.
  4. После настройки вписать терминале scalpel /dev /имя раздела / -o restore и нажать Enter. Подсмотреть имя раздела можно все в том же GParted.
  5. По окончании процедуры все найденные данные будут лежать в папке restore в директории /home.

Более наглядно процесс можно увидеть здесь:

Восстановление данных Ubuntu с TestDisk

TestDisk также может помочь в восстановлении файлов из-под Linux, но несколько иначе. Дело в том, что данный софт нацелен не на извлечение данных с накопителей, а для тестирования и восстановления работоспособности созданных на них разделов.

Также существует программа в Ubuntu – PhotoRec. В первую очередь ее функционал рассчитан на восстановление файлов мультимедийных форматов и архивов. Данное ПО полностью игнорирует ошибки, отсутствие или форматирование файловой системы, тем самым без проблем сканируя данные.

Теперь же она поставляется совместно с TestDisk, и из-за такого объединения усилий конечная утилита считается лучшей среди программ для восстановления файлов Ubuntu. Чтобы избежать проблем по неопытности пользователя, во время основных настроек и манипуляций, утилита использует подход «все в системе только для чтения».

Читайте также:  Control panel add remove program add remove windows program

Определяя ошибки информации, TestDisk может воссоздать потерянные разделы в различных ФС, таких как, например, FAT, NTFS и EXT4. Даже если раздел ранее был удален, найдя его следы, программа сможет исправить зависимости, не позволяющие корректно обращаться к файлу. Программа доступна в официальном репозитории Canonical. Для того чтобы приступить к восстановлению данных с жесткого диска Ubuntu, нужно выполнить инструкцию:

  1. Установите ПО командой sudo apt install testdisk .
  2. Так как программа функционирует в терминале, введите команду sudo testdisk .
  3. При помощи стрелочек на клавиатуре выберите раздел Create.
  4. Далее диск, с которым будут проводиться манипуляции.
  5. Теперь предполагаемую файловую систему.
  6. Перейдите в раздел Advance.
  7. Выберите среди найденных разделов нужный.
  8. Удаленные файлы, которые можно восстановить, будут помечены красным цветом. Выберите нужный объект и нажмите клавишу «C», чтобы восстановить.
  9. Укажите раздел, например, «Документы», именно туда будет происходить копирование.
  10. Подтвердите выбор директории нажатием клавиши «C».

Восстановление данных Линукс с Safecopy

Safecopy – простой инструмент для взаимодействия с разделами и данными. Он не помогает в восстановлении данных с флешки Ubuntu, однако сможет скопировать объекты с поврежденного носителя на здоровый. Ее преимущество состоит в полном игнорировании возникающих при считывании и копировании фалов ошибок. Что может лучшим образом сказаться на попытке сохранить мультимедийные файлы.

Пара битый байт мало чем сможет навредить фотографии или видеозаписи, да и текстовый документ, скорее всего, нужно будет просто немного подправить. Но вот работа с архивами, особенно если они под паролем, может быть нарушена.

Для работы с программой нужно:

  1. Установить ее командой sudo apt install safecopy
  2. Запустить работу Safecopy командой sudo safecopy /dev/ имя раздела /home/restore/ .
  3. Все найденные данные будут скопированы в «Домашнюю директорию» в папку restore.

Как удалить файл на Ubuntu

Для того чтобы удалить файл в Ubuntu, есть много способов. Но также все зависит от того системный файл это или пользовательский. Понять это просто. Все, что находится до директории /home, – системные файлы, внутри же нее – пользовательские.

Варианты удаления пользовательского файла:

  • Щелкнуть по файлу правой кнопкой мыши и нажать «Переместить в корзину», после чего зайти в корзину и очистить ее.


  • Щелкнуть левой кнопкой мыши по файлу, тем самым, выделив его, после чего нажать комбинацию клавиш Shift+Delete и ответить на запрос об удалении утвердительно (так объект удаляется навсегда, в обход корзины).
  • Открыть терминал и ввести команду rm /home/ имя пользователя /filenam e (filename — имя файла).
  • Для удаления всех объектов, имеющих в названии определенное слово, нужно к команде добавить звездочку rm /home/ имя пользователя /filename* .

Варианты удаления системного файла:

  • Запустить файловый менеджер командой sudo nautilus . Найти нужный документ и щелкнуть по нему левой кнопкой мыши для выделения, затем зажать комбинацию Shift+Delete.

  • Открыть терминал и вписать команду sudo rm /etc/filename .
  • Для удаления всех документов с подобным словом – sudo rm /etc/filename* .

Заключение

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

Источник

Оцените статью