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의 출력을 findtar에 전달할 수 있습니다.

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

답변2

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

타르 cftar 파일파일001 파일002 … 파일100
타르 uftar 파일파일101 파일102 … 파일200
타르 uftar 파일파일201 파일202 … 파일300
또는 다음을 수행하십시오.
타르 cftar 파일파일001
아카이브를 생성한 다음
타르 cftar 파일         파일002 … 파일100
타르 uftar 파일파일101 파일102 … 파일200
타르 uftar 파일파일201 파일202 … 파일300
(아마도 xargs)를 사용하여 추가합니다.

관련 정보