Tar는 블록 장치 끝에서 오랜 시간을 기다립니다.

Tar는 블록 장치 끝에서 오랜 시간을 기다립니다.

특정 넷북에 Linux를 설치하는 데 문제가 있었고 처음부터 여러 번 다시 시작해야 했습니다. 네트워크를 설정하고 설치를 부팅하기 위해 동일한 명령을 다시 입력하는 것이 매우 힘들어서 USB 스틱을 사용해 보았지만 설치할 수 없었습니다. 시스템은 블록 장치를 볼 수 있지만 vfat를 이해할 수 없습니다. 나는 어찌할 바를 모르고 dd를 사용하여 tar 파일을 장치에 직접 씁니다.

tar -c stuff-i-needed | sudo dd of=/dev/disk3

단 1초밖에 걸리지 않았습니다. 그런 다음 USB 스틱을 대상 시스템에 삽입하고 tar를 블록 장치에 직접 지정했습니다.

dd if=/dev/sdc | tar -x

곧 필요한 문서가 나타났습니다. 그러나 tarball의 모든 파일이 완료되었더라도 tar -x는 계속 실행됩니다. 그리고 달리고 있습니다. 그리고 달리고 있습니다.

USB 플래시 드라이브의 용량은 512GB입니다. 그래서 이것이 tar가 계속 높은 수준에서 읽는 이유를 설명한다고 생각합니다. 그러나 tar에는 tar 파일 자체가 끝에 도달했음을 알 수 있는 메커니즘이 있습니까? tar가 디스크에서 계속 데이터를 읽는 이유는 무엇이며 이 모든 말도 안되는 작업을 수행하는 데는 어떤 역할을 합니까?

관련 정보