【发布时间】:2016-02-17 12:33:40
【问题描述】:
因为我们没有使用上游 tar/source/make 打包某些东西,所以 99% 的打包文档是不相关的。我们需要部署一些脚本和java和war文件到ubuntu。我们正在尝试通过 debian 软件包来做到这一点。我们知道它可以自动将您提供的特定文件复制到目标服务器中的等效位置,例如如果我们提供一个文件 ./var/lib/tomcat7/webapps/someting.war,apt-get install ourapp 会将战争放在正确的位置。我们还想部署库和脚本。
这一切都会奏效,但我们如何更新呢?
如果我们只是简单地创建一个新包,大概新文件会覆盖旧文件。但是我们如何清理新包中存在的文件,而不是旧包中的文件?我们需要为此编写脚本,还是有一些自动的方法来执行此操作?
作为第一个安装包的一部分部署的配置文件呢?我们不想覆盖这些,但如果它们不存在,我们需要将它们放在那里。在这种情况下,想必我们不能使用通常的打包文件的方式。
任何想法我们如何做到这一点?
另一种方式是我们不提供包中的任何文件,而是自己管理文件。我们会在包中提供一个 tar 文件,然后编写将其提取到临时位置的安装脚本,然后以编程方式将文件复制到 FS 上。这是一种有效的方法吗?在这种情况下,使用 .deb 打包系统没有多大意义。
【问题讨论】: