LinuxSir.cn,穿越时空的Linuxsir!

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

Paludis 试用笔记

[复制链接]
发表于 2008-6-20 01:09:03 | 显示全部楼层 |阅读模式
之前有同学问 Paludis 怎么样什么的,也有 KDE 的 Overlay 问题。我今天神经病,新鲜一下,试 Paludis 一下,以下是我的使用笔记。

我的结论是:没有毛病的人可以不要用 Paludis 继续使用 Portage 了。

以下是我测试的各项内容:

1. 安装:已经有 Portage 的用户安装很简单,只要 emerge paludis 就可以了,建议打开 ruby 的 USE 标志,里面有对 Paludis 而言非常有用甚至十分重要的工具。

2. 配置:配置还好,一般麻烦。Wiki 和 Paludis 的官方网站有教程,可以参考。里面有一个 portage2paludis.bash 的脚本,非常不错。官方虽然一再声明说这个脚本不一定设置正确,但一般来说是很不错了。只要你没有我这样的变态设置:我是 LINGUAS="*"。虽然版主两次建议我设置为需要的语言,但我没有改,结果在这里出问题。问题本身没有什么可表述的,因为没有可参考性。之后就有一个问题了。我在 #paludis 上提问说能否 LINGUAS="*"(Portage 是可以的),他们(是 cairamn 说的,名字好像是这个)说不行,这种 USE_EXPAND,Paludis 会不知道 linguas_* 到底有那些 linguas_xx 的。我觉得很莫名其妙,又问 Paludis 难道不能被动接受符合的 LINGUAS,他们回答更莫名其妙了:“这样 Paludis 将无法安装没有 LINGUAS 设置的包。”

提示一点,官方网站因为更新问题,portage2paludis.bash 无法下载。我是在 Google 上搜索到他们网站的 GIT 中的记录找到了下载地址。就找 portage2paludis。

3. 安装软件:这个我有些要说的了,Paludis 的废话不是一般的多。今天的 Portage 中有一个 net-tool 中有个的版本中加了个超过 8 个字符的日期时间信息(就像 glibc-2.8_p200806xx 那样,它有 12 个字符。),就说了 6 行字,然后说“这是不规范的,不过 Paludis 可以处理,其它的包管理就不一定了”。这不是 play zhuangbility 吗?不看废话?可以,加上 --log-level silent 吧!当是练习打字。

而且安装的命令略有不同:

-i 安装
-u 卸载
-q 查询

详请大家自己看资料吧!其实别看了。

4. 更新修改了 USE 标志的包:这个我最想骂街了!什么选项!Portage 是怎么做的大家都知道:emerge -1ND xxx。知道 Paludis 怎么做吗?

paludis --dl-reinstall when-use-change -i xxx

而且我谦虚的说,据我目前所知道的没有简称……没有见过这样烦的手写命令,听说 LFS 安装会有……

5. 替代 Portage 的可行性:如果只是这样我也没有什么说了,其实都可以用自己用什么替代命令什么的解决。当我 paludis -up portage 的时候我绝望了:有包括 glibc 在内的 4 个 system 包依赖 portage!我不活了!我百忙之中花 3 个小时看了的东西居然是这样个附加品!

后来我冥思之中看它有什么优点,终于想了个不是优点的优点:Paludis 的主程序是 C++ 写的,这样 emerge -C python 后可以继续用,paludis -i python 回来。结果今天看有人把 gcc 都弄没有了,paludis 都安装不了……(我绝对没有讽刺意思,不要用恶意揣测我哟!)

总之,今天的测试的唯一结论:尚未使用 Paludis 的没有毛病的人可以不要用 Paludis 继续使用 Portage 了。已经用的我不说什么了。

PS:我发现我很有新鲜劲。先是不听版主劝告用 stage1 安装,后是用没人用的 Paludis,之后我又新鲜什么还在这里发。
PS 之 PS:我真是不到黄河不死心,不用 stage3 安装很久了,以后都用 stage1。除非出问题不能解决……
PS2:最近要期末考试,7月4号之后才能更新置顶。版主让我再发一个,回头7月10号前我尽力补上。(可能要不了那么久。)
发表于 2008-6-20 11:15:18 | 显示全部楼层
我也为了个kde-svn装了paludis,这个Paludis音译是不是帕拉丁,貌似是某个AD&D中光明主神的名字。
个人不是很喜欢这玩意儿,改了ebuild的标准,容易造成分裂阿
但是包控制的粒度要比portage好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-20 11:19:48 | 显示全部楼层
呵呵,楼上对龙与地下城研究不少,这个都记着在。我玩个无冬都受不了了。
  到是控制力度我没有看出来,对于其中很多功能觉得很不实用。
回复 支持 反对

使用道具 举报

发表于 2008-6-20 21:30:44 | 显示全部楼层
Post by 亞利艾爾;1864534
呵呵,楼上对龙与地下城研究不少,这个都记着在。我玩个无冬都受不了了。
  到是控制力度我没有看出来,对于其中很多功能觉得很不实用。


1.说到无冬,我术士已经通关了,有空一起研究了. ;-) (nwn原版+Sou+Hou)

2.paludis的开发者是Gentoo PMS的制定者,有很多超前的东西(相对portage,pkgcore来说还没有或者只是部分实现),除了支持ebuild之外,
还支持Gentoo的衍生发行版exherbo正在使用的exheres格式.

3.paludis默认设置貌似更适合给开发者使用,关于楼主说的第3第4个问题,
有类似于portage的DEFAULT_OPTIONS之类的设定.或许可以让楼主或者其他使用paludis的人少打几个字.
只需在环境变量中定义一个PALUDIS_OPTIONS,比方说我的:

  1. PALUDIS_OPTIONS=--show-use-descriptions new --show- use-descriptions changed --log-level silent --show-reasons summary --dl-reinstall if-use-changed --dl-reinstall-scm never --debug-build none
复制代码


4.--dl-reinstall when-use-changed选项似乎和portage的--newuse还不能对等. 相对来说--dl-reinstall when-use-changed需要重新编译的次数明显要少于portage的.那种(+USE) (-USE)之类的变化,paludis不会重新编译安装.

5.我的系统中有14个软件包依赖于portage.

6.说到不足之处,
6a.没有pkgcore速度快.inquisitio(类似eix的查询工具),无论从速度还是功能都比不上pkgcore的pquery.[个人看法,速度是我最初尝试paludis的原因之一.]

6b.在使用portage或者pkgcore安装软件/更新portage后,需要paludis --regenerate-installed-cache && paludis --regenerate-installable-cache,不懂portage和pkgcore为什么不需要这么繁琐的步骤.

6c.启用accept_breaks_portage,安装genkde4里面的kde-scm(相当于-9999版本)后,portage
和pkgcore不能在使用了(目前好像仅限portage)

6d. 没有--update选项,只能使用--install -1,忘记-1后每次升级软件paludis -i xxx 后,world里面会多一条软件记录...真是挺恼人的.没有--ask选项........

6e: 缺少portage某些特性,unmerge-orphans collision-protect parallel-fetch elog...等等,卸载软件会有残留文件,比如我gcc升级/usr/share/gcc目录里会遗留老版本的目录,文件,用portage/pkgcore似乎没有问题.升级baselayout-2/openrc也会残留一些baselayout-1的文件.

6f: 似乎会自动生成/root/\-,/usr/tmp-${HOMENAME}, /var/db/pkg中生成-reinstall-xxxx文件等等等...(这点偶还不敢确认)

7.觉得相当方便的地方:
7a: paludis --sync,让后所有的portage树,overlays全部更新完毕,portage唯独缺少这么好用的功能.(pkgcore可以使用pmaint sync)

7b:相对来说在卸载软件时安全不少:
比如楼主说的paludis -u portage,他会告诉你有多少个包依赖于portage,然后自动退出,除非明确指定--permit-unsafe-uninstalls.

7c:选项名字虽然长了一些,当相当好记.

7d:配置简洁明了,比如我想unmask x11 overlays中的所有软件包只需:

  1. mkdir -pv /etc/paludis/package.unmask
  2. echo "*/*::x11" >> /etc/paludis/package.unmask/x11.conf
复制代码

ok,一切搞定.

7e:我的系统里有不少9999版本的软件,使用paludis可以指定多长时间更新所有的这些所谓的scm-packages.(虽然可以在portage中定义一个package set,然后emerge @set-name)

7f:paludis的sets可以指定依赖关系以及一些条件,比如只有在系统已安装才包括在set中.


PS:
1.偶只有初中文化程度,(只上到高二,就没有再读下去)难免有时说话让人费解,请多多包涵,另外这些只是自己的一点小小使用心得而已.

2.我个人最常使用的还是portage/pkgcore
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-21 00:03:19 | 显示全部楼层
楼上过谦了,这和所谓的“文化程度”没有什么关系。鄙人一向对这种垃圾标准不予以重视。

关于默认选项问题,鄙人也看到的。就是使用默认这个不好把握,有时不用这些选项是时候,还是要打字。

9999 更新是个很不错的功能。鄙人一直不知道 Portage 怎么使用 9999 自动更新。

regenerate installed/installable cache 是个让鄙人比较头痛的问题,鄙人是只用 Paludis 安装,最后鄙人还是把 Paludis 删除了。卸载残留是个很不好的事情,这个相当于告诉鄙人绝对不能用 Paludis。Paludis --sync 其实也一般。鄙人用 eix-sync 也不错。

鄙人也不打算试用 pkgcore 了。现在使用 pkgcore 也换不了 portage。我想不明白 glibc 要 portage 干什么?为什么没有一个 virtual/pkgmgr 之类的东西来专门代替 portage 等包管理器?

鄙人对 Portage 还有一些想法,不过鄙人水准很低,而且目前也表述不清,不好意思说到 Gentoo Forums 上去。
回复 支持 反对

使用道具 举报

发表于 2008-6-21 00:25:18 | 显示全部楼层
Post by Blahster;1864892

7.觉得相当方便的地方:
7a: paludis --sync,让后所有的portage树,overlays全部更新完毕,portage唯独缺少这么好用的功能.(pkgcore可以使用pmaint sync)

layman -S
eix-sync

嫌麻烦就弄个脚本

pms谁都可以写
但要gentoo council批准后才能生效

pms里之前写入了kdebuild-1 EAPI
council不批准
白搭

另外从我获得的一些消息,目前portage的维护者认为pkgcore有可能成为portage-3

还有就是从目前的情况看,paludis成为未来gentoo的pkg manager的几率极低
哪怕ciaran那帮子人向所有被他们攻击过的人都一一道歉,恐怕也不行
council前段时间刚刚开除了和ciaran沆瀣一气(到不是说他们之间关系一定很好,但行为方式有相似之处)的3个人,大部分gentoo开发者对此无不拍手称快
除非gentoo council被亲ciaran的人所占领
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-21 01:59:35 | 显示全部楼层
对于 #paludis 里面的人,我聊天是有点感受。ciaranm 我说的不多,没什么认识,就是那两个回答让我觉得有些莫名;另外有一个 k 打头的真有病。当时我问 LINGUAS 各字符的解释在哪(/usr/portage/profiles/desc/linguas.desc),全不全,当时他回答位置后说“高手可以用 Bash 把 LINGUAS 解释字串去了”。我说我来试试学学,他的回答让我很无语:“听清楚,我说的是高手!”太恶心了,还:
The Portage codebase is too broken to be fixed. It is a huge mess of spaghetti procedural code with no underlying design. It relies upon weird quirks in its own behaviour all over the place, so any change is liable to cause huge breakage in seemingly unrelated areas.

这种说法我觉得很没有意思,看 Gentoo Wiki 上给足面子好好介绍 Paludis 一番,觉得做人的差距呀……

如果 pkgcore 成为 portage-3,我会好好关注一下。现在看一下 pkgcore 的特性。不知道 portage-3 是什么时候的事……

PS:版主注意休息,半夜了不要乱上网了。0 点是很好的睡眠时间。PS 之 PS:鄙人刚起床,嘿嘿。
回复 支持 反对

使用道具 举报

发表于 2008-7-1 16:18:50 | 显示全部楼层

说说我的看法~~~~~~~~~~~~~~~

我基本不是gentoo圈子里面的人,只想彻底搞明白一个包管理系统的运作(好奇心而已),
所以接触gentoo

首先去看gentoo-portage的源码,的确很乱!很费解。开发者的确是很棒的python程序员,
但他们是用了太多太多的python专有技巧,代码很难看明白,模块设计也不好(也许以前很好,随着代码维护工作,变得越来越混乱)。
后来我给portage的维护者写了一封信,抱怨代码的fuzz并且讨教阅读python代码的技巧。
他自己承认代码有问题,主要原因是缺少人手和时间进行维护和整理。并且推荐了其他两个与portage竞争的工程——pkgcore和paludis. 他说“个人观点是pkgcore可能变成portage-3”..
后来给张乐兄写了邮件,告诉他这些,不过他对此好像不很清楚。

然后我去看pkgcore的代码,感觉这东西好像是从portage派生出来的,代码树安排也比较好,不过因为个人实在是习惯了C/C++的风格,所以python的代码看得很痛苦。

现在我在看paludis,这东西代码量有20万行(包括注释行),这个规模的代码一个人想要彻底看懂绝对是没希望了,C++的代码就是不一样,比python语言的两个大多了。而且里面大量使用了范型编程,导致代码很长。代码结构设计得比较好,但是有所有C++爱好者的通病——过度设计,总认为自己的实现比标准库好,总把程序运行效率放在第一位(其实我现在看来,代码设计的可阅读性才是第一位的,运行效率实在不是什么很重要的事情)。

在#paludis上聊过,他们人还好吧。热心地给我介绍了paludis是拉丁文的词汇,是“沼泽地、泥潭”的意思——个人认为起这个名字实在糟糕,混乱的代码就是泥沼!

至于这句话“
The Portage codebase is too broken to be fixed. It is a huge mess of spaghetti procedural code with no underlying design. It relies upon weird quirks in its own behaviour all over the place, so any change is liable to cause huge breakage in seemingly unrelated areas. ”我也看到过。按照我自己的英文水平,看不出来有人身攻击的意味,并且我认为这句话的确是在陈述事实。

依我看啊,paludis还是很不错的东西,不过鬼知道有没有前途,能否被大量的人接受。
我还在看paludis的代码,自己的想法是这样——作为一个C++爱好者,看到这些水平比我高的代码,自然需要学习。

至于楼上说的gentoo和paludis社区之间的矛盾,我看纯粹是不同类型技术人员之间的争吵而已。主要是C++程序员的各种性格缺点导致,——狂傲自大、吹毛求疵、忽视用户感受、极端排斥其他编程语言。。。。。。。。。
楼上说的paludis的各种缺点,都上来源于C++程序员本身极端主义的性格弱点。

最后我说说我的想法:
各种package management,功能大同小异,都是安装、卸载、修复、下载、更新升级的一些功能。我看用什么语言实现不是很重要的事情。关键是package格式标准的制定——gentoo网站上下载了“Package Manager Specification.pdf”,
目前portage包里面包含了可执行的bash代码。我认为这是不妥的。我设想的一个理想设计应该是软件包的ebuild应该仅包含描述性信息——版本号、兼容性、特殊编译选项、依赖性、平台bug、补丁等等。
执行动作应该是由pack manager软件自己完成。这样才能保证整个portage树的稳定。维护portage树的工作量远远大于维护一个pack manager软件(甚至比重新开发一个pack manager软件还困难),所以portage树应该是中立的、稳定的。就像各种图像(jpeg、png、gif)的格式标准,仅仅用描述性的语言制定了格式,至于用什么软件压缩/解压,是另外的事情。

我的看法是这样,其他的意见呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-1 16:45:46 | 显示全部楼层
呵呵,还有人翻出来。楼上说的有些道理。鄙人觉得其实可能用户安定一些,用 portage 算了。让开发人员进化他们吧!
回复 支持 反对

使用道具 举报

发表于 2008-7-1 16:49:37 | 显示全部楼层
呵呵,大教堂与集市嘛!
既然大家都选择了集市,那么容忍集市的嘈杂就是必须的啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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