|
发表于 2006-5-8 23:04:14
|
显示全部楼层
而任何一个Linux发行版都要首先涉及的一个问题就是包管理,如何选择包管理以及用什么样的包管理这个问题也是经过一番讨论的,而且在开始也是有很大分歧的,我们也是在求同存异的情况下开始的,不过好在现在基本上统一了想法,就是从头设计一个包管理。 兄弟们想知道我们怎么设计的,我都不知道怎么说。打算开一个帖子专门讨论。
使用其它发行版的包管理有一个问题:如果安装了这些包管理主要目的就是为了简化设计过程以及使用庞大的包仓库。这两点似乎都可以看做使用这些现有的包管理器的优势,但问题是,如果这样做了,这个系统要么不在线更新,要么在不久的将来整个系统就都给提供包仓库的发行版的包所覆盖,最后就变成另一个发行版了,那么这个发行版是否还有存在的必要真的要考虑一下了。另一个方面是简化设计,自然用现成的包管理当然可以减少很多的麻烦,但如果要想减少麻烦的话,用现成的发行版最省事了,所以这个优点似乎也和设计相冲突。 包管理,如果不是自己设计,那么就好像 debian/ubuntu 的情况,好还是不好,自己考虑。ubuntu始终脱离不了debian,这个我想不是我们希望看到的。
基于这个原因,上述的两个原因似乎就成为了新系统的“麻烦”,当然还有一个折中的方法,就是使用现有的包管理,但所有的包都自己制作,这个方法不是不可行,但既然这样不如直接重新设计包管理好了,反正打包过程也省不了。 最大的麻烦,不是包管理的设计,而是众多软件的打包的维护工作。
要大家一起维护才可以,1000个软件,100个人维护的话,每人10就好了,也不是非常难,1000个基本上把需要的覆盖了。而且,基本上2-3个可以维护BLFS的大多数包了。这里覆盖了差不多250个包了。
当然,包管理自己要设计好,这个是第一任务。
当然,我知道我的这个想法可能很多人会反对,至于是否是重复造车,那要看是否造的是一摸一样的车了,既然我想造一个与众不同的车,那么重复这些过程也是必要的,这个世界上已经有很多高科技了,但如果想要在这些科技上继续突破,重复劳动是必须的,重复劳动也是学习的过程,没有这个过程想要突破那是不可能的。对于有深厚的制作发行版经验的人对于我们这样的行为认为是重复劳动没有错,但我们并没有做发行版的经验,这样的重复劳动又何尝不是一种探索,能提高自身的能力,这样的事情也是值得做的。 学习的过程是不可缺少的,重头做一次就是一个最好的学习方法。
学习后,才会有创新,才会有改进。
五一期间比较有空就一直在设计包管理程序,但毕竟还在设计中,所有有很多未知数,算法上我也重新设计了至少三次,目前的算法也有可能被推翻,所以这方面目前还很难介绍,只能说现在设计还比较顺利。也许刚刚出来的包管理会有很多欠缺或问题,但如果我们一起努力的话应该是会越来越好的。
虽然我也是很想做一个优秀的发行版出来,但要期望刚出来的系统就能和现行的发行版一争高下,我觉得还不太可能,我想我们要做的就是一点一点的完善,甚至尝试做一些有特点的东西,虽然不能保证什么,但尽心尽力完善它,我想会有好结果的。 一口吃不成一个胖子,慢慢来。:)。
至于幻想版主说的FPT,大致意思就是把这个包管理程序做为一个单独的软件进行开发,也就是希望LFS出自己的系统后,能够利用这个包管理,在经过一系列的包制作,最终就可以完成一个完整的发行版的意思(当然安装程序必不可少,不过目前还未着手开发),也就是说Olive是一个基于该包管理器的发行版而已。不知道我理解的是否正确,如果有出入幻想版主纠正。 我说的FPT,就是你这个意思,其实是一个中性的软件,不管什么用都可以,可以说是一个供求链的设计。比如我需要A,那么到底需要什么,怎么获得这些资源,要是不能获得,怎么办,之类的。比较庞大,但是会很好,我觉得。
反正就是要想把一个包管理引入不光是引入包管理器本身,更重要的是自己完成包的制作,才能算是真正的自行设计的发行版。 This is our Final Goal, well, partially. |
|