欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux常见问题解答--如何修复“tar:由于前一个错误导致于失败状态中退出”

程序员文章站 2022-05-27 16:14:59
...

https://www.linuxidc.com/Linux/2015-07/119924.htm

如果当你执行tar命令时,遇到了下面的错误,那么最有可能的原因是对于你想用tar命令压缩的某个文件中,你并不具备其读权限。

tar:Exitingwith failure status due to previous errors

那么我们要如何确定引起错误的这个(些)文件呢?或者如何确定其它的错误根源?

事实上tar命令应该会打印出所谓的“上一个错误”(“previous errors”)到底是什么错误,但是如果你让tar运行在详细模式(即verbose mode,例如, -cvf),那么你会很容易错失这些信息。要找到这些信息,你可以像下面那样,把tar的标准输出(stdout)信息过滤掉。

$ tar cvzfz backup.tgz my_program/>/dev/null

然后你会看到tar输出的标准错误(stderr)信息。(LCTT 译注:自然,不用 v 参数也可以。)

tar: my_program/src/lib/.conf.db.~lock~:Cannot open:Permission denied
tar:Exitingwith failure status due to previous errors

你可以从上面的例子中看到,引起错误的原因的确是“读权限不允许”(denied read permission.)要解决这个问题,只要简单地更改(或移除)问题文件的权限,然后重新执行tar命令即可。