在 Solaris 上使用 cf 选项创建 tar 存档时:
tar cf file.tar dir
当许多嵌套目录生成很长的路径名时,会出现错误:
柏油:文件名:文件名大于 100
如何避免?
以下是该机器的详细信息:
# uname -a
SunOS <box-name> 5.10 Generic_125100-10 sun4v sparc SUNW,Sun-Fire-T200
答案1
我使用了选项E
编写带有扩展头文件的 tarfile
因此命令tar cEf file.tar dir
顺利执行
答案2
这是 pre-POSIX 的限制tar
。您可以使用cpio -H ustar
、 POSIX 标准pax
,或者安装 GNU tar
。
答案3
我认为没有必要在这里提出任何其他答案。
只需使用 GNU tar。是的,它就在那里!
您指出您的平台是 Solaris 10。在此平台上GNU tar默认情况下确实会安装。它位于/usr/sfw/bin
可能不在您的路径中,但它确实在那里。只有当您的系统管理员使用一些最小配置文件(“核心”或“精简网络”)安装了 Solaris(系统管理员很少这样做)时,它才会不在那里,您必须SUNWgtar
从安装介质安装软件包。我怀疑情况并非如此。只需执行/usr/sfw/bin/gtar
并观看魔术即可。