我在 Solaris 机器上创建了一个 tar。结果是一个 55.2 GB 的 tar 文件。我使用以下命令创建了 tar 存档:
tar -Epcvf filename.tar ./directory_name
现在的问题是,当我输入此命令后尝试使用 root 解压它时
tar -xvf filename.tar
我立即返回命令提示符。即,没有发生解压。
类似地,我创建了另一个不同目录的 tar。这次 tar 大小约为 15 gb。我在解压这个 tar 时没有遇到任何问题。
为什么解压 55gb 档案会失败,而解压 15gb 档案却没有产生任何错误?
答案1
没关系。gtar 已经存在于该框中。我以 root 身份运行以下命令,
/usr/sfw/bin/gtar -xvf filename.tar
但是这个命令实际上并没有从 tar 中提取任何内容。它运行了大约半个小时,列出了 tar 的内容。它实际上并没有提取。我用一个简单的 tar 创建了原始 tar,现在我用 gtar 提取它,这可能是原因吗?如果这是原因,那么我有什么办法可以用普通的 tar 提取 tar 的内容吗?
答案2
您是否使用了 GNU 版本的 tar?如果没有,请这样做,这可能会解决您的问题。gnu tar 的安装指南如下:http://sunsolarisadmin.blogspot.com/2007/03/how-to-install-gnu-tar-in-solaris.html
答案3
与 GNU tar 的区别应该是-E
(大文件支持,微秒)和-p
(将文件恢复到其原始模式)。据我所知,-p 与 结合使用x
,而不是c
。我发现两个可能的问题:缺乏权限和符号链接。
答案4
您可以尝试 star,它应该能够自动读取大多数(如果不是全部) tar 变体。