QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1270|回复: 17

对于Linux的一个改进设想

[复制链接]
发表于 2004-8-19 10:59:30 | 显示全部楼层 |阅读模式
和Windows比起来,Linux下的软件安装难多了,虽然比某些Unix简单,但经常出现安装问题。虽有了RPM,APT等很好的软件包管理方式,但Linux下软件更多是以源代码发布的,后缀为.tar.gz或.tar.bz2等等,需要自己编译,但经常出现某些文件找不到的情况,我希望未来的Linux中能有以下功能:

提供一个软件工具,我先称为initlib,它可以把系统中的所有函数库文件生成一个列表,包含路径、版本号等等,其他程序可以通过它来寻找函数库。

在执行./configure时,如发现所需的文件找不到,Shell会调用程序自动从网上下载安装所需文件,并在安装前可以询问用户是否需要特殊配置。比如缺少QT函数库,下载完后,用户可以指定一些参数,QT便会自动编译安装,同时自动设置必要的环境变量。如采用自己定义的路径,使用./configure --prefix=yourpath,系统也会对环境变量等做出适当的调整。同时在系统中的软件列表中也会加上一项。这样便解决了有些用户的问题“我的软件安装到哪里去了?”

此想法的局限性是,可定制功能减弱。这比较适用于一般用户。同时,这也不适合如GCC这样的系统工具的安装。应该想到Linux软件跨平台的性质,不仅能在i386平台下使用,也要能在PowerPC, Mac上使用。此外,这种方法对于软件的升级并未很好地解决。

可以设计一个小行的发行版,核心只包括内核、GCC及基本函数库、Bash、Vi和一些基本Linux命令,需要那些软件可以在安装后用apt-get编译的方式安装。这会使用户更清楚计算机中用那些软件。

对于编译安装的软件的删除,只要打开软件列表,删除相应的软件并保存,再用如repackage的命令,就可以把软件的执行文件、函数库、配置文件等一并删除,从而方便了使用者。
 楼主| 发表于 2004-8-19 11:00:47 | 显示全部楼层
我本想先自己实现这样一个系统,可是Linux下的编程我还没掌握,不过系统的数据结构我想应该用一个有向图来描述。至于具体的理论设计还没开始。加上快上高二了,也比较忙,我只好看看我高中毕业时会不会有这样的系统。如果还是空白,我只好自己努力了。

大家知道RPM的管理方式的数据结构是树,而好一点的Gentoo的Portage方式也只是采用了平衡树的思想。但Linux中,文件依赖关系用“树”这样的数据结构描述肯定是力不从心的。一个文件可以依赖多个文件,也可以被多个文件所依赖。用树的结构一个是降低了效率,再有就是增加了代码复杂度。所以我想应该采用图。

图的理论比较复杂,所以一定要先确保理论设计万无一失,这是设计中最难突破的一点(我认为),希望能给大家一点启示。
回复

使用道具 举报

发表于 2004-8-19 11:13:18 | 显示全部楼层
linux的最大问题是缺少统一标准
回复

使用道具 举报

发表于 2004-8-19 11:43:50 | 显示全部楼层
不错不错!少年不志!

但编译环境是一个很复杂的问题!不光是几个文件而已!
以后linux普及后最多的还会是二进制的源代码会很少出现的!
而且rpm等包已经有了你所说的哪些功能只是没到网上去找哪些少的文件

其实这个问题远比你想像的难!不过其志可为。其意可佳!
回复

使用道具 举报

发表于 2004-8-19 12:14:29 | 显示全部楼层
意图很好,
不过程序的版本通常才是编译是最大的问题,
版本的不同导致某些符号定义的变化,造成某些软件编译的失败。而且不同软件之间的版本还有依赖的关系,所以这不是一个二维列表能管理的。
回复

使用道具 举报

发表于 2004-8-19 16:39:40 | 显示全部楼层
以前觉得用源代码安装软件是很不爽的事情  但是现在觉得很好用
好处是  万一有编译不过的地方  至少知道错在哪里  然后自己修改
回复

使用道具 举报

发表于 2004-8-19 19:11:57 | 显示全部楼层
其实呢……如果在编译时不能通过(我指编译时出错),那么安装系统是没法解决问题的,安装铁定要失败的。安装系统要解决的问题我觉得有:
依赖问题,包括依赖性的检测,自动下载和安装缺失的东东;
版本问题,其实里面主要的是兼容性的问题,很显然,必须有开发者给出一些信息安装系统才之道不同版本间到底有没有兼容性问题;
软件管理,包括软件文件的管理(安装时拷贝文件,卸载时删除文件),软件入口的管理(典型的开始菜单和桌面快捷方式);
<其他的楼下的继续补充>

其实我现在发现Linux下更大的一个问题:运行效率
我这里同一台机器,FedoraCore2下打开nautilus和win98下打开资源管理器花的时间相差很大,Linux显得很慢。启动mplayer和启动Windows Media Player也是,mplayer启动得很慢,运行时的菜单响应也有问题。另外同样的FireFox0.9,win98下启动的速度明显比Linux下要快~而且windows下的FireFox可用性明显要比linux下的好,比如“下载管理器”,windows里下载完成后可以点击“打开”就能运行了,而linux下这个功能却不能使用,连打开文件所在的文件夹都无法使用~而下载完成后那个小窗口的通知功能在linux下也不可用~linux给我的感觉无论是启动还是运行还是关机,速度都比win98慢……
我现在除了编程和盗版问题,实在找不到其他理由非用linux不可……
回复

使用道具 举报

发表于 2004-8-20 14:40:56 | 显示全部楼层

Re: 对于Linux的一个改进设想

[quote:4aef4f5687="ggggqqqqihc"]
提供一个软件工具,我先称为initlib,它可以把系统中的所有函数库文件生成一个列表,包含路径、版本号等等,其他程序可以通过它来寻找函数库。[/quote]


操作系统提供大量的函数库来给程序调用。程序有用户自己的。用系统自带的。他们都在共享着这些函数库。随着功能的不断完善,扩充。最后必然导致今天在NT平台上的DLL“恶梦”!据说,微软在下一代操作系统上已经很好的解决了这个问题?试问:如何解决?我也不清楚。

今天的Linux还在为着这样的问题而头痛,的确是问题。关键在于,如何利用高效合理的解决办法。可以在一定时期来让这个问题,得以解决?是的,就是一定时期。不指望有多久。
回复

使用道具 举报

发表于 2004-8-20 14:47:29 | 显示全部楼层
[quote:179e9aa798="sjinny"]

其实我现在发现Linux下更大的一个问题:运行效率
我这里同一台机器,FedoraCore2下打开nautilus和win98下打开资源管理器花的时间相差很大,Linux显得很慢。启动mplayer和启动Windows Media Player也是,mplayer启动得很慢,运行时的菜单响应也有问题。另外同样的FireFox0.9,win98下启动的速度明显比Linux下要快~而且windows下的FireFox可用性明显要比linux下的好,比如“下载管理器”,windows里下载完成后可以点击“打开”就能运行了,而linux下这个功能却不能使用,连打开文件所在的文件夹都无法使用~而下载完成后那个小窗口的通知功能在linux下也不可用~linux给我的感觉无论是启动还是运行还是关机,速度都比win98慢……
我现在除了编程和盗版问题,实在找不到其他理由非用linux不可……[/quote]
针对您的话,我认为,如果你单纯的去比较单个应用程序,是没有任何意义。
应该从操作系统如何去实现,如何实现的。如果我们只开发初这样的一个操作系统,非常快窗口相应能力,白痴化的友好界面。这样的操作系统是失败的。应该功能有限,现在当然可以去理解,他是那个时代的产品。对比linux和windows不是单个程序应用比较,应该从操作系统的设计之初来看待。什么样的设计思路更为合理,什么样的操作系统,具有高度的扩展性。什么样的系统,能够较好的跨平台。综合性来看待。本人一再强调,从设计,从实现出发来看待。不应该看待表面现象,速度慢,界面不友好。等等一些列问题,因为这些都是暂时性的问题,如果不是从一种优秀的设计思想出来,这样,所谓的版本升级,功能逐渐健壮,也都是在原来不合理事物上的补充和修补。
回复

使用道具 举报

发表于 2004-8-20 22:11:24 | 显示全部楼层
汗……用户和开发者是不同的……用户看的是好不好用,而不管什么技术上的优越性……
为什么同样的firefox,linux下和windows下会有功能的差别?
为什么我完成相同的应用,用win98在时间上要更省?
唉,反正就是linux在图形界面下太慢……
回复

使用道具 举报

发表于 2004-8-23 16:06:34 | 显示全部楼层
[quote:11e506ac2e="sjinny"]
为什么我完成相同的应用,用win98在时间上要更省?
唉,反正就是linux在图形界面下太慢……[/quote]
用今天得环境,去完成以往得应用,会让你得心应手。
如果去用昨天得环境,来完成今天得需求?结果如何?
回复

使用道具 举报

发表于 2004-8-23 21:57:44 | 显示全部楼层
你要知道:
win98可以说是以往的环境……我用它能很好地完成今天的应用……
FedoraCore2是今天的环境……我用它却不能很好地完成今天的应用……
回复

使用道具 举报

发表于 2004-8-23 22:29:00 | 显示全部楼层
Linux图形系统的弱点注定它不能取代windows,但是它带给我们是一个开源的世界!讨论linux和windows谁快,谁慢根本是没有道理的!我们需要的是它的强大可塑性,安全性,稳定性!
回复

使用道具 举报

发表于 2004-8-23 23:02:35 | 显示全部楼层
[quote:4fd5222e46="liq2004"]Linux图形系统的弱点注定它不能取代windows,但是它带给我们是一个开源的世界!讨论linux和windows谁快,谁慢根本是没有道理的!我们需要的是它的强大可塑性,安全性,稳定性![/quote]

……………………
最怕这样的言论了……
linux是个软件,而不是信仰……客观一点……不好的地方就是不好,要去改进……但如果一味地自以为如何如何,就无法发现哪里需要改进……
回复

使用道具 举报

发表于 2004-8-24 17:16:00 | 显示全部楼层
linuxGUI也未必会慢。你启动时候不要开任何服务,就作为最单纯的环境来用,你会发现openOFfice还是很快的。而且,即使开了很多服务,速度还是还可以的
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-7 15:26 , Processed in 0.041999 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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