때때로 사람들은 자신이하지 말아야 할 파일을 삭제합니다. 장기간 실행되는 프로세스에서 여전히 파일이 열려 있고, catting하여 데이터를 복구하는 /proc/<pid>/fd/N
것만으로는 충분하지 않습니다. ln에 매직 옵션을 실행하여 삭제를 "실행 취소"할 수 있으면 충분할 것입니다. 그러면 inode 번호 (lsof를 통해 복구)에 다시 연결할 수 있습니다.
최소한 커서가있는 인터넷 검색 으로이 작업을 수행 할 수있는 Linux 도구를 찾을 수 없습니다.
무엇을 얻었습니까, serverfault?
EDIT1 : 파일을 캐터링하는 /proc/<pid>/fd/N
것이 충분하지 않은 이유 는 여전히 파일을 열어 둔 프로세스가 여전히 파일에 쓰고 있기 때문입니다. 삭제는 파일 시스템 네임 스페이스에서 inode에 대한 참조를 제거합니다. 내가 원하는 것은 참조를 다시 만드는 방법입니다.
EDIT2 : 'debugfs ln'은 작동하지만 원시 파일 시스템 데이터를 차단하기 때문에 위험이 너무 높습니다. 복구 된 파일은 또한 일관되지 않습니다. 링크 수가 0이며 링크를 추가 할 수 없습니다. /proc/<pid>/fd/N
fs를 손상시키지 않고 데이터에 액세스하는 데 사용할 수 있기 때문에이 방법으로 더 나쁩니다 .