- 论坛徽章:
- 0
|
这是来自CUDev的短消息,非常感谢CUDev的支持,在此做一些解答.
问:
我只是看了manual,感觉netkite有些不是很完善的地方:
1、只能够在服务器端设置,客户端更新;最好能够支持客户端上传模式,客户端能够将一些文件更新到服务器上,供其他机器使用、或者是自己想恢复以前的文件
2、如果有一个module叫a,下面有一个子目录c;
还有一个模块叫b,下面也有一个子目录叫c;
客户端执行netkite 10.0.0.1 -m c时候怎么处理?
root/
l- a/
l- c
l- file1
l- file1.rule
l- b/
l- c
l- file2
l- file2.rule
我感觉你这种自底向上更新的方式不是很好?
BTW:Code没有编译过去,好像使用了kernel-header里面的一些头文件
答:
1. 因为netkite的初衷是为修补无人值守式设备使用的,比如家用的路由器等等类似设备,所以客户端只需要被动接受就可以了;反之,因为并没有身份验证机制,若使客户端有权利更新服务端的文件,那岂非很危险?
2. 最新版本的netkite内部维护一个哈希表,这样能保证同样的文件只获取一次,以后的忽略,这样为个性化定制提供了可能;至于兄台给出的结构图,只能是规划不合理,具体能更新到哪个C模块,只有天知道 :)
root/
l-file (不被获取)
l- file.rule
l- c/ (被识别的模块)
l- file (被获取的文件)
l- file.rule
l- c/
l- file
l- file.rule
3. 过去的版本在Debian下编译有问题,在0.9.1.327版本已经修复,现在最新的版本是0.9.2.332.
贴出一个我实际应用中的目录结构图,已作参考
我在实际中使用情况,最终得模块节点实际上是每一台机器的序列号(S2D070100001),里面放的是各自不同的更新文件,而公共的文件放在顶层或最顶层.
对于模块S2C061200001来说,他有2个名为S010httpd的文件都可以更新到,但其中一个是他自身定制的文件netkite/root/1.5/chinese/jsp/S2C061200001/S010httpd,这样,就不会更新公共的netkite/root/1.5/chinese/S010httpd (当然,是在overlap mode关闭时,详细见netkite -h).
- [binary@smbddns var]$ find netkite
- netkite/
- netkite/root/
- netkite/root/1.5/
- netkite/root/1.5/english/
- netkite/root/1.5/english/S2D070100001/
- netkite/root/1.5/english/S2D070100002/
- netkite/root/1.5/chinese/
- netkite/root/1.5/chinese/asp/
- netkite/root/1.5/chinese/asp/S2B061200001/
- netkite/root/1.5/chinese/asp/S2A061200001/
- netkite/root/1.5/chinese/asp/S2B061200002/
- netkite/root/1.5/chinese/asp/S2B061200003/
- netkite/root/1.5/chinese/asp/S2B061200004/
- netkite/root/1.5/chinese/asp/S2B070100001/
- netkite/root/1.5/chinese/asp/S2B070300001/
- netkite/root/1.5/chinese/asp/S2B070400001/
- netkite/root/1.5/chinese/php/
- netkite/root/1.5/chinese/php/S2C070400001/
- netkite/root/1.5/chinese/php/S2C070400002/
- netkite/root/1.5/chinese/jsp/
- netkite/root/1.5/chinese/jsp/S2C061200001/S010httpd
- netkite/root/1.5/chinese/jsp/S2C061200001/S010httpd.rule
- netkite/root/1.5/chinese/S010httpd
- netkite/root/1.5/chinese/S010httpd.rule
- netkite/root/1.5/chinese/S095isoqlog
- netkite/root/1.5/chinese/S095isoqlog.rule
复制代码
最后,在此贴出完整的ChangeLog,另,原来的链接依然有效:
http://sourceforge.net/projects/netkite
- 0.9.2.332
- ==============
- * fix an invalid point in calmd5.
- * add a rule, then you can write "md5 = xxx" in the rule file to avoid the dynamic file verification.
- 0.9.1.328
- ==============
- - fixed some libraries' behavior, which are inessential.
- 0.9.1.327
- ==============
- * fixed a compile error in debian.
- 0.9.1.325
- ==============
- * add overlap mode, now have correct inherit relation.
- - change the function name and argument in the mdc library.
- - change -h and -H infomation( about overlap mode ).
- - change man page( about overlap mode ).
- 0.9.0.315
- ==============
- * insert a respond at serial send/recv protocol version and module name.
- that mean not compatible previous version.
- * after the temp file receiving completed, the client blocks all signals
- when replacing the destination file.
- - initialize the m_sock when construct the tcpbase object.
- - fix the man page some error.
- 0.8.2.309
- ==============
- * correct the respond error caused by the timeout of verify message digest.
- * client log add finish information.
- * modify the man page, add the finish description.
- - fix parse library function trim prototype with static, i'm forget last time :(
- - logger library has small-beer change.
- 0.8.1.305
- ==============
- * check whether the file name start with '/', if not, add it.
- * fix the abnormal return when client without the device specify by server
- - close the screen error informations and redirect them to log.
- - fix parse library function trim prototype with static.
- 0.8.0.299
- ==============
- - initialize a struct statfs in netkite.cpp.
- - fix some nameing rules.
- 0.8.0.298
- ==============
- first times released.
复制代码
[ 本帖最后由 isnowran 于 2007-6-19 12:14 编辑 ] |
|