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 /tmp
2. 解压包lxr-0.3.tar.gz:
 tar xzf lxr-0.3.tar.gz
3. 进入解压后的文件夹:
 cd lxr-0.3
4. 编辑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.gz

10. 编辑$(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 All
AllowOverride 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 xref
15. 启动Apache服务器.
 /etc/rc.d/init.d/httpd start

16. 完成,在浏览器中输入如下URL

 
   就可以浏览linux源代码了.