Solaris flar 이미지에 대한 패치를 수행해야 하는데 모든 명령을 실행하는 데 꽤 오랜 시간이 걸리는 문제에 직면해 있습니다. 제가 그 앞에 서는 것을 피하기 위해 거의 완벽하게 작동하는 대본을 준비했습니다. 따라서 기본적으로 업데이트해야 하는 기존 flar 아카이브가 있습니다. common.flar라고 부르자. 스크립트는 권장 패치의 압축을 풀고 common.flar의 압축을 풀어 패치를 적용한 다음 아카이브로 다시 압축해야 합니다.
나는 다음 명령을 따랐다.
find . |cpio -ocv|compress > ../flash/archive
스크립트 외부에서 이 작업을 수행하면 제대로 작동하지만 스크립트 내부에서 수행하면 아카이브의 처음 5개 파일을 처리하고 "중단"됩니다.
../flash/archive: -- 파일이 변경되지 않음
이런 일이 발생하고 스크립트가 완료되면 새 flar 아카이브는 원본 파일과 정확히 같은 크기입니다. 이 작업을 수동으로 수행하면 새 flar가 더 커집니다. (이 경우에는 72개의 패치가 설치되어 있습니다.)
스크립트에서는 압축된 파이프 명령을 실행하기 위해 올바른 디렉터리로 이동했는지 확인했습니다. 입력을 리디렉션하지 않고 출력을 파일로 리디렉션하지만 여전히 실패하는 이유를 이해할 수 없습니다.
제가 수행한 또 다른 테스트는 단 두 줄로 테스트 스크립트를 작성하는 것입니다: cd dir 검색; |cpio -ocv|compress > ../flash/archive 이것은 잘 작동합니다.