【问题标题】:Remote software update on Linux machinesLinux 机器上的远程软件更新
【发布时间】:2010-12-29 04:42:19
【问题描述】:

我们开发可在多台服务器上运行的基于 Linux 的网络应用程序。我们需要为远程应用程序更新开发一些解决方案。 我现在能想到的只是使用 rpm/deb 包,但我们不希望将其锁定为某些特定于发行版的解决方案。除了通过一些 Bash 脚本通过 SSH 复制文件之外,您还有什么推荐的?

谢谢。

【问题讨论】:

  • 如果您使用针对您的特定开发平台的解决方案,您可能会得到更好的答案:Java/Python/Mono/Native?
  • 这与编程无关,与系统管理有关。投票转移到 ServerFault。
  • @David Thornley:这些程序员不就是决定如何打包和分发自己的软件吗?恕我直言,它与编程有关,就像版本管理一样。

标签: linux software-distribution


【解决方案1】:

我迟到了八年,但请查看Ansible。

Ansible 是一个极其简单的 IT 自动化平台,可让您的 应用程序和系统更易于部署。避免编写脚本或 用于部署和更新您的应用程序的自定义代码 — 自动化 接近简单英语的语言,使用 SSH,无需代理 安装在远程系统上。

另外,您可以查看guide。

【讨论】:

    【解决方案2】:

    查看蓝图和蓝图 I/O。 Blueprint 是一种工具,可检测服务器上的所有包、文件修改和源安装。它将它们打包成一种可重用的格式,称为蓝图,可以应用于另一台服务器。 Blueprint I/O 是一种用于向另一台服务器推送和从另一台服务器拉取的工具。两者都是开源的。希望这会有所帮助。

    https://github.com/devstructure/blueprint(蓝图@Github)

    https://github.com/devstructure/blueprint-io(蓝图 I/O @ Github)

    【讨论】:

      【解决方案3】:

      puppet怎么样?

      【讨论】:

        【解决方案4】:

        发行版在设置和依赖方面确实存在很大差异,我实际上建议您创建发行版特定的软件包并与其更新工具集成 - 最后通常会为您省去很多麻烦。

        由于易于虚拟化,为各种发行版创建/测试每个发行版的 vmware/virtualbox 映像非常容易

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-05-22
          • 1970-01-01
          • 2013-09-29
          • 1970-01-01
          • 1970-01-01
          • 2010-09-18
          • 1970-01-01
          相关资源
          最近更新 更多