debugfs를 사용하여 디렉토리를 복사하는 방법은 무엇입니까?

debugfs를 사용하여 디렉토리를 복사하는 방법은 무엇입니까?

debugfs 맨페이지에서는 'rdump . .' 지정된 파일 시스템에서 발견된 모든 파일을 debugfs cwd에서 기본 파일 시스템의 cwd로 반복적으로 복사합니다. 대신 구문 오류가 발생하고 복사가 시작되지 않는 것 같습니다.

내가 실행하는 명령은 다음과 같습니다.

cd /path/to/transfer/destination
debugfs /dev/sda1 -R rdump . .

내 임무는 깨끗하지만 마운트할 수 없는 USB 저장 장치의 전체 내용을 호스트 컴퓨터의 HD에 복사하는 것입니다. 호스트 시스템은 USB 장치의 파일 시스템(256)에서 사용하는 inode 크기를 지원하지 않으며 해당 소프트웨어는 업그레이드할 수 없으므로 debugfs를 사용하여 파일을 전송하려고 했습니다. 누구든지 이 작업에 대해 다른 제안 사항이 있으면 감사하겠습니다.

답변1

내가 가지고 있는 버전의 매뉴얼 페이지에서 현재 작업 디렉토리에 대한 참조를 볼 수 없습니다. cwd(pwd)는 셸에서 중요하며 장치에는 의미가 없습니다(각 드라이브에 cwd가 있는 Windows와는 달리). 원본 디렉터리와 대상 디렉터리를 모두 완전히 지정하는 것이 좋습니다. taror dd또는 을 사용하지 않는 이유는 무엇입니까 rsync?

답변2

이건 어때?

debugfs /dev/sda1 -R "rdump / /path/to/transfer/destination"

테스트할 대상이 없기 때문에 테스트하지는 않았지만 TFM은 이것이 더 정확하다는 것을 암시하는 것 같습니다. 실제로 매뉴얼 페이지에서 제안하는 내용과 더 잘 일치하도록 인수를 바꾸고 싶을 수도 있습니다.

debugfs -R "rdump / /path/to/transfer/destination" /dev/sda1

그게 중요한지는 모르겠지만 그럴 수도 있습니다.

관련 정보