当前位置: 首页 > 面试题库 >

我可以将Unix权限存储在zip文件(由apache ant内置)中吗?

梁丘远航
2023-03-14
问题内容

我正在为Java应用程序构建Linux安装程序,最后得到的是install.jar和setup.sh,它们使用ant放入了zip文件中。

这个想法是用户解压缩该zip文件,然后运行setup.sh,但麻烦的是,他们总是始终需要先chmod setup.sh才能赋予自己执行权限。

我要删除此步骤,我不确定问题是否是:

  1. 我在Windows上构建
  2. 我用蚂蚁压缩任务建造
  3. 否则,该zip不能预占权限,并且总是在没有x权限的情况下解压缩。

问题答案:

您不能将Linux / Unix文件权限存储在ZIP文件中。

*通过使用ZIP标题内的“外部属性”字段进行 *编辑(在注释之后) ,这些属性可以存储在ZIP文件中。GNU
unzip显然能够读取该附加字段并恢复文件权限。我不确定何时将其添加到ZIP格式中,因为早期版本-来自MS-DOS世界-不支持此功能。

TAR格式(一种“本机” Unix / Linux格式)已设计为包含文件属性,Ant可以创建TAR文件,该文件将保留所有Linux /
Unix操作系统中的属性。

<tar compression =“ gzip” destfile =“ my-archive.tgz”>
  <tarfileset mode =“ 544” dir =“ dir_with_shell_scripts”>
     <include name =“ *。sh” />
  </ tarfileset>
</ tar>


 类似资料:
  • 我使用Maven构建了一个Jar。我试图实现的行为是:当用户使用命令create时,我想在JAR的一个文件夹中存储一个XML文件。有可能做到吗? 假设这是一个项目,我将迁移工具的jar添加到其中。我希望能够看到和编辑属性文件

  • 问题内容: 有什么方法可以使用Java API在Firebase中存储图像文件? 问题答案: 尝试使用以下代码段: 并用于检索

  • 问题内容: 您如何与源代码一起在SCM中维护Jenkins作业配置? 随着源代码的发展,作业配置也随之发展。能够将作业配置保留在SCM中是理想的,因为有以下好处: 易于查看谁的更改历史记录,包括作者和描述 能够通过检出修订版本来重建旧的分支/标记并构建正常的工作 无需滚动UI来找到合适的部分并进行更改 我看到有一个Jenkins Job Builder插件。我更喜欢按照Travis CI的解决方案

  • 如果我通过USB连接将我的文件(基于文本的*.lrc)复制到WP8设备的(Lumia 920)内存中,我的应用程序可以读取它们吗?还是只允许从隔离存储读取?如果我只是复制到内部内存的根,会是什么路径?有API从SD卡读取注册文件。有没有一种方法可以为内部内存(大容量存储)做到这一点。

  • 如何将内存中的zipfile写入文件?

  • 我是git的新手,我现在所做的是将我最近的所有项目作为存储库上传到GitHub。有很多不同的项目,如webdesign、wordpress主题和不同类型的应用程序。其中一些也属于更大的项目,因为它们是关于将某些东西作为一个不同的应用程序进行测试的。 问题是,我有一个混乱的数量存储在网上现在。如何将相关的github存储库分组到文件夹结构中?GitHub上是否有一个提供排序和结构甚至标记存储库的功能