Skip to Content

询问应用驱动的Linux系统定制学习路子合理否?

一直想深入学习一下Linux系统的定制,不过一直没有找到切入点,现在,我觉得可以开始了。

我有一些计算机和Linux、Puppy Linux的使用经验,准备学习一下Puppy Linux之父Barry Kauler的woof定制轻量级LiveCD的过程。想定制一款下面这样的一款LiveCD。不知道woof能否满足需求?或者Puppy本身就能满足需求?相对来说,哪个更合适,为什么?希望征询一下中文Puppy Linux开发者之家各位朋友的一点建议。

1,从儿童教育的应用出发,把GCompris、Tux4kids两款教育软件定制进LiveCD;

2,定制的系统要充分本地化,尽量不出现英文界面和命令行操作,做到就算是儿童一人在的时候也能使用;

3,系统可以方便的在CDROM、U盘上运行,可以拷贝在硬盘上运行,针对老旧电脑可以安装在硬盘上运行,可以在虚拟机中运行;

4,可以在基础系统上做到模块化的系统构建,例如,可以容易的去掉针对2~10岁儿童的教育套件,换成针对初中或高中的教育套件或换成针对老师或广告设计或多媒体播放的组件;

5,系统的定制不应太过于手工作坊式的操作,例如,原来的puppy的制作,用Barry Kauler的原话就是“ For example, the Puppy3 series is based on Slackware binary packages. However, I did every step manually, creating each PET package virtually file-by-file, and then spent several months getting it right before a final release.”(摘自: http://bkhome.org/woof/ )。当然,现在的Puppy包的制作如何进行还没有深入学习,不过,看来也不是那么轻易就能够完成的,例如:一款基于原来EduPuppy的Hansamben http://www.murga-linux.com/puppy/viewtopic.php?t=49124 LiveCD的制作,看起来就特别像是手工制作。

上面帖子转自我的个人空间 ( http://www.learndiary.com/home/1 ),我想向中文Puppy Linux开发者之家各位朋友多多学习请教,并希望能在Linux和开源利益普通人方面做点事。
#7217
这种系统定制,各行业都需要的说
#7220
无线电子 的头像
呵呵
首先对朋友有这种想法而称赞一下
我不是什么专业人士,但是很热心,我想把我认为的观点和你说一说
目前的Linux系统一直处于处于食物链的二级位置,长期食用肯定比吃肉(像微软--5级食物链)要好的多,至少可以经常锻炼脑子,不会得高血压等富贵病,但是话说回来了,二级食物链适合一些和尚专业户来吃,不过现在社会如此复杂,吃杂食的动物也多了,你要是非要吃,也是很容易的,只是味道不怎么地,不过正如你说的,你想让孩子来吃,方向很好,你不妨把孩子要吃的东西都洗洗干净放在篮子里,呵呵这个过程是很难做的,因为一人一个口味,比如Barry Kauler教授毕竟是老外,喜欢吃甜食,不像咱们中国人,讲究油盐酱醋,呵呵,你要是把教授准备的东西直接拿来,然后替换替换,勉强可以满足你的愿望,不过,你始终得不到那种亲自去大自然采取食物的经验和乐趣。
所以,朋友,你要是真想那么做的话,你不妨亲自合成一个桌面Linux,那样你就不会那么被动了,俗话说授之以鱼不如授之以渔,但是作为接收方,我们应该学会索取技术,而不是成品,Linux桌面肯定没有Windows好,但是系统比Windows好。呵呵 我的比喻不是很恰当,希望对你有帮助!
#7247
to:无线电子
感谢你的回复。

我用Linux不只是兴趣而已。简而言之,想在提供对普通大众有益的开源产品的同时能在提供周边服务或产品的过程中寻找小型的商业应用模式。就像无数的个体户或小门面依靠Wintel联盟的产品而能做点小生意。我希望Linux及周边的软硬件也能达到这样的效果。

当今(至少是国内)的主流还是经济发展为主流,尤其是现在的中国政府,是以经济建设为中心的,因此整个国民的主流意识是“向钱看”,能挣到钱的人是能人,能挣到钱的产品是好产品。Linux 及开源在国内也不能脱离这个主流。

因此,个人认为,Linux及开源想在更普及的层面上利益人,成熟有效的商业模式,尤其是针对个人及中小企业有效的商业模式的建立是非常重要的。

有用的产品或服务不一定能赚到钱,但能赚到钱的产品或服务一定要是有用的产品。所以,我才产生以应用为驱动定制Linux系统或一个可以灵活定制这样的系统平台。

现在的Linux系统往往是交给用户一全套的东西,应有尽有,这样的发行版数量庞大,但是用户很少,尤其是针对普通终端用户的桌面操作系统,据说Linux系统的占有率在1%徘徊。所以,我有一个这样的想法,与其提供给终端用户一个大而全的操作系统而鲜有人使用,还不如提供特定用户最需要的应用程序。关键一点是,我的想法是以用户需要的应用程序为中心,而不是以操作系统为考虑的中心。这就是我的应用驱动的定制Linux系统的基本出发点。

在这个出发点下,我构思一个这样的所谓“操作系统”(也许叫做工具更合适)的需求列表:
1,精简,尽量的精简,去除一切不必要的东西。
如我想定制一款儿童教育用的工具,我只要一个GCompris程序和Tux4kids,其它如:浏览器、写字、命令终端等等什么都不要;

2,方便,尽量的方便,可以在不影响或几乎不影响普通用户现在使用环境的情况提供优质的Linux平台下的开源资源。
如:可以在优盘、光盘上运行,可以安装在老旧电脑上运行,可以和开源的虚拟机软件直接整合成一个可在多种操作系统下运行的绿色软件等等;

3,速度。尽量在内存中运行。在去除任何不必要的东西的情况发挥硬件最大的潜力。速度快是令人心情愉快的体验;

4,平台,可扩展,可定制。
我希望这样的一款操作系统,可以在上面容易的加入、去除软件,并不绝对禁止手工作坊式的操作,但这样的工作量要适度。因为我感觉如果过于追求自动化可能会带来不必要的成分,如Debian系列的apt-get命令,有时安装一个软件会安装一大堆软件,问题是,这些软件是否真的离开就不能正常运行了呢?我觉得不一定,但是没有认真的去验证。这样的定制可以从源码开始,只要满足需要,从二进制包开始也行。像LFS一样只提供一个定制的手册也行,但是系统构建的目的是以应用为中心。但是,最好是不要像LFS一样完全从底层开始(我没试过,只看过一些文章),要能提供一个我们的应用能普通适用的平台。也以你的食物链为喻,假设LFS是二级,我们的平台也许可以做成三级或四级;

5,本地化,尽量的本地化。
我希望针对桌面的系统,最好是不出现英文界面,甚至不出现终端窗口。从应用出现,我们可以组织外围的力量支持我们认为有用的应用程序本地化。例如像开源文化实验室 ( http://www.learndiary.com/ )所做的GCompris儿童教育套件本地化工作,参见: GCompris 9.1 发布及简体中文翻译情况介绍 http://www.learndiary.com/blog/2010/02/gcompris9-1-release-and-simplified-chinese-translation.htm 当然,只是翻译翻译我认为只是本地化工作的前提之一,要让这样的软件真正的利益本地的普通用户,成为本地普通用户所喜爱的流行应用软件,而且是正版,这才算是真正的本地化了。

6,不重复发明轮子,尽量不重复发明轮子。
牛顿曾说过“站在巨人的肩膀上”( http://zhidao.baidu.com/question/12080937.html ),如果世界上已经有人在做满足我们需求的这样的东西,我们完全没有必要去另起炉灶,直接加入进去充实其中的力量就最好了。如果有我们可以利用的基础,我们完全没有必要去另起基础,直接在其基础上构建我们的系统就最好了。我们的工作也可以检验基础和回溯到基础上进而向我们的基础作贡献。当然,如果没有一个这样的系统或基础那又是另外一回事。还有一个重要的问题是,开发和维护一个发行版的任务非常之重,对个人的技术功底要求也相当的高。我自己也感觉到作这样的一个发行版是心有余而力不足,所以至今没有开始这样的尝试。如果真的要开始,肯定要学习大量的新知识并需要向各位朋友请教。

7,团队的力量,尽量能形成团队的力量。
1+1>2,一个人的知识和智慧是有限的,多人参与的技术互补和意见互补往往大于单纯的人数相加的意义。如果这样的一款系统是有进行的价值的。我希望有更多的朋友能够参与进来,大家一同做这个系统,一同寻找围绕这个系统的商业模式。例如:"中文Puppy Linux开发者之家"( http://www.minilinux.net/ )有较好的人气和较强的技术实力,如果有必要和意愿,可以主持进行这样的一个发行版的开发和维护,“开源文化实验室”( http://www.learndiary.com/ )可以以合适的角度参与进来;反之也行;共同组建第3个开发平台也行;另外寻求一个合适的社区也行,如: http://www.linuxsir.org/ ;总之,只要有益于更好的开发维护这样的一个发行版(如有必要),什么样的方式我们都可以考虑。

祝大家虎年快乐!
#7346
从总体来说,尽管CDlinux慢于Puppy,但是由于 CDlinux的模块化设计(相对Puppy比较集中的设计),使其可以在我的一台PIII 667 + 256M的机器上用硬盘安装的方法启动CDlinux 0.9.5 社区版再加上全部的可选模块(但是大程序的运行还是不行的)(详细参见: 试用 CDlinux 0.9.5 http://www.learndiary.com/home/space-1-do-blog-id-3764.html

针对如何做到尽可能少的占用资源,我有一点设想:

1、可以在启动进入系统前设置一个选择菜单,确定哪些程序或模块需要或不需要加载进内存或挂载成loop设备;

2、看能否在运行的过程中切换和加载功能模块,如:当前运行2~12岁的儿童套件,在切换菜单中选择切换到12~15岁的教育套件,这时原来的程序完全退出资源占用。这种切换可以是运行中切换,实在不行也可以重启切换;

3、因为现在的硬件都比较强,上面提到的尽可能少占资源的想法也需要进行可行性的论证。

目的是为了在当前的应用环境下尽可能的让Linux及开源界的智慧成果造福大多数人的普通应用人群,包括运行这些资源为大众服务的技术及服务人员。
#10675
版主,我很赞同你的想法,也很支持。希望我们能一起合作。
#10676
版主,我很赞同你的想法,也很支持。希望我们能一起合作。
#10677
版主,我很赞同你的想法,也很支持。希望我们能一起合作。
#10678
说点实际性的吧,讨论做不做、怎么做,这个太高端,直接说下做的部分、命令、做法,来的实际,做出来了不行就改,那样才能实现目标
#10681
1.puppy更合适,puppy稳定。
2.不想见到中文,那就汉化
3.放到cd,虚拟机,硬盘里都能运行, 现在的puppy就是这样。
4.模块化应用程序,puppy的个人文件就是干这个事的,替换个人文件就可以替换应用程序

楼主的问题,压根就不是问题,puppy现在就可以做这些,你的梦想真简单,下载前面苦人做的完全汉化的puppy,你就实现梦想了。
#10688
yimengqiannian 的头像

发表新评论

  • 你可以在文本中使用BBCode标记语言。 URL会自动被转为链接。

更多关於格式化选项的信息

CAPTCHA
请验证您是否是机器人。
Image CAPTCHA
Enter the characters shown in the image.