自定义非根包pipe理器

我们有一个在Centos 7上运行的软件,在一个单独的文件夹下,并且没有sudo权限的专用用户。 目前更新过程包括手动复制新版本的zip文件并使用bash脚本解压缩。 它工作正常,但我们感兴趣的一些附加function,如版本控制,依赖控制和从存储库安装。 Yum不是一个选项,因为它不支持非root安装。 你能请教我们一些自定义的包pipe理器提及的function,并可用于非root用户?

除了可移植的打包格式之外,您可以使用其他现有的包pipe理器来设置根目录:

  • rpm --root dir
  • dpkg --root=dir

如果你需要包装分辨率和类似的function:

  • zypper --root dir
  • dnf --installroot=dir

像AppImage或Flatpak这样的便携式打包格式可以在一个容器中分发完整的应用程序。 我认为他们之间没有相互依存关系,虽然他们相当独立,有时完全孤立。

有些语言可以在用户本地安装模块,比如Python的pip或Perl的CPAN。 当然,这些要求你使用他们的语言。 他们确实build立了依赖关系的版本控制系统。

从版本控制系统中检出工作副本是一种不同的部署方式。 也许使用git,克隆部署,并从同一分支拉动更新。 虽然不做依赖关系,但如果一个回购包含整个应用程序,会更容易。 而任何脚本运行将不得不分开进行。

现有的档案提取方法并不一定是坏的。 当然,自动化它,以便准确地部署到任何地方。 如果您在此存档周围构build脚本,版本控制和元数据,则恭喜您发明了另一个打包系统。 没有什么错,只要它满足你的需求,并可以维护。