LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1175|回复: 6

Gentoo还是Arch,能给Gentoo安个APT吗?

[复制链接]
发表于 2006-7-11 07:50:17 | 显示全部楼层 |阅读模式
Arch那边的人说Arch既能象Debian的apt一样安装编译好的二进制文件,也可以象Gentoo一样emerge一个源码自己编译,而且速度相比Gentoo一点也不落后。据说用过Getnoo的自从用了Arch后,就不想再换回Gentoo了。

请问各位大牛,Arch与Gentoo相比的真正优势在哪里呢?能不能给咱们的Gentoo也安个apt啊?
发表于 2006-7-11 10:22:16 | 显示全部楼层
俺曾经在 LFS 系统下编译 dpkg 来使用 Debian 的 deb 包,但是我对使用 apt 的时候便有所故忌了,原因并不是编译 apt 的问题,而是忧虑 apt 过於自动,把我辛苦建立的系统被 deb 包替换,久而久之变成了真正的 Debian,要防止包被更新当然有方法,如做 virtual package,hold 某些包,修改 available list 等,但亦比较不便。

在 LFS 用 dpkg 来装 deb 包的话,起码自己知道自己在动什麽手脚,但是用 apt 恐怕太自动了,Gentoo 没有自己的 repository (二进档储存库),用 Debian 的源,随时得不赏失,除非有人建立 repository 供他人使用,但这样又失去了 Gentoo build from sources 的原意,还不如用 portage 自己 emerge 好了

我用 Arch 不精,但觉得 pacman 很不错,能同时兼顾 source code 及 binary,常跟同事说,若某天用腻 Debian,就改 Arch 吧
回复 支持 反对

使用道具 举报

发表于 2006-7-11 11:47:23 | 显示全部楼层
arch的软件不如gentoo多
arch只限于x86平台
回复 支持 反对

使用道具 举报

发表于 2006-7-11 12:15:01 | 显示全部楼层
arch下主要由pacman来管理那些二进制包,和apt类似,而且官方还提供了一个abs系统(跟portage类似,不知道说的准不准确),用来构建自己想要的包,/var/abs/下就是abs tree,存放的是那些PKGBUILD
  1. [rainy@wys ~]$ ls /var/abs/
  2. base     editors        kernels  multimedia  PKGBUILD.proto  x11-drivers
  3. daemons  extra          lib      network     system          x11-libs
  4. devel    install.proto  local    office      x11
  5. [rainy@wys ~]$
复制代码

下面就是一个PKGBUILD的范例:
  1. # $Id: PKGBUILD,v 1.66 2006/06/27 10:42:46 tpowa Exp $
  2. # Maintainer: dorphell <dorphell@archlinux.org>
  3. pkgname=mplayer
  4. pkgver=1.0pre8
  5. pkgrel=1
  6. pkgdesc="A movie player for linux"
  7. arch=(i686 x86_64)
  8. depends=('libmad' 'libungif' 'cdparanoia' 'gtk2'
  9.          'codecs' 'sdl' 'libjpeg' 'lame' 'libtheora'
  10.          'esd' 'faad2' 'ttf-bitstream-vera' 'libxxf86dga'
  11.          'fontconfig' 'libxinerama' 'libxv' 'libpng'
  12.          'libxxf86vm' 'xvidcore' 'freetype2' 'libgl')
  13. source=(ftp://ftp.mplayerhq.hu/MPlayer/releases/MPlayer-${pkgver}.tar.bz2
  14.         ftp://ftp.mplayerhq.hu/MPlayer/Skin/Blue-1.5.tar.bz2)
  15. [ "$CARCH" = "x86_64" ] && source=(${source[@]} \
  16.         http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/media-video/mplayer/files/mplayer-1.0_pre7-gcc4-amd64.patch)
  17. url="http://www.mplayerhq.hu/"
  18. md5sums=('f82bb2bc51b6cd5e5dd96f88f6f98582' '371fa9457f0f23295ddaa93b57d862a0')
  19. [ "$CARCH" = "x86_64" ] && md5sums=(${md5sums[@]} '9c52b8b6d2256cc936201aad760823c6')
  20. build() {
  21.   cd $startdir/src/MPlayer-${pkgver}
  22. [ "$CARCH" == "x86_64" ] && $(patch -Np1 -i ../mplayer-1.0_pre7-gcc4-amd64.patch || return 1)
  23. if [ "$CARCH" == "x86_64" ]; then
  24.     # for x86_64 arch64 fix: remove: --with-win32libdir=/usr/lib/win32
  25.   ./configure --prefix=/usr --enable-gui --disable-arts --enable-x11 \
  26.     --enable-runtime-cpudetection --enable-sdl \
  27.     --enable-theora --confdir=/etc/mplayer \
  28.     --enable-xvid --enable-gl --enable-tv-v4l --enable-tv-v4l2 --enable-largefiles \
  29.     --disable-liblzo --disable-speex --disable-openal --disable-jack --disable-faac \
  30.     --disable-smb --disable-aa --disable-fribidi --disable-libdv --disable-musepack \
  31.     --language=all
  32.   else
  33.   # *hint* next time build mplayer in chroot with only current on
  34.   ./configure --prefix=/usr --enable-gui --disable-arts --enable-x11 \
  35.     --enable-runtime-cpudetection --enable-sdl \
  36.     --enable-theora --with-win32libdir=/usr/lib/win32 --confdir=/etc/mplayer \
  37.     --enable-xvid --enable-gl --enable-tv-v4l --enable-tv-v4l2 --enable-largefiles \
  38.     --disable-liblzo --disable-speex --disable-openal --disable-jack --disable-faac \
  39.     --disable-smb --disable-aa --disable-fribidi --disable-libdv --disable-musepack \
  40.     --language=all
  41. fi
  42.   make || return 1
  43.   make DESTDIR=${startdir}/pkg install
  44.   cp etc/{codecs.conf,input.conf,example.conf} ${startdir}/pkg/etc/mplayer/
  45.   ln -s /usr/share/fonts/TTF/Vera.ttf ${startdir}/pkg/usr/share/mplayer/subfont.ttf
  46.   rm -rf ${startdir}/pkg/usr/share/mplayer/font
  47.   mv ${startdir}/src/Blue ${startdir}/pkg/usr/share/mplayer/skins/default
  48. }
复制代码

进入某个软件的目录之后执行makepkg就开始自动下载源码和编译打包了,当然也可以通过修改PKGBUILD来建立自己想要的包(相关优化参数可以在/etc/makepkg.conf里设置,不过没有Gentoo的定制性强)。

关于速度,大多数从Gentoo转到Arch的朋友说感觉不到差别。

我想最大的优势应该是在于不用什么都编译吧,通常一些最新的软件,官方都在第一时间打包了。而Gentoo提供的二进制包通常都不是最新的,如果要用最新的只好等待漫长的编译过程。

那些不喜欢什么都要编译的朋友可以试试arch。
回复 支持 反对

使用道具 举报

发表于 2006-7-11 13:04:28 | 显示全部楼层
举个最近的例子
openoffice-bin-2.0.3比openoffice-2.0.3先进入portage
回复 支持 反对

使用道具 举报

发表于 2006-7-11 18:07:50 | 显示全部楼层
Arch和Gentoo怎么说呢?我就是从Arch转向Gentoo的,似乎有点反常
我的感觉就是Gentoo的文档太爽了,而Arch明显要少。而且Gentoo的测试感觉比Arch的严格,Arch的软件包并不是经过严格测试的。
个人感觉而矣,说得不对的请大家指正。
回复 支持 反对

使用道具 举报

发表于 2006-7-11 19:31:46 | 显示全部楼层
Post by sheep204
...
请问各位大牛,Arch与Gentoo相比的真正优势在哪里呢?能不能给咱们的Gentoo也安个apt啊?

唯一的优势是Arch官方提供二进制包,仅此而已。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表