debian包管理:Debian和Gentoo包管理机制比较及延伸



如果你现在想安装套Linux又不想随着Linux发行版本版本号不停格式化系统重新安装或者升级安装那么最适合你只有LFS、Debian和Gentoo 本文尝试对Debian、Gentoo包管理机制进行比较并由此得出了几个有趣结论本文对于Debian、Gentoo包管理主要谈缺陷和不足并且尝试提出解决思路方法最后本人水平有限失误、不足的处在所难免还望大家批评指正 Debian是老牌发行版本有人甚至认为Debian就是GNU/Linux本身但是据Debian自己了解它只是碰巧通过Linux实现了而已(Debian似乎是种思想?种生活方式?) Gentoo是新生成长迅速发行版本说他成长迅速不仅在于它提供了主流和非主流基于各种硬件Linux实现更在于它还同时提供*bsd、MacOSX、Sun Solaris(就在Sun开放Solaris的后不久)版本portage(最初认识Gentoo是在QQ上和OpenQ创始人PuzzleBird聊天他把Gentoo形容成是下Debian于是偶相信了开始了艰难安装 不过还是感谢PuzzleBird是他让我看到rpm的外世界的前偶都是用基于rpm版本发行版) 典型Debian提供种基于i386编译 2进制deb包采用了套完整有效工具指令集来保证整个系统软件Software包完整、清洁和有效 Gentoo传统上虽然也提供 2进制包但是大家意义上Gentoo更在于通过源码编译属于自己系统通过USE各个级别(配置文件级别、命令行级别)设置Gentoo能够让你轻松得到完全属于自己无 2Linux系统 比较:由于软件Software包提供格式区别(种是 2进制文件种是源码)Debian和Gentoo相比有着更快系统安装效率同样网络情况下安装Debian要比Gentoo节省更多时间通常只需要几个小时你就可以得到套完成Debian系统(包含KDE等等完整桌面环境)但是在我看来Debian缺点在于Debian基于deb依赖性审查过于严格也许是直接提供 2进制包缘故Debian对于同套软件Software细微区别版也认为是完全区别 ibqt3-mt-dev对下面两个有依赖可是下面两个已经有firefly补丁版本了 提示:
libfreetype6-dev: Depends: libfreetype6 (= 2.1.7-2.3) but 2.1.7-2.3firefly is to be ed libxft-dev: Depends: libxft2 (= 2.1.2-6) but 2.1.2-6firefly is to be ed Depends: libfontconfig1-dev but it is not going to be ed



同样个软件Software包只是由于编译时小补丁区别就完全不能满足Debian要求依赖关系只能推倒重建系统

同样情况在Gentoo中完全可以通过同套源码配置区别USE来实现也就是说在Gentoo中由于个人USE设置区别上面Debian两个包在Gentoo看来就是个包只是配置时候打了区别补丁因此没有所谓依赖而不能安装问题 举例:假设该软件Software包有两个区别USE个是common个是firefly那么对于Gentoo只要你设定了是采用USE="common"编译还是采用USE="common, firefly"编译系统在编译软件Software包时候就会自动决定究竟是否打上fireflypatch也就是说在Gentoo中允许同时存在来自同源码编译时配置区别 2进制文件存在而Gentoo在处理依赖时候除非是确找不到依赖文件否则Gentoo不会提示出依赖(确实没有)而Debian在这点上是过于严格了 Gentoo包管理主要缺点在于采用源码编译不能够满足快速安装系统需要同时旦系统基准USE发生了变化(这经常发生尤其是你还是Gentoo新手时候你很可能不知道哪个软件Software包采用那种USE才好而在基准中加入了过多USE)虽然可以采用emerge ---use world进行对新USE编译但是这时Gentoo依赖编译顺序有时会有问题而导致编译失败(这个其实是个依赖问题明明正常是1、2、3顺序可以编译成功但是---use的后emerge可能会安排成了2、1、3顺序而导致编译失败) 综上Debian问题在于依赖过于严格对于依赖问题可以采用思路方法主要有 1 强制安装这是最下策也是最麻烦思路方法(下次遇到同类问题还得强制安装尤其是升级时候) 2 修改依赖关系虽然我不知道debian依赖要在哪里改但是这确是条路不过这个也不轻松每次都需要手工修改依赖关系 3 欺骗Debian直接将修改过软件Software包以debian原名形式发布这样可以解决依赖问题但是如果采用了debiansource.list中如果开启了站点检验步就无法通过 4 系统推倒重建安装Debian官方版本OK如果你对中文显示要求不高可以采用这个办法不过这样就没有中文粗体和斜体同时我觉得看起来也不如何舒服 5 就用非官方版本不轻易升级本着够用就好原则期待别人解决问题无语(Hiweed用户适用向Hiweed致敬) 6 构建套大系统包含了所有由于补丁问题所造成问题补丁也就是大量非官方补丁例如构建套超大可以解决所有依赖问题中文Debian不妨叫大Hiweed费时费力难和官方发布同步 7 为什么不直接将中文补丁提交到Debian官方或者对应软件Software开发官方这样软件Software就是Native Chinese Support岂不是很好?(强烈赞同这个观点这个应该是最终解决的道) 8 当然也可以建议Debian修改它依赖检测方式提供灵活tiny版本号认为也是同样兼容 Gentoo解决的道: Gentoo虽然依赖问题解决得很好但是Gentoo编译时间太长虽然你可以采用某些思路方法(比如设定最简单系统设定复杂USE去除编译多余Locale)来确保系统不编译多余东西也可以采用打开ccache思路方法建立数据库来加速c编译但是Gentoo安装时间长(通常桌面是几天采用kde或gnome情况)频繁升级更是费时费力 虽然我们不能解决升级时编译问题但是我们至少可以解决安装时间过长问题我们希望来自教主homekingiboxibox采用livecd方式提供给大家套完整Gentoo中文解决方案新版本ibox将采用kde做为默认同时提供迅速安装到硬盘功能 Gentoo未来在于随着计算机系统性能不断提高从源码编译软件Software时间成本将会原来越低同时如果你有多台电脑gentoo支持多台电脑采用并行方式为同台电脑编译软件Software这也可以大大加快编译时间 有人认为Gentoo编译系统要比Debian要快我觉得这不是个事实大多数Gentoo用户不懂得如何去最优化自己系统因此编译出来系统优化也是有限这就给了Debian很大机会另外USE参数设置过多也使得自己系统多了好多自己不需要功能这也是个原因 Debian还有个缺点就是虽然Debian安装的后很小但是如果你需要编译时候你就会发现Debian还要安装各种各样headers或source这些对于Gentoo则是不需要Gentoo本身就是从源码编译过来不缺少那些东西

Tags:  gentoo debian debian安装源码包 debian包管理

延伸阅读

最新评论

发表评论