LXR (Linux Cross Reference)是目前比较流行的linux源代码查看工具,lxr的下载及安装可参见:http://lxr.linux.no/。为了安装 lxr,必须事先安装Apach服务器,这可以在安装linux发行套件的时候选择安装。此外,系统安装的Perl的版本需要在5.0以上。下面介绍在 Red Hat Fedora Core 4下lxr的安装过程。
这里假设Apache服务器和Perl均已安装,并能正常工作。lxr原码包lxr-0.3.tar.gz和linux原码包linux- 2.6.11.12.tar.gz均在/tmp目录下。Apache服务器配置的文件根目录(DocumentRoot)为/var/www/html (这是FC4的默认配置)。
1. 进入/tmp目录
cd /tmp2. 解压包lxr-0.3.tar.gz: tar xzf lxr-0.3.tar.gz3. 进入解压后的文件夹: cd lxr-0.34. 编辑Makefile文件,需要视情况修改如下两项: PERFBIN=/usr/bin/perl 这是perl的路径名,/usr/bin/perl是大多数情况下的默认配置 INSTALLPREFIX=/var/www/html/lxr 这是lxr脚本的安装目录,其中/var/www/html取自Apache配置文件/etc/httpd/conf/httpd.conf中的DocumentRoot(文件根目录)的值。5. 执行"make install" make install 这会在上述INSTALLPREFIX目录安装相应的脚本和文件6. 返回/tmp目录 cd ..7. 将linux源码包转移到$(INSTALLPREFIX)/source/目录,此处是/var/www/html/lxr/source/ mv linux-2.6.11.12.tar.gz /var/www/html/lxr/source/8. 进入上述目录 cd /var/www/html/lxr/source/9. 解压linux源码包 tar xzf linux-2.6.11.12.tar.gz10. 编辑$(INSTALLPREFIX)/http/lxr.conf文件,此处是/var/www/html/lxr/http/lxr.conf文件。需要修改如下几项:
baseurl: / 此处baseurl的值需要结合lxr的安装文件夹位置和httpd.conf文件中DocumentRoot一项的值确定。默认安装中, DocumentRoot = /var/www/html,而lxr的安装目录是/var/www/html/lxr,因此得出了上述的baseurl。 与baseurl类似,还需要修改如下3项,下面列出的是根据上面的配置修改后的结果 htmlhead: /var/www/html/lxr/http/template-head htmltail: /var/www/html/lxr/http/template-tail htmldir: /var/www/html/lxr/http/template-dir sourceroot是存放源代码的子目录,根据linux源代码的位置,设置为如下的值 sourceroot: /var/www/html/lxr/source/linux-2.6.11.12/ dbdir是保存生成的数据库文件的目录,如下进行设置 dbdir: /var/www/html/lxr/source/11. 创建$(INSTALLPREFIX)/http/.htaccess文件,此处为/var/www/html/lxr/http/.htaccess,内容如下:
<Files ~ (search|source|ident|diff|find)$>SetHandler cgi-script</Files>12. 修改/etc/httpd/conf/httpd.conf文件,添加如下几行
# Cross Reference Stuff<Directory /var/www/html/lxr>Options AllAllowOverride All</Directory>13. 进入在文件lxr.conf中设定的dbdir文件夹,此处是/var/www/html/lxr/source/
cd /var/www/html/lxr/source/ 执行以下命令生成标识符数据库 /var/www/html/lxr/bin/genxref linux-2.6.11.12 此处/var/www/html/lxr为$(INSTALLPREFIX) linux-2.6.11.12是源代码文件夹14. 在/var/www/html/lxr/source/文件夹下将生成fileidx和xref文件,执行一下命令修改文件权限
chmod 555 fileidx chmod 555 xref15. 启动Apache服务器. /etc/rc.d/init.d/httpd start16. 完成,在浏览器中输入如下URL
就可以浏览linux源代码了.