Daftar argumen terlalu panjang bukanlah kesalahan khusus tar. Ini adalah kesalahan ( E2BIG) dari syscall exec (2) (diberikan oleh kernel, yang harus meletakkan beberapa batasan execveuntuk menghindari kerusakan memori). Jadi shell Anda (yang forkkemudian execve-s /bin/tarprogram) memberitahu Anda pesan kesalahan itu.
Mungkin sulit untuk meningkatkan batas itu (mungkin beberapa sysconf, saya lupa detailnya). Atau mengkompilasi ulang kernel Anda dan meningkatkan ARG_MAXdi nya include/uapi/linux/limits.h.
GNU tar (1) menerima banyak opsi menarik (jadi silakan baca halaman manual), khususnya:
-T, --files-from = FILE
Get names to extract or create from FILE.
Jadi kumpulkan jalur file yang akan diarsipkan dalam beberapa file (misalnya sementara), lalu sampaikan dengan -Tdan Anda tidak akan mendapatkan batasan.
Namun, tarperintah tersebut memiliki banyak fitur menarik, dan Anda dapat menggunakannya untuk memiliki perintah berukuran wajar.
Lihat juga temukan (1) dan xargs (1) . Pertimbangkan juga dar atau afio (sebagai altenatif tar) atau rsync
Anda mungkin menggunakan GNU cp (1) sebagaicp -va sourcedir destdir