LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: chinajz

linux设置工具与编程的想法

[复制链接]
发表于 2006-1-7 11:41:07 | 显示全部楼层
Post by chinajz
这阵子学习linux下C和C++编程,gtk+或gnome编程环境和函数初步浏览一下,感觉很方便(至少比windows下感觉好,但没有vs.net方便。),对熟练的人来说把linux环境下的所有服务和相关设置做成工具应该不是难的事。
但我想不通,要进行那么多繁锁操作进行配置,为什么不用类似windows图形工具来完成?难道这有背于linux精神?
如果搞出类似windows图形工具是不是有价值呢?


看看Linux下的程序都是用什么解析配置文件的吧?大部分系统配置文件直接是SHELL脚本。其他的配置文件呢?都是用flex和bison解析的,也就是lex+yacc。说道灵活最灵活的极限就是语言了。Linux下的配置文件都是按照设计编程语言的方法来设计的,所以它的灵活性是不可比拟的。

所以,Linux下的配置文件不像Windows下的ini等文件。它们都是形形色色简单的语言,而且他们的语法都很相似。对于系统程序(指满足系统功能的,比如常用的网络与X服务等)通常配置都通过环境变量来实现,配置文件可以以SHELL脚本的形式任意编写达到各种不同的目的。而其他的各类程序则依靠独自解析配置文件来获得一个数据结构,所有的参数都从这个结构来获得。

其实,使用配置文件还是图形配置工具,图形工具生成配置文件还是直接生成数据结构,效果都是一样的。但图形工具实现起来就要复杂得多了。尤其对于一些嵌套定义的配置文件。可以说,配置文件写的越灵活越像语言,用图形工具替代起来的就越困难。而本身就仅是简单赋值形式(aaa=bbb)的配置文件,用图形工具生成起来就方便得多。

对于Linux下图形配置工具,只能以发行版本为单位自行编写。而且,为了编写图形配置工具比较容易还需要很好的脚本结构。比如说FC下的图形配置工具,多数仅仅需要改动/etc/sysconfig/下的少数配置文件。而这写文件里面很多都是仅仅一两行的环境变量赋值,图形工具生成起来就非常的简单。而这写配置的生效则取决于其他脚本的判断与执行。

这样看来,编写系统图形工具似乎只能是发布厂商的工作。因为要想编写简单灵活的系统配置工具,首先要改写系统脚本的结构使之更加灵活才行。而应用服务的图形配置工具,流行的服务似乎已经有不少了,能不能超越他们就看自己的点子了。
回复 支持 反对

使用道具 举报

发表于 2006-1-7 14:04:28 | 显示全部楼层
传统的平面型的配置文本格式如果自己来解析,解析起来还是有点烦人,而且表达复杂信息与结构有些困难。

最近都在用XML格式作为配置与程序文件的保存格式。至少有现成的解析器。(lex+yacc听过大名,还没有研究过)当然,其可读性比平面型的配置文本格式差些(但还是能读懂的)。

最后,当复杂性很大时,界面的优势就减小了。但是GUI配置的好处是:光指指点点,至少你不会有拼写错误。
回复 支持 反对

使用道具 举报

发表于 2006-1-8 17:38:42 | 显示全部楼层
据说Microsoft内部根本不使用Visual Studio进行软件开发,他们承认VS是针对中小型客户,对于大型客户,VS缺乏方便的自动化配置和管理,MS并不推荐大型客户使用VS进行开发管理。
回复 支持 反对

使用道具 举报

发表于 2006-1-8 20:40:19 | 显示全部楼层
Linux下编程怎样起步呢?
楼上的兄弟们,可否给我介绍些方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-9 16:03:51 | 显示全部楼层

权当学习,准备编写dhcpd设置程序,请帮助和指导。

已经建立了图形界面(for gnome),但还未写代码,目的是想功能设置方面更科学些,写出较实用设置工具。
考虑到功能配置尚未最后确定,界面未做最后优化。总之是很粗浅的构思。
主要分为:基本设置,远程引导(pxe),绑定主机ip,服务操作 四块。
设置成功后,可以在局域网提供dhcp服务,为客户机提供pxe远程引导功能,并绑定网内所有主机ip.

程序结构采用anjuta设计,图形部分用grade设计。
粗浅的设计已经打包在附件里了。
请帮助和指导,谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-1-10 12:24:20 | 显示全部楼层
我认为关键问题是,在版本升级后,软件的配置文件更改太大,有些连目录都改了,即使做出一套完全类似windows的GUI配置工具,换一套linux后又要毙掉不少,简直跟在屁股后面调整界面也来不及,除非有团队维护。

还有一个问题就是,如果所有的工具配置都图形化了,占用硬盘空间又要再大1-2G。
回复 支持 反对

使用道具 举报

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

本版积分规则

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