内核源代码索引・收藏・备忘
时间:2007-06-24 来源:oliliango
一个很好的建立源代码索引的东西,在自己的机器上和公司的机器上都建了,比较好用。这篇文章是在网上搜到的,很好,为了以后不要到处找,放到这里备忘吧。
在一台机器上建立索引也还是要花点时间,好在建立出来的一个版本的索引在别的地方照样用,不用每次都重复,这个比较好。而我比较懒的做法就是把一台机器上已经配置好了的相应的lxr目录直接全部拷贝到新机器上去,然后修改一下解出来的源码所在的路径及其权限,然后修改http.conf就一切ok了。十分钟之内就搞定。哈哈。
lxr和glimse是用来阅读源程序很好的工具,在以前有大虾已经介绍其安装方法,我就是依照他们的方法装的,但其中有少许变动,如果是想我这样的菜鸟,这些很少的变动也是会引起大麻烦的,所以做一总结,以飨菜鸟.加/***.....***/处是我出错之处. 首先访问站点: http://glimpse.cs.arizona.edu/得到glimpse的源码,比如我得到的是glimpse-4.12.5.tar.gz . 用root登录,在任一目录下用tar zxvf glimpse-4.12.5.tar.gz解开压缩包,在当前目录下出现新目录glimpse-4.12.5 .进入该目录,执行make即可。进入bin目录,将文件glimpse和glimpseindex拷贝到/bin或/usr/bin下即可。如果单独使用glimpse,那么只要简单的执行glimpsein dex foo 即可,其中foo是你想要索引的目录,比如说是/usr/src/linux. glimpseindex 的执行结果是在你的起始目录下产生若干.glimpse*的索引文件。然后你只要执行glimpse yourstring即可查找/usr/src/linux下所有包含字符串yourstring的文件。 对于lxr,你可以访问 http://lxr.linux.no/得到它的源代码。 解包后,遵循如下步骤: /*下面的文字来源于lxr的帮助文档以及本人的安装体会*/ 1)修改Makefile中的变量PERLBIN和INSTALLPREFIX,使它们分别为 perl程序的位置和你想lxr安装的位置.在我的机器上,PERLBIN的值为 /usr/bin/perl .至于INSTALLPREFIX,有如下原则,lxr的安装路径必须是web服务器能有权限访问。因此它的值简单一点可取/home/httpd/html/lxr (对于Apache web server)。 2)执行 make install 3)修改$INSTALLPREFIX/http/lxr.conf : baseurl : http://yourIP/lxr/http/ /***不要忘记最后的'/'***/ htmlhead: /home/httpd/html/lxr/http/template-head htmltail: /home/httpd/html/lxr/http/template-tail htmldir: /home/httpd/html/lxr/http/template-dir sourceroot : /usr/src/linux # 假如对linux核心代码索引 dbdir : /home/httpd/html/lxr/dbdir/ #dbdirk可任意起名,且位置任意 /***用/home/httpd/html/lxr/source/最好了,lxr安装时他就生成了,这里也千万不要忘记'/'***/ glimpsebin: /usr/bin/glimpse #可执行程序glimpse的位置 4)在$INSTALLPREFIX/http/下增加一个文件.htaccess 内容: <Files ~ (search|source|ident|diff)$> SetHandler cgi-script </Files> /***刚才这几行千万不要写错,尤其不要把'|'写成'||'***/ 上面这个文件保证Apache server将几个perl文件作为cgi-script. 5)按照lxr.conf中的设置建立dbdir ,按照上例,建立目录/home/httpd/html/lxr/dbdir 进入这个目录执行$INSTALLPREFIX/bin/genxref yourdir 其中yourdir是源码目录,比如/usr/src/linux 如果要结合glimpse,则执行glimpseindex -H . yourdir 6)修改 /etc/httpd/conf/access.conf ,加入 <Directory /home/httpd/html/lxr/http> Options All AllowOverride All order allow,deny allow from all </Directory> /***现在的apache服务器的配置文件把access.conf忽略掉了,要在httpd.conf文件中加或把注释access.conf的#好去掉***/ 7)进入/etc/rc.d/init.d/ 执行 killall httpd ./httpd start /***不要直接运行httpd,这样是运行/usr/bin目录下的httpd,有时回失败***/ 进入X ,用浏览器 http://yourIP/lxr/http/blurb.html 大功告成 ,这下你可以舒心的读源码了。 /***还没有呢,要把/home/httpd/html/lxr/source/fieldid文件的权限该为任意用户可读 |
|
在一台机器上建立索引也还是要花点时间,好在建立出来的一个版本的索引在别的地方照样用,不用每次都重复,这个比较好。而我比较懒的做法就是把一台机器上已经配置好了的相应的lxr目录直接全部拷贝到新机器上去,然后修改一下解出来的源码所在的路径及其权限,然后修改http.conf就一切ok了。十分钟之内就搞定。哈哈。
相关阅读 更多 +