+ -
当前位置:首页 → 问答吧 → 和 ArchLinux 比较

和 ArchLinux 比较

时间:2008-04-05

来源:互联网

我刚才无意间看到一个关于 ArchLinux 的讨论贴。看了一下 PKGBUILD 的介绍。好像 PKGBUILD 也用的是类似虚拟安装,然后在生成二进制包。这个东西和 ebuiild 的最大区别在什么地方?
还有一个就是,我看那里最后还是使用 pacman 来安装二进制包。我记得 Gentoo 也提供了一个制作二进制包的小工具。我感觉那个东西像是没人用。他应该在应急的时候起到一些作用的吧……
有用过 ArchLinux 的朋友请批评指教。

作者: 亞利艾爾   发布时间: 2008-04-05

觉得没有gentoo的时候arch是个很好的替代,两个都很干净很自由,但是arch的镜像没有很快的那种,所以我一般用debian代替。

作者: jjj311   发布时间: 2008-04-05

1、xxxxxxxxxxxxxxxxxxxxxxxxxxxx。
(看到下面还有兄弟被误导了,就在这里修改一下吧:ebuild文件是bash的--zhllg,portage是python的--cbkid)

2、gentoo本来就是自己编译居多,只要拿到ebuild就可以自己定制、编译了,一般没必要再编译一个pkg出来。
3、PKGBUILD好像不支持slot功能,gentoo里同一个软件的不同版本可以方便、简洁地共存。从软件滚动方面来讲,arch要“薄”一些,gentoo“厚”一些,各有长短吧。
4、ebuild里有“USE”,PKGBUILD没有类似的功能,自己制作pkg包的时候一般要手动config一下来调整编译选项,并相应地改动PKGBUILD文件,而这一部分的功能gentoo已经通过USE完成了,一般不需要再去改动ebuild文件(除非你需要做更多的事情)。我觉得USE是gentoo包管理最大的特点了。想想吧,同样是自己手动定制一个软件包,每当该软件更新的时候,你都要自己改动PKGBUILD,而ebuild只要sync一下就可以了,用USE设定的定制信息会被保留下来,不需要再改一次。
5、gentoo的制作二进制包的工具还是有用的,只不过一般用户很少用。比如有100台同样配置的电脑,做一套stage4 PKG出来,就不用每台机器都编译一遍了。

总之呢,对于用户来说,gentoo以ebuild为主,arch以PKGBUILD为辅。在arch里,只要是官方源里有的包,一般很少自己再去做PKGBUILD。如果你不想用pacman,而是用abs+pkbbuild+mkpkg来安装软件包,那为什么不用gentoo呢?

个人意见,仅供参考。如有错误,欢迎指正。

作者: arch686   发布时间: 2008-04-05

原来如此,谢谢两位的介绍和回答。确实想自动获得完全编译的系统,还是用 Gentoo 要好些。

作者: 亞利艾爾   发布时间: 2008-04-05

引用:
作者: arch686
1、PKGBUILD是类bash的,ebuild是python的。
ebuild文件是纯bash

作者: zhllg   发布时间: 2008-04-05

我也曾经动摇了一下,跳过去装了几次,用了一个多星期的 archlinux,老实说,对比 gentoo 除了安装省些时间之外(也许这个也是 gentoo 的硬伤吧)还真没看出还有哪方面的优势,当然,也是对比 gentoo 而言啦,arch 相比 FC,Ubuntu 之类的还是简洁高效很多。

但 archlinux 对我来说也有无法忍受的硬伤,软件打包太大太不人性化了,像我这种有洁癖的可真是无法忍受,哈哈,^_^,在 arch 下找不到我爱怎么样就怎么样的感觉。而且,在运行速度方面,看到网上很多帖子说差别不大,但就我而言,还是能感觉到 gentoo 明显要快啊。

以上均为个人感受,仅供参考,呵呵。

作者: ljx980645   发布时间: 2008-04-05

建议楼主要是时间比较充足的话都用用吧,用段时间就有体会了
两个都是很棒的发行版

作者: axlrose   发布时间: 2008-04-05

引用:
作者: arch686
1、PKGBUILD是类bash的,ebuild是python的。
portage才是python写的。
不过你还这事博学阿。知道这么多,支持一下

作者: cbkid   发布时间: 2008-04-06

不喜欢arch.很多东西不标准,比如硬盘的命名。相比它我还是喜欢slackware.

作者: fei   发布时间: 2008-04-06

引用:
作者: fei
不喜欢arch.很多东西不标准,比如硬盘的命名。相比它我还是喜欢slackware.
可以解释一下吗?

作者: sssslang   发布时间: 2008-04-06

他说的不会是udev吧

作者: cbkid   发布时间: 2008-04-06

2个都用过,都不错。arch搭建起来很快,只要你的网速跟的上。这点作为快速搭建一个平台,是很不错的(在我需要几个小时内有个能用的系统,除去配置时间)。但是arch的帮助工具太少,导致有的时候很麻烦。我最喜欢的 gentoo 的etc-update arch 似乎就没有,都是手动的,很郁闷。

引用:
作者: fei
不喜欢arch.很多东西不标准,比如硬盘的命名。相比它我还是喜欢slackware.
是 sda -> hda 这种?还是?我觉得arch都很正确的啊,至少我没觉得有啥问题。不过标准与否,在于你是否习惯,呵呵。

作者: 晨想   发布时间: 2008-04-06

我虽然一直都知道 ebuild 是 python 的,但是我总是用写 bash 的思维来写 ebuild。什么命令都直接网上堆。有时间学学 python。
  这一段时间烦死了。课题组要求我学习 perl 和 GTK 下的 GUI 设计,现在还要学 python,主课还要期中考试了。头大呀!

作者: 亞利艾爾   发布时间: 2008-04-07

引用:
作者: 晨想
2个都用过,都不错。arch搭建起来很快,只要你的网速跟的上。这点作为快速搭建一个平台,是很不错的(在我需要几个小时内有个能用的系统,除去配置时间)。但是arch的帮助工具太少,导致有的时候很麻烦。我最喜欢的 gentoo 的etc-update arch 似乎就没有,都是手动的,很郁闷。

是 sda -> hda 这种?还是?我觉得arch都很正确的啊,至少我没觉得有啥问题。不过标准与否,在于你是否习惯,呵呵。
没想到晨想帅哥也用过arch
我备用二进制发行版的原因跟你前面提到的一样,为了在短时间内搭一个linux来用,或是老机器的话用二进制发行版是很不错的选择,个人感觉arch还是挺干净的,有点vim打天下的感觉。。。咋在gentoo吹arch,罪过罪过
还是那句话,都是很棒的发行版,自已体会,反正我的主发行版是gentoo,一直都在用

作者: axlrose   发布时间: 2008-04-07

引用:
作者: axlrose
没想到晨想帅哥也用过arch
我备用二进制发行版的原因跟你前面提到的一样,为了在短时间内搭一个linux来用,或是老机器的话用二进制发行版是很不错的选择,个人感觉arch还是挺干净的,有点vim打天下的感觉。。。咋在gentoo吹arch,罪过罪过
还是那句话,都是很棒的发行版,自已体会,反正我的主发行版是gentoo,一直都在用
快速搭建的话debian也是个不错的选择,没用过arch,也不知道arch对debian有优势没,呵呵。

作者: alaxie   发布时间: 2008-04-07

引用:
作者: 亞利艾爾
我虽然一直都知道 ebuild 是 python 的
ebuild文件是bash
我前面刚说过....

作者: zhllg   发布时间: 2008-04-07

其实把各发行版的特点列一下,大概也就差不多了。至于个人的习惯问题,没法比较的。

作者: 晨想   发布时间: 2008-04-07

罪过罪过,没有看到版主的倾情忠告……小生谨记在心,ebuild 是 bash。
PS:可以暂时放放 python 的学习计划了……哈哈哈!

作者: 亞利艾爾   发布时间: 2008-04-08

2楼观点很正确啊~

本来arch就是吸取2进制包安装的发行版还有编译安装发行版的长处,配置文件学习BSD的,主要优点是针对i686帮你编译,不用你自己再编译就能以很快速度运行,编译只是辅助,而且类似gentoo,freebsd的安装管理器,很方便,PKGBUILD就是类似ebuild的,不过功能烧,但是也简单了些。还有软件思想就是总是保持最新,这样避免软件编译环境跨度大,运行错误比较少,其实这点来说gentoo有自身优势,解决的很好

相比ded,rpm等发行版来说就是快,和配置简单简洁,还有编译系统这些优势。而且最后一点debian相比实现困难一些。

和gentoo比我像就是喜欢配置文件这点,全部编译和大部分不编译就看个人喜好了。

一般来说我认为arch还是要好于debian的,但是debian维护人员多,历史长,也许稳定吧,但是就我使用来说也不见得就这样,个人见解。因为不喜欢debian分发行版。觉得很麻烦。不过debian有特殊的软件来配置系统,有人喜欢有人不喜欢,我就不喜欢这样,还是直接修改配置文件比较好

作者: jarryson   发布时间: 2008-04-08

感觉Arch分子很狂热
Gentoo用户很低调

作者: Reiase   发布时间: 2008-04-08

引用:
作者: 晨想
2个都用过,都不错。arch搭建起来很快,只要你的网速跟的上。这点作为快速搭建一个平台,是很不错的(在我需要几个小时内有个能用的系统,除去配置时间)。但是arch的帮助工具太少,导致有的时候很麻烦。我最喜欢的 gentoo 的etc-update arch 似乎就没有,都是手动的,很郁闷。



是 sda -> hda 这种?还是?我觉得arch都很正确的啊,至少我没觉得有啥问题。不过标准与否,在于你是否习惯,呵呵。
不知你有服务器没。你试试scsi的硬盘看看就知道了。

作者: fei   发布时间: 2008-04-09

楼上的是不是拿很久以前的arch做比较阿。以前arch是用devfs(好像是这个名字),也是内核中的标准阿,只是被淘汰了。
linux都是一样的,怎么会有不同标准呢?目前还没见过哪个linux不符合标准的。

很简单,内核都是一样的,磁盘的管理怎么会不同呢。

ps:看你的签名,都用其它的系统了,你怎么不说,你不喜欢freebsd的硬盘硬盘命名和linux的不同。既然已经接受了其它系统和linux的差别,怎么接受不了以前的arch和一些主流linux上的差别。我想主观上的因素是很大的。

作者: YourLai   发布时间: 2008-04-09

引用:
作者: 亞利艾爾
我刚才无意间看到一个关于 ArchLinux 的讨论贴。看了一下 PKGBUILD 的介绍。好像 PKGBUILD 也用的是类似虚拟安装,然后在生成二进制包。这个东西和 ebuiild 的最大区别在什么地方?
还有一个就是,我看那里最后还是使用 pacman 来安装二进制包。我记得 Gentoo 也提供了一个制作二进制包的小工具。我感觉那个东西像是没人用。他应该在应急的时候起到一些作用的吧……
有用过 ArchLinux 的朋友请批评指教。
gentoo打二进制包很少用,但是有大用。新装的机器,装了emacs-cvs,死活有问题,问题不细说了。很是弄了几天,搞不定。原来安装使用的版本过低,已经没有了。可是用惯了emacs,没有简直太痛苦了。终于想起来笔记本上还有一个原来装好可以用的。死马当作活马医,打成二进制包拉过来,行了!爽死!

作者: slinger   发布时间: 2008-04-10

gentoo给我的感觉是让时间多的人去用的.

作者: zhong   发布时间: 2008-04-10

打包的简易程度而言,二者是天壤之别,去打一个官方源里都没有的东东,arch只是分分钟的事,再者arch几乎没有依赖检查的问题,即使碰到也可简单忽略掉,其系统所有的包也都可方便的自己去打包来升到新版,反之gentoo和debian这些可以无缝升级的东东,想自己来调整核心的包,多数情况下是要伤筋动骨的

自家的东东冷暖自知,说到底,没啥完美的东东

作者: superjet   发布时间: 2008-04-10

引用:
作者: zhong
gentoo给我的感觉是让时间多的人去用的.
是给懒人用的
你可以随便找个人问问,gentoo让他们变的有多懒

作者: zhllg   发布时间: 2008-04-10

引用:
作者: superjet
arch几乎没有依赖检查的问题
如果所说属实,我以后肯定碰都不会碰arch

作者: zhllg   发布时间: 2008-04-10

引用:
作者: zhllg
如果所说属实,我以后肯定碰都不会碰arch
因为arch的makepkg从根本上没有考虑从打包工具链条上来解决依赖关系,比如记录必需的底层库的相关版本信息等,更多的是依赖打包者来提供相关信息,虽然有辅助的namcap等来对打完的包来提取比较后给出依赖包,也只是辅助罢了,同时也不是每个打包的都来这样处理,不是根本的解决之道

当然依赖处理随意带来的好处和坏处俱在,如果去严肃地处理依赖关系的话,就不是arch了,这也和其KISS的发行理念相符

作者: superjet   发布时间: 2008-04-10

引用:
作者: superjet
打包的简易程度而言,二者是天壤之别,去打一个官方源里都没有的东东,arch只是分分钟的事,再者arch几乎没有依赖检查的问题,即使碰到也可简单忽略掉,其系统所有的包也都可方便的自己去打包来升到新版,反之gentoo和debian这些可以无缝升级的东东,想自己来调整核心的包,多数情况下是要伤筋动骨的

自家的东东冷暖自知,说到底,没啥完美的东东
不检查依赖性的包管理机制似乎缺少了点必要的东西,一个库的升级可能会导致很多现存软件包的无法运行,这都不检查似乎太简单了点,这样的简单我不认为是优点!另外就是slot,我觉得gentoo在这些方面确实做得很好。

打包的简易程度要看打包者的心态,如果打包的人不考虑依赖性问题我想在每个发行版里打这样一个包都是分分钟的事情,这并没有特别的不同!写一个不管patch不管依赖性的ebuild也许分分钟都要不了,当然编译那是另一回事,在哪个发行版从源码打包都得做!

作者: debianl   发布时间: 2008-04-10

引用:
作者: fei
不知你有服务器没。你试试scsi的硬盘看看就知道了。
之前一直都用 scsi 的,,最近才弄的服务器反而用 ATA 了。
你具体说一下,我也好回味一下嘛~~。。

作者: 晨想   发布时间: 2008-04-10

引用:
作者: debianl
不检查依赖性的包管理机制似乎缺少了点必要的东西,一个库的升级可能会导致很多现存软件包的无法运行,这都不检查似乎太简单了点,这样的简单我不认为是优点!另外就是slot,我觉得gentoo在这些方面确实做得很好。
基础库的升级导致一些东东无法运行是常有的事,解决之道无非自己重打和等官方来打对应的包或者简单的链接下so,优点、缺点之说也只是自说自话,arch说是个多人来做的lfs还比较适合,但如果严格做到底层库的检查来升级的话,就是debian而不是arch了

引用:
打包的简易程度要看打包者的心态,如果打包的人不考虑依赖性问题我想在每个发行版里打这样一个包都是分分钟的事情,这并没有特别的不同!写一个不管patch不管依赖性的ebuild也许分分钟都要不了,当然编译那是另一回事,在哪个发行版从源码打包都得做!
因为arch总体上是共用一个pool,当然启用了testing除外,简单也不是说arch就没patch,同样来加patch也是arch远比gentoo简捷,arch下打包更多的是记录放置位置和执行附带的脚本,方便以后的升级与删除,依赖的处理则放到了其次的位置,依赖审核严格必然导致打包脚本的复杂和冗长,牵一而动全身是其优点也是缺点,也由此决定了类似版本一如笨重的大象般拖累太多

作者: superjet   发布时间: 2008-04-10

引用:
作者: superjet
解决之道无非自己重打和等官方来打对应的包或者简单的链接下so
链接so不是所有情况都可以
so里的符号是有版本的,参见 http://people.redhat.com/drepper/dsohowto.pdf
如果旧版本的符号在新so里没有了,这样,链接是没用的

目前gentoo里不需要等官方打包,自己revdev-rebuild

未来gentoo里会完全避免这个问题,旧so会保留,等到未来某个适当的时机再删掉

作者: zhllg   发布时间: 2008-04-10

回Gentoo了,用了2个多月arch,感觉官方的包更新速度还是太慢,比如firfox3 beta5,到现在unstable里都没有,aur里的pkgbuild质量也参差不及,感觉很乱,实在是用的不习惯,不爽

作者: Debentoo Gao   发布时间: 2008-04-11