有没有一种方法可以在创建tar文件后(或者创建后不久),在分发之前
笨拙的方法是复制目录,然后
背景: 根目录位于我们的ClearCase vob中,具有特定的文件权限(递归)。创建一个tar文件,并分发给我们组织中的多个“客户”。大多数人只需要读/执行权限(特别是不希望它们具有可写性),但其中一个组需要其副本具有递归可写性,因为他们可能会编辑这些文件,甚至还原到“新鲜”副本(即,以我给出的状态原始状态)。
这个组对技术有些挑战。尽管他们有关于tar文件的“如何”说明,但他们似乎总是忘记(或错误地执行)将文件设置为递归可写。这导致他们给我打电话,要求我诊断各种问题的根本原因是他们忘记了(或执行不正确)对展开目录进行chmod。
在你问之前,是的,我给他们编写了一个脚本来untar/chmod(专门针对他们),但...哦算了。
所以,我想我会创建一个单独的递归可写版本的tar文件,只分发给他们。正如我最初所说的那样,我总是可以复制该目录,使复制目录递归可写,然后压缩复制目录,但是该目录相当大,而且磁盘空间有时非常接近满(它可能会变化很大),因此100%的时间都无法复制该目录。
chmod 777
tar文件内容?被打包的目录的写入权限在tar时是未知的(但通常为555)。我希望展开后的目录可以是全球可写的,而无需用户在继续操作之前记得 chmod -R 777 <untarred dir>
。笨拙的方法是复制目录,然后
chmod -R 777 <copydir>
,但我想知道是否有更好的解决方案。 我在Solaris 10机器上运行。背景: 根目录位于我们的ClearCase vob中,具有特定的文件权限(递归)。创建一个tar文件,并分发给我们组织中的多个“客户”。大多数人只需要读/执行权限(特别是不希望它们具有可写性),但其中一个组需要其副本具有递归可写性,因为他们可能会编辑这些文件,甚至还原到“新鲜”副本(即,以我给出的状态原始状态)。
这个组对技术有些挑战。尽管他们有关于tar文件的“如何”说明,但他们似乎总是忘记(或错误地执行)将文件设置为递归可写。这导致他们给我打电话,要求我诊断各种问题的根本原因是他们忘记了(或执行不正确)对展开目录进行chmod。
在你问之前,是的,我给他们编写了一个脚本来untar/chmod(专门针对他们),但...哦算了。
所以,我想我会创建一个单独的递归可写版本的tar文件,只分发给他们。正如我最初所说的那样,我总是可以复制该目录,使复制目录递归可写,然后压缩复制目录,但是该目录相当大,而且磁盘空间有时非常接近满(它可能会变化很大),因此100%的时间都无法复制该目录。
tarfile
库,可用于编写自定义打包脚本,但GNU tar似乎没有这个选项。 - Fred Foo