표준 입력 파이프에서 디렉토리 구조 굽기

표준 입력 파이프에서 디렉토리 구조 굽기

저는 뭔가 까다로운 일을 하려고 합니다. 파이프 스트림의 디렉토리 구조를 CD로 굽고 싶습니다. 그 이유는 그것이 웹에서 온 것이고 CD 버너의 하드 드라이브에 쓰고 싶지 않기 때문입니다.

tar의 출력(예를 들어)을 genisoimage 또는 mkisofs로 파이프하는 방법(또는 가능한지 여부)을 잘 모르겠습니다. genisoimage에 스트리밍 옵션이 있다는 걸 알았는데, 하려고 하면

tar -cvf - /home/myuser | genisoimage --stream-media-size 200 -o test.iso

내가 얻은 것은 test.iso뿐이었습니다. 여기에는 원래 tar 아카이브인 stream.img(genisoimage(1)에 지정된 대로)가 포함되어 있었습니다. 이것은 작동하지 않습니다. CD의 디렉토리 구조여야 합니다.

나는 cdrskin(굽기용 CLI 도구)이 stdin에서 데이터를 가져와서 구울 수 있다는 것을 알고 있습니다.

그렇다면 데이터를 genisoimage로 전송하고, ISO에 대한 해당 데이터의 디렉터리 구조를 생성한 다음, 굽기 위해 해당 데이터를 다시 cdrskin으로 전송하도록 하려면 어떻게 해야 합니까? 또한 genisoimage는 기본적으로 iso 데이터를 stdout으로 파이프한다는 것을 알고 있으므로 내 유일한 문제는 디렉터리 구조 스트림을 genisoimage로 파이프하고 ISO 데이터에서 해당 디렉터리 구조를 유지하는 것 같습니다.

이 게시물의 태그는 genisoimage, cdrskin 또는 심지어 stdin을 찾을 수 없기 때문에 끔찍합니다.

편집: 이는 데이터 보안과 관련이 없으며 디스크 공간 부족과 관련이 있습니다. 데이터가 HDD에 버퍼링되어 있는지는 상관 없지만 전체 ISO를 쓸 수는 없습니다. 물론 genisoimage는 단지 제안일 뿐이며 ISO 데이터를 생성하는 다른 방법에도 열려 있습니다. 참고로 Blu-ray 디스크에서 작동합니다.

답변1

디스크에 디렉토리를 지정하지 않는 이유는 디렉토리를 네트워크를 통해 전송하기 때문인 것 같습니다. 나는 또한 당신이 이것을 위해 ssh를 사용한다고 가정하고 있습니다. 그래서 제 질문은: 왜 sshfs를 사용하지 않습니까?

답변2

CD 버너의 하드 드라이브에 쓰고 싶지 않습니다.

이를 예방하는 것은 거의 불가능합니다. 심지어 stdio 파이프도 디스크에 쓸 수 있습니다. 파이프를 완전히 사용하지 않더라도(예: 공유 메모리 세그먼트에 쓰기) 여전히 페이징될 수 있습니다.

버퍼링이 없으면 네트워크가 빠르고 쓰기가 느린 경우에도 과부하/부하 문제가 발생할 수 있습니다.

파일을 복사하고 파쇄하거나 소스/버퍼 파일 시스템에서 암호화를 사용하세요.

관련 정보