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!!! 大功告成
--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的包也可轻松应付了.
贴图
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
我在 LFS 系统使用 deb 包也是用此原则,以免它自动变成 Debian
作者: d00m3d 发布时间: 2009-08-30
同感
我现在已经不能判定到底是什么区分一个发行版了.
如果我将emerge放到LFS的tools build stage, 然后对所有要安装到根系统的软件包, 用emerge和ebuild管理, 但安装的顺序自己指定, 比如参考LFS, 且完全抛弃Gentoo的启动脚本, 采用LFS的自己定制, 这样的系统我们该怎么称呼? LFS 还是 Gentoo ?
也许该叫LFStoo吧
我现在已经不能判定到底是什么区分一个发行版了.
如果我将emerge放到LFS的tools build stage, 然后对所有要安装到根系统的软件包, 用emerge和ebuild管理, 但安装的顺序自己指定, 比如参考LFS, 且完全抛弃Gentoo的启动脚本, 采用LFS的自己定制, 这样的系统我们该怎么称呼? LFS 还是 Gentoo ?
也许该叫LFStoo吧
作者: swordhui 发布时间: 2009-08-30
区不区分发行版意义大吗?
系统是供人使用的,应该是我玩它,不是它玩我!
系统是供人使用的,应该是我玩它,不是它玩我!
作者: d00m3d 发布时间: 2009-08-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28