我正在打包和分发我为Windows、Linux和Mac制作的程序。我打算把这些文件和文件夹放入zip存档中。
如果我设置了正确的文件夹和文件权限,然后将它们压缩成zip并重新分发,那么当用户在Linux或Mac系统中解压这些权限时,这些权限还会保留吗?或者他们必须自己设置权限?
发布于 2012-05-24 22:20:34
zip不会将文件权限存储在存档中。
tar存档将保留Linux和OS X上的文件权限。我不知道在Windows上发生了什么。如果你能在Windows上测试并运行,这可能是你最好的选择。这可能取决于人们使用什么工具来解压档案。
另一种选择是创建一个安装程序,尽管创建跨平台安装程序的非商业选择很少。维基百科有a list。
发布于 2012-05-24 23:02:43
在这里,安装程序是您的最佳选择。让我更好地解释一下原因。
Windows具有以下权限:
Modify
Read & Execute
Read
Write它们被分配给组或用户名,
基于Unix的系统具有:
Read
Write
Execute可以分配给所有者、组和其他人。
您可以看到,很难将权限从一个系统映射到另一个系统,因为文件系统处理权限的方式不同。
但是,像Info-Zip这样的一些压缩实用程序支持基于Unix的文件系统功能,例如用户和组ID、文件权限以及对符号链接的支持。它还支持NTFS文件系统权限,并在提取文件时尝试将NTFS权限转换为Unix权限,反之亦然。这可能会导致潜在的意外组合,例如,在NTFS卷上创建.exe文件时拒绝可执行权限。*
如果你计划发布你的程序,安装程序确实是你最好的解决方案。
*来自维基百科:Zip (file format)
https://stackoverflow.com/questions/10735297
复制相似问题