
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
tar에 전달할 수 있습니다.
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
)를 사용하여 추가합니다.