Solaris 11에서 tar 아카이브에 저장할 수 있는 최대 파일 수는 몇 개입니까?

Solaris 11에서 tar 아카이브에 저장할 수 있는 최대 파일 수는 몇 개입니까?

tar 아카이브에 많은 수의 파일(100,000개 이상)을 저장해야 하는데 오류가 발생했습니다./bin/sh: /bin/tar: 실행할 수 없습니다. [매개변수 목록이 너무 깁니다.].

UNIX Solaris tar 또는 GNU tar에 제한 사항이 있습니까? 아니면 ZFS 문제입니까? 저는 ZFS와 함께 Solaris 11.3을 실행하고 있습니다.

답변1

이는 tar의 제한 사항이 아닙니다. 프로그램에 전달할 수 있는 최대 인수 크기를 초과했습니다. 파일 이름 목록이 파일에 있으면 GNU tar의 -T옵션을 사용할 수 있습니다.

tar -c -f output.tar -T filelist.txt

-Tar는 파일 이름을 사용하여 표준 입력에서 파일 목록을 받을 수도 있습니다. 예를 들어 모든 파일과 하위 디렉터리를 포함하는 아카이브를 생성하려는 경우 mydir다음 출력을 전달할 수 있습니다 find.

find mydir | tar -c -f output.tar -T -

답변2

다른 사람들이 말했듯이 문제는 (아마도) 아카이브 크기가 아니라 명령 길이입니다. 당신은 할 수 있어야합니다

타르 CF압축된 패키지 파일파일 001 파일 002 … 파일 100
타루프압축된 패키지 파일파일 101 파일 102 … 파일 200
타루프압축된 패키지 파일파일 201 파일 202 ... 파일 300
아니면
타르 CF압축된 패키지 파일파일 001
아카이브를 만든 다음
타르 CF압축된 패키지 파일         파일002…파일100
타루프압축된 패키지 파일파일 101 파일 102 … 파일 200
타루프압축된 패키지 파일파일 201 파일 202 ... 파일 300
(아마도 xargs)가 추가되었습니다.

관련 정보