Ign*_*ams 11
RPM被指定为Linux Standard Base的打包格式.
...
好吧,我承认,即使对我来说,这也是一个答案.RPM和DEB包的基本目的没有太大区别; 他们每个人都有自己独特的能力,但最终他们都是一包文件和元数据.
这两种包格式之间存在一些重要的差异,它们不仅仅是技术上的区别.
首先,创建和使用debs的APT(高级包装系统)是一个完整的包装系统,传统上对依赖性跟踪有更好的支持.这很重要,因为在安装软件包时,通常需要安装一些软件包所依赖的其他软件包.如果不这样做,通常您的包裹将无法运行.这种依赖性解析是deb打包格式的优势之一.rpm对此的支持很少,因此其他工具(yum,zypper)已经长大,试图复制解决该APT的复杂依赖关系.
其次,Debian是一种"参考"平台.它主要称之为"通用操作系统",但它有一些道理.Debian的社会契约和自由软件的支持意味着它不受单个实体或公司的控制.这意味着实施是开放的,可以不断改进,并且更容易集成软件.结果是你有一个正式运行在8个芯片架构上的操作系统和非正式运行的其他一些操作系统,因此deb软件包将安装在rpm甚至不能运行的许多不同类型的硬件上.由于Debian是perl编程语言和R统计编程语言之类的参考平台,这意味着你的deb可能能够将它所需的依赖关系轻松集成到你的系统中.Debian还有许多被其吸引的主题专家,因为他们能够根据自己的兴趣和能力工作,并且不会被迫考虑损益表.
这意味着deb在技术上通常不仅仅是因为它的包规范,而且还因为它插入的开发人员的生态系统.
小智 5
我对Moblin和Maemo一无所知,但我做过很多软件打包。我更喜欢选择 rpm 而不是 deb 作为我可以选择的任何操作系统的文件格式。在apt存在于 rpm之前,我非常喜欢 debian 而不是 redhat 派生系统。yum几乎和apt一样好。当我学习了这两种打包系统时,我宁愿提供rpm而不是deb。
(1) 对于Binary Data,rpm使用cpio,deb使用ar。cpio是被选为默认 POSIX 归档程序的更多跨平台选择。ar是传统的归档器。
(2)对于源数据,SRPM(一种特殊类型的转数)使用的cpio具有单个专用文件,可以自动构建的过程中转速时任何产生,和转速,被正确地从源代码构建。另一方面,deb使用多种压缩系统,因为支持原始源供应商输入格式,还可以选择使用一系列补丁文件和 3 个魔术文件,每个文件格式不同。
(3)根据我的经验,制作功能性rpm包比制作deb文件要容易得多。
(4)在基于rpm的系统中创建一个功能性的chroot是标准的rpm命令,而在基于deb的系统中它是一个称为debootstrap的专门脚本。
仅来自 debian 阵营的apt,似乎比redhat 阵营的yum更有用,所有上游 QA 工具似乎都来自 Redhat Camp。
我建议制作rpm不是一门神奇的艺术,只是一些你必须训练人们的东西。
(1) Repository builders:createrepo是一个工具,简单易懂。mini-dinstall , dpkg-scanpackages或dak (Debian Archive Kit)或mini-dak或reprepro或debarchiver或debpool或 DebMarshal或apt-ftparchive或dpkg-scansources要么是复杂的,要么是文档不全,或缺少关键功能,有时三个全部。
(2) "Source deb" 不像srpm 那样是单个文件,所以需要特殊的工具来移动它们。
(3) 构建服务器:Koji在文档中每周的每一天都击败pbuilder。必须说pbuilder很安静很酷。
我很惊讶没有明确的最佳工具来制作基于deb的 repo。我试过的都很差。我尝试过的没有一个几乎和createrepo对于 rpm一样好。(reprepro几乎与 rpm 中的createrepo一样好,只是它不允许在单个存储库中存在同一包的多个版本,因此将其排除在大多数持续部署系统中。
我认为选择rpm工具链对他们来说更好。正如查尔斯·斯图尔特( Charles Stewart)的有趣链接所说,它的工具很重要。
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |