基本上,我想问的问题与Solaris 10上软件包部署的自动化有关。
具体来说,我在tar文件中有一组软件组件,它们在主机环境中提取和配置后作为守护进程运行。与任何服务器端软件包非常相似,我需要确保在提取和运行软件之前满足一系列先决条件。例如:
检查某些用户是否存在,并且他们与一个或多个用户组相关联。如果没有,则创建它们及其组关联。
检查目标应用程序文件夹是否存在,如果不存在,则使用在组装软件包时定义的预配置路径值创建它们。
检查此类文件夹是否具有适当的访问控制级别和特定用户的所有权。如果没有,则设置它们。
检查/ etc / profile中是否定义了一组环境变量,指向预定义的路径位置,添加到常规$ PATH环境变量,最后导出到用户的环境中。其他文件包括/ etc / services和/ etc / system。
显然,手动执行此操作对于许多方框(有问题的目标)肯定会很慢并且容易出错。
我相信一个更好的选择是以某种方式自动化这个过程。到目前为止,我已经考虑了以下选项,并因某种原因将其丢弃。
传统的shell脚本。我以前只对这些问题进行了解决,而且我对它们并没有多少经验。这些将是我的最后一招。
使用pexpect库分析系统命令输出的Python脚本。这是我最初的选择,因为目标Solaris环境已安装它。但是,我想确保我不再重新启动轮子:P。
Ant或Gradle脚本。它们可能是一个选项,因为这些框也启用了Java 1.5,文件集抽象可能非常有用。但是,在处理用户和文件夹权限检查/设置时,它们可能会失败。
在我看来,我不是第一个遇到这种情况的人,但我似乎没有找到适合此目的的实用程序框架。如果有更好的方法可以告诉我。
感谢您的时间和帮助。