2012-07-11 35 views
2

我一直在调查软件工件存储库,如Artifactory,NexusArchiva。像这样的工件存储库在持续集成环境中表现良好,具有依赖管理和自动构建工具。他们很大程度上受Maven的影响。Linux软件包存储库和通用软件工件存储库之间的区别

我也了解Linux软件包仓库,比如Debian或RedHat使用的软件仓库。使用这些系统下载和安装具有所有必要依赖项的软件非常简单。

Maven-like存储库和Linux包存储库之间的主要区别是什么?有没有根本不同的设计目标?除了平台实现之外,它们可以互换吗?

回答

1

Linux软件包库

  • 主要满足最终用户的软件,还可以作为开发人员库
  • 发布版本中普遍存在,快照版本是有时可
  • 传递依赖通常安装或拆除自动
  • 用于频繁安装软件包,并且不经常删除它们
  • 个软件包安装在一个单一的,全系统的位置
  • 即成仅分布特定的Linux软件
  • 服务器在Linux上运行的浏览
  • 命令行或图形工具和下载

软件工件储存器

  • 主要服务开发库,但也可以作为最终用户软件
  • 版本和快照版本是双方共同
  • 传递依赖处理各种方式,取决于封装
  • 包在用户的机器上基本上缓存,并可以经常清除
  • 包是每个项目的缓存,而不是全系统
  • 即成软件用于任何操作系统
  • 服务器的任何桌面或服务器操作系统
  • Web界面的浏览上运行,并下载
  • 支持多种协议(Maven,Ivy,NuGet,P2等))
0

Artifactory的得到了YUM addon,它使它能够像任何标准的HTTP公开的YUM服务器(用于部署和分辨率)一样行事。

支持Debian软件包也在路线图上。

1

在那里的各种神器创建应用程序不会做任何rpm或deb不会做的事情,事实上它们通常能力较差并且更复杂。我怀疑避免deb或rpm的最大问题是无知。另一个是这个神器是操作系统不可知的(虽然构建当然不是),并且分布是不可知的,所以就是这样,但是我没有看到任何显着的优势。

相关问题