+ -
当前位置:首页 → 问答吧 → LFS: 使用Gentoo Portage的可行性研究

LFS: 使用Gentoo Portage的可行性研究

时间:2009-08-29

来源:互联网

emerge 有个伟大的参数 -O:

--nodeps (-O short option)
Merge specified packages, but don't merge any dependencies.
Note that the build may fail if deps aren't satisfied.

正是这个伟大参数, 使我们复用Gentoo的ebuild库而不损害LFS系统成为可能, 当前前提是你自己处理好所以的依赖关系. (好在.. 大部分的软件包依赖关系并不复杂, 如果遇到依赖关系复杂的软件包, 比如Anjuta, 大家忽视它的存在吧..)

我在LFS里装上Portage后, 然后用emerge安装 lua和Celestia-1.6.0 (如果不用Gentoo的ebuild 库, 大家可以尝试一下这两个包有多讨厌...)

OPSvr ~ #emerge -avtO lua
!!! Problem with sandbox binary. Disabling...

* --tree is broken with --nodeps. Disabling...

These are the packages that would be merged, in order:

[ebuild N ] dev-lang/lua-5.1.4 USE="deprecated readline -static" 212 kB

Total: 1 package (1 new), Size of downloads: 212 kB

Would you like to merge these packages? [Yes/No] y

成功的第一步

解下来是顺利的解包, 打补丁和编译, 因为我已经解决了所有的依赖关系.

然后运行lua..

OPSvr ~ #lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> hello
>> good
stdin:2: '=' expected near 'good'
>


Bingo!!! 大功告成

作者: swordhui   发布时间: 2009-08-29

equery l 的结果如下

sword@OPSvr ~ $equery l
[ Searching for all packages in all categories among: ]
* installed packages
[I--] [ ] app-arch/lzma-utils-4.32.7 (0)
[I--] [ ] app-misc/pax-utils-0.1.19 (0)
[I--] [ ] app-portage/gentoolkit-0.2.4.5 (0)
[I--] [ ] dev-lang/lua-5.1.4 (0)
[I--] [M~] sci-astronomy/celestia-1.6.0 (0)
[I--] [ ] sys-apps/sandbox-1.6-r2 (0)

真可谓过程艰辛.
不过以后再难Build的包也可轻松应付了.

贴图
上传的图像
celestia.jpg (151.9 KB, 14 次查看)

作者: swordhui   发布时间: 2009-08-29

LFS 下使用何种包管理方式不重要,最重要的是自己知道如何控制系统,如果是用别的发行版的包管理系统,就得防止它过於自动而免於它自动把它认为没有装的包去替换系统已有的包,否则久而久之,日後系统就会变成发行版无异了

我在 LFS 系统使用 deb 包也是用此原则,以免它自动变成 Debian

作者: d00m3d   发布时间: 2009-08-30

同感

我现在已经不能判定到底是什么区分一个发行版了.

如果我将emerge放到LFS的tools build stage, 然后对所有要安装到根系统的软件包, 用emerge和ebuild管理, 但安装的顺序自己指定, 比如参考LFS, 且完全抛弃Gentoo的启动脚本, 采用LFS的自己定制, 这样的系统我们该怎么称呼? LFS 还是 Gentoo ?

也许该叫LFStoo吧

作者: swordhui   发布时间: 2009-08-30

区不区分发行版意义大吗?

系统是供人使用的,应该是我玩它,不是它玩我!

作者: d00m3d   发布时间: 2009-08-30