The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как быстро восстановить в Linux уда..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как быстро восстановить в Linux уда..."  +/
Сообщение от auto_tips (??) on 26-Фев-09, 23:37 
Если файл был случайно удален, но он еще открыт на чтение в какой-либо программе
(например, проигрывается в медиа-плеере), то его легко восстановить из файлового дескриптора в ФС /proc

Предположим мы случайно удалили файл 1.mp3, который еще проигрывается в mplayer.
Ищем PID процесса mplayer

   ps -auxwww|grep mplayer

   gosha  17314  3.2  0.4  38680  8908 pts/3  SL+ 00:45 0:00 mplayer 1.mp3

Переходим в директорию с параметрами процесса 17314 в /proc:
  
   cd /proc/17314

Открытые файловые дескрипторы перечислены в директории fd (/proc/17314/fd).

   cd fd
   ls -al

В выводе видим дескриптор номер 4 с признаком deleted
   lr-x------ 1 gosha gosha 64 2009-02-27 00:48 4 -> /home/gosha/1.mp3 (deleted)

Копируем его и получаем восстановленный файл:
  
   cp 4 /home/gosha/1.mp3

URL:
Обсуждается: http://www.opennet.me/tips/info/1960.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Как быстро восстановить в Linux удаленный, но еще открытый файл"  +/
Сообщение от Аноним (??) on 26-Фев-09, 23:37 
Каким образом можно удалить открытый файл?
Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы с использованием разных средств (консольные и графические программы и команды).
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от ТовариЩ on 27-Фев-09, 00:50 
>Каким образом можно удалить открытый файл?
>Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы
>с использованием разных средств (консольные и графические программы и команды).

Вот и займтесь этим!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как быстро восстановить в Linux удаленный, но еще открытый файл"  +/
Сообщение от ононим on 27-Фев-09, 01:14 
спасибо, полезная заметка
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от daevy on 27-Фев-09, 06:18 
>Каким образом можно удалить открытый файл?

под рутом, удалит и не поперхнется... тут же вспомнил свой первый и последний эксперимент с rm -rf /

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от BAXMAH on 27-Фев-09, 07:52 
>Каким образом можно удалить открытый файл?

RTFM, в UNIX открытие файла - это создание хардлинка на него. При удалении файла удаляется хардлинк, созданный в файловой системе, а сам файл физически удаляется, когда будет удален последний хардлинк на него (то есть тот, который создан при открытии файла).

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от kerzol on 27-Фев-09, 09:01 
>Каким образом можно удалить открытый файл?
>Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы
>с использованием разных средств (консольные и графические программы и команды).

да и без рута можно :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от daevy on 27-Фев-09, 09:52 
>>Каким образом можно удалить открытый файл?
>
>да и без рута можно :)

можно, но не всегда;) нередки таинственные письмена Permission Denied %)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от terr0rist (??) on 27-Фев-09, 11:54 
+5
А как называется этот хардлинк и где он находится - в UNIX(!)?
И ещё покажите, где находится этот TFM, где это написано?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от allez (ok) on 27-Фев-09, 12:55 
>А как называется этот хардлинк и где он находится - в UNIX(!)?
>И ещё покажите, где находится этот TFM, где это написано?

Можете глянуть, например, сюда: http://www.linuxcenter.ru/lib/books/posixbook/ch08.phtml#3
Если же по ссылкам ходить лениво, то по случаю благодушного пятничного настроения приведу вам
отрывок. :-)

==============================================================================
удаление файлов в Unix происходит совершенно иначе, чем в DOS/Windows. А именно, файл считается
удаленным, когда уничтожены все имена, ссылающиеся на идентификатор данного inode (то есть файл
исключен из файловой системы), и закрыта последняя программа, к нему обращающаяся (то есть
завершен процесс, загрузивший данные файла в память, и уничтожен индексный дескриптор файла в
этом процессе). В описании атрибутов файла это выражается в том, что счетчик ссылок его inode
обнуляется. Разумеется, сами по себе данные, составляющие содержание файла, физически могут
продолжать существовать на диске, но для системы они уже недоступны. А поскольку содержание
файла оторвано от его имени, восстановление случайно удаленного файла по фрагменту имени (на чем
основаны DOS-утилиты типа UNERASE и UNDELETE) оказывается невозможным.

Пока любой файл открыт, то есть существует ссылающийся на него процесс, он продолжает
существовать, даже если имя его исключено из всех каталогов, и может быть записан, скопирован,
переименован, и т.д. То есть открытый каким либо процессом дескриптор данного файла - гарантия его
существования, по крайней мере до завершения процесса. Именно поэтому я ранее сказал, что файл не
обязательно имеет имя: в случае удаления открытого файла из каталога он некоторое время существует
как бы безымянным, для поддержания его бытия достаточно открытого дескриптора, ассоциированного с
inode.
==============================================================================

Захотите еще информации - тут уж не обессудьте, ищите сами. :-)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Как быстро восстановить в Linux удаленный, но еще открытый файл"  +/
Сообщение от Heckfy (ok) on 27-Фев-09, 15:36 
Отличный совет.
Единственная проблема - создается новый файл. А вот бы при этом была возможность добавить новую (и единственную) жесткую ссылку на файл. :-)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от const86 (ok) on 27-Фев-09, 22:11 
никак не связанные с тем, используется ли кем-нибудь удаляемый файл.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от Аноним (??) on 28-Фев-09, 00:01 
Я - юзер, а не программер. Статья хорошая, спасибо! Только её здорово бы было расширить... Иначе это не статья, а заметка. Сейчас из-за конкурса будет много Статей, и эта заметка в них затеряется и скоро забудется, а статья не забудется. Вот то, что я хотел сказать первым комментарием.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Как быстро восстановить в Linux удаленный, но еще открытый файл"  +/
Сообщение от Аноним (??) on 28-Фев-09, 00:05 
Только новые вопросы создал. А если на диске 0 байт и я удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё равно не могу записывать? А если я вытащу съёмный диск, могу ли я проигрываемый с него файл восстановить так же, или нет?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от angra (ok) on 28-Фев-09, 02:09 
>Только новые вопросы создал. А если на диске 0 байт и я
>удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё
>равно не могу записывать?

При удалении все еще открытого файла количество свободного места не меняется. Ситуация кстати очень нередкая.

>А если я вытащу съёмный диск, могу ли я проигрываемый с него файл восстановить так же, или нет?

Размонтировать диск пока он используется не получится. Если же ССЗБ  и вытащишь без размонтирования, то состояние файловой системы будет непредсказуемым, вплоть до разрушения.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от LS (ok) on 28-Фев-09, 07:09 
>Только новые вопросы создал. А если на диске 0 байт и я

а на каком разделе?

>удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё
>равно не могу записывать? А если я вытащу съёмный диск, могу
>ли я проигрываемый с него файл восстановить так же, или нет?
>

как не можешь? можешь. sync никто не отменял.

вперед!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от лук репчатый on 28-Фев-09, 19:34 
Ну и где из написанного следует, что "RTFM, в UNIX открытие файла - это создание хардлинка на него" ?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от pavlinux email(ok) on 01-Мрт-09, 16:16 
А сетевой файло тоже хардлик ??? :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от Дмитрий Ю. Карпов on 01-Мрт-09, 17:39 
Разница в том, что когда на файл создаётся хардлинк, счётчик ссылок в inode увеличивается. А при открытии файла счётчик ссылок в inode остаётся прежним, и механизм удержания файла по эту сторону бытия немного иной.

Для размышления: попробуйте открыть и удалить файл в файловой системе, не поддерживающей хардлинки (например, в FAT).

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от dry on 04-Мрт-09, 10:19 
Веселый хак, пятерка.
А вот то, что это огромная дыра в безопасности, это уже не весело, напротив весьма и весьма грустно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от const86 (ok) on 06-Мрт-09, 14:45 
>А вот то, что это огромная дыра в безопасности, это уже не весело, напротив весьма и весьма грустно.

Где дыра?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Как быстро восстановить в Linux удаленный, но еще открытый ф..."  +/
Сообщение от Дроздилло on 26-Ноя-09, 13:22 
>Где дыра?

У него в голове дыра и там поселился выводок дроздов

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Как быстро восстановить в Linux удаленный, но еще открытый файл"  +/
Сообщение от ильзат email on 04-Ноя-10, 09:13 
а можно ли востановить текст набранный но не сохраненый! комп отключился! операционная стстема люникс?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру