- 13
- Aug
今天因工作需要下载了一个Fedora 9的VMware Appliance,直接在VMware Player打开使用。
上次安装ibus时就知道Fedora与Ubuntu的差异很大,这次一用,又是发现了很多Fedora的特色。
仅作记录。
Fedora 9的预装软件
Fedora 9预装了Abiword和Gnumeric为办公组件,而Ubuntu一直以来是预装OpenOffice.Org的。
Fedora 9的软件包管理器
最早用Fedora 6时,开始知道它是用Yum的命令来管理软件包。虽然现在还是用Yum,但似乎有了大不同。
嗯!引入了PackageKit!
PackageKit是一个全新的软件包管理系统+图形前端,它的出现是为了统一不同的软件包管理系统。通过设定的不同的后端(如apt、yum),然后提供统一的图形前端来实现的。
原来Fedora这么早就用上了PackageKit,不愧是技术领先者。
不知道Ubuntu啥时会用上,据我估计,Ubuntu的软件包管理系统和图形前端(Update Manager)都在不断更新当中,短期内是不会转向PackageKit的。
对了,PakcageKit是用Python写的。
Fedora 9的软件更新机制
apt-get很简单,下载软件包,安装之。
而Yum则不一样了,下载delta文件(差异文件?),然后即时生成rpm包,并安装之。(如有误,请Fedora的朋友指正)。
这个过程的好处是,少了很多很多的下载时间,缺点是,生成rpm包有点费时。比如更新Evolution,居然只有几百K,那个Gnome-applets也是如此,如果在Ubuntu下,修正一个小小的Bug,也会带来多达几十MB的更新。
各有各的好,今天算长见识了。
另外,Yum可以通过插件实现扩展,挺灵活的。
继续摸索中。。。
是packagekit?
ibus在两个系统中安装有什么区别阿?
delta不是yum特有的,只要是rpm系都有
好久没来过了。
过来看看你。
变化好大啊。
感慨,不进则退啊。
@alexgao:
编译参数有些不同。总体上是相似的。
@zhuli:
感谢, 我对RPM系的Linux的还不是很熟悉。
@麦子先生:
您是本站最早一批的朋友了,很高兴又见到了你。近来如何?
RPM包不带dep是最大的问题把。。。之前新闻好像说Redhat要用Deb了?
推荐您试一试archlinux,这个系统比ubuntu更需要一个tweak图形化工具,而且可以tweak的项目要比ubuntu来得更有条理
@川葉:
謝謝您的推薦。我之前用過一會ArchLinux,個人認為,ArchLinux因為太過靈活,而且用戶去用ArchLinux,應該具備相當水准,應該不比Ubuntu更需要圖形化設定工具吧。
弄起来对于已经入门的用户来说是不难,但是我觉得你既然已经有Ubuntu Tweak这个框架在了,对于Arch来说只需做少量修改……我甚至建议你把它进行通用化的设计,只需要搭配以特定发行版的配置文件,就可以用来Tweak不同的发行版。毕竟各种发行版之间的差别,基本上都是路径啊可选组件配置文件上的差别。而且这样一来,维护成本也降低了,主程序可以变得很稳定,要添加或修改功能,只需要加入新的配置文件即可。而且可用把让个软件摆脱Ubuntu的束缚,成为经典的Linux图形化工具之一,还为Linux的易用性发展贡献更大的力量呢。
小弟的愚见,不知TX兄以为如何?
@川叶:
感谢川叶兄提的有关Ubuntu Tweak的设计方案,你说的很对,我非常认可。
事实上,从Ubuntu Tweak 0.3.0开始,我就开始着手实现通用化了,虽然还是叫Ubuntu Tweak,但它确实已经可以稳定地运行在Fedora、openSUSE等发行版上,具体地可以看我写在发布0.3.0后的日志:
http://linuxdesktop.cn/2008/04/30/ubuntu-tweak-030-released/
在桌面层设计为通用化还是比较简单的,因为主流发行版都用的是GNOME桌面,基本是通用的。
但是除去桌面外,Linux发行版的差异还是相当大的。
比如在近几个版本中实现的“第三方源”功能,虽然各个Linux版本都有各自类似的第三方源实现,如Gentoo的Overlay,但是差异太大了。我不可能在同一个软件里,实现几个不同发行版的第三方源的功能。除去技术原因,更多是的精力:我在业余时间编写这个软件,我要实现这个我就要安装其他发行版来不断测试。如果有人协助我开发,那可能会好点。
至于是说的配置文件,目前为止,Tweak还没有直接针对系统配置文件进行修改的地方。大多桌面设定都是通过GConf这个高级API来实现的。往后会慢慢实现真正对系统(桌面无关)部分的配置,如果支持多系统,工作量也是相当多的。Linux发行版之间的区别,个人感觉比Windows各个版本之间的区别要大的多。
举个最简单的例子,Ubuntu的网络配置部分是在:/etc/network/interfaces里的。而Gentoo是在/etc/conf.d/net(或自定义)里的。Arch很久没用了,忘记了,不过可以想像也是不一样地方。配置文件路径不同也罢,最不同的是,设定的语法也是不同的。
总之,一个统一化的图形设定工具的路还很长,但是这一定是目标!呵呵。
其实我也只是一个业余的爱好者,一知半解啦。
我也考虑到个人精力问题,所以觉得将引擎和功能分开设计,有助于这个软件的社区化,节省你的代码量,又易于个人定制。这才是我说的“配置文件”的意思,那么我就暂时改名叫“模板”吧。
比如引擎的作用就是负责通过读取Tweak模板,显示GUI,进行Tweak操作;而要实现不同的操作,或者区分不同的发行版,只需搭配不同的模板就可以了。用户还可以在网上交流自己的模板,用以解决特定的问题。
这样,引擎基本上可以很稳定,要增加特定的功能,或者迁移到不同的发行版,只需要编写新的模板就可以了。同时,社区也会很快活跃起来,进行模板交流。如果它已经非常流行了,为了管理这些源,还可以开辟一个官方的模板仓库。
这样是不是更好呢?或许你可以作为下一个版本的设计参考
@叶川:
回老家了几天。
基本上明白你的意思了,不过要真正跟实际结合起来,还是需要费很多功夫的。
总之,Ubuntu Tweak会慢慢进步的!