Іноді люди видаляють файли, які вони не повинні, тривалий процес все ще має відкритий файл, а відновлення даних шляхом котирування /proc/<pid>/fd/N
просто не є приголомшливим. Досить дивовижним було б, якби ви могли "скасувати" видалення, запустивши якусь магічну опцію до ln, яка дозволить вам повторно зв’язатися з номером inode (відновлений через lsof).
Я не можу знайти жодних інструментів Linux, щоб це зробити, принаймні з помірним Googling.
Що ти маєш, сервер за замовчуванням?
EDIT1: Причина отримання файлу з файлу /proc/<pid>/fd/N
недостатньо приголомшлива, це те, що процес, який відкриває файл, все ще пише на нього. Видалення видаляє посилання на inode з простору імен файлової системи. Те, що я хочу, - це спосіб відновлення довідки.
EDIT2: 'debugfs ln' працює, але ризик занадто високий, оскільки він обробляє сирі дані файлової системи. Відновлений файл також шалено непослідовний. Кількість посилань дорівнює нулю, і я не можу до нього додавати посилання. Мені гірше цей спосіб, оскільки я можу просто використовувати /proc/<pid>/fd/N
для доступу до даних, не псуючи мою фс.