|
Olive貌似还是没有看明白什么什么,哪位大大解释解释??
关于包管理的问题:
个人感觉现在有某种趋势即二进制包的管理体系逐渐向大一同的方向发展。Yast/deb/rpm前端操作都在类似化。在使用GUI前端工具时候感觉非常明显。Yast没用过,不敢妄言
当用yum的GUI和apt的GUI工具时候,有时候快分不清自己到底在操作yum还是apt了。
比如KDE还有个app,Kpackage这个包管理工具前端,同时就可以应付apt,yum,slackware,FreeBSD port等一系列包管理后端。偶记得原来曾经用Kpackage连FC的apt源给自己的FC升级软件
个人感觉,二进制包最明显的优点就是:可以脱离编译环境而进入系统。
比如一个页面服务器,或者是一个ftp服务器,从安全方面讲,一般是不愿意安装gcc等编译器的。
因为一旦有gcc,被入侵后会造成比没有编译环境严重的多的后果。对方可以在你的系统上干更多的事情。
但是从另一个方面讲,升级软件,如果没有二进制包,同时也没有编译器,你怎么升级?cross-compile?劳神费力的事情啊。
现在LFS这样一个原本不存在任何包管理系统的,不妨可以称之为RAW的。
能否在LFS上做到包管理的大一统状态?即有一个符合如下需求描述的软件(不妨称之为UniInstaller):
比如我需要安装某个软件,还没有谁做任何发行版的二进制包,A机器,LFS系统,有编译环境,打开UniInstaller,指定下源码所在目录,UniInstaller可以按照默认config或者人工设置的config自动编译安装。
过了一个月,有人给这个软件做了一个rpm包,B机器,Debian系统,没装gcc,看到rpm头痛了,打开UniInstaller,利用它把rpm转换成apt(或者能够解开rpm包,把对应的文件拷贝到适当的位置。这需要Linux Standard Base有特定标准来支持)
又过了一个月,软件有个升级,要给A机器做软件升级,但是下载源码包的站crash了,没有十天半个月好不了。只能在freshrpms或者debain镜像里面找到相应的rpm或dpkg。这回随便选择哪个,利用UniInstaller解开二进制包,进行升级工作。 |
|