LXR安装(转)

来源:互联网 发布:为知笔记怎么分享 编辑:程序博客网 时间:2024/06/08 08:49

一、LXR安装(http://www.cnblogs.com/cjjnjust/articles/1776639.html)

1、安装apache2
sudo apt-get install apache2 [这里我们服务器已经安装好了,apache2svn服务]

2、安装lxr2、glimpse
sudo apt-get install lxr

glimpse下载解压后
cd /home/whp/soft/glimpse-4.18.6
./configure
make
sudo make install

3、在/etc/apache2/httpd.conf 末尾加上以下内容:
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>
这样可以达到http://localhost/lxr/ =>/usr/share/lxr

4. 在/usr/share/lxr/http下创建文件 .htaccess, 并写入一下内容:
<Files ~ (search|source|ident|diff|find)mce_markergt;
SetHandler cgi-script
</Files>

5. 创建/usr/share/lxr/source/XX目录 (XX为版本号)
mkdir /usr/share/lxr/source/
mkdir /usr/share/lxr/source/2.6.28
然后在/usr/share/lxr/source/2.6.28 下创建linux符号连接[源码解压到/home/whp/v2.6.28]
ln -s /home/whp/v2.6.28/ /usr/share/lxr/source/2.6.28/linux

6. 创建/usr/share/lxr/source/versions,这里记录所有要看的版本,内容是
2.6.28
2.6.xx
......
要保证2.6.28 =>/usr/share/lxr/source/2.6.28

创建/usr/share/lxr/source/defversion,这里记录缺省要看的版本,内容是
2.6.28

7. 建立索引[在2.6.28目录下建立索引文件]
cd /usr/share/lxr/source/2.6.28/
sudo genxref /usr/share/lxr/source/2.6.28/linux 
sudo glimpseindex -H /usr/share/lxr/source/2.6.28/ /usr/share/lxr/source/2.6.28/linux

8.修改2.6.28目录下索引属性[直接777]
sudo chmod 777 /usr/share/lxr/source/2.6.28/*

9.编辑/usr/share/lxr/http/lxr.conf

baseurl: http://内网IP(或者localhost)/lxr/http/ #基本URL
dbdir: /usr/share/lxr/source/$v/               #索引文件路径[参考第8步]

sourceroot: /usr/share/lxr/source/$v/linux/    #linux源码路径
srcrootname: $v

glimpsebin: /usr/local/bin/glimpse             #glimpse路径

10.启动apache2
sudo /etc/init.d/apache2 restart

11.阅读代码
http://localhost/lxr/http/blurb.html

二、(http://blog.chinaunix.net/uid-11568125-id-2868811.html)

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: http://localhost/lxr/http/ 
     此处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
 http://localhost/lxr/http/source
   就可以浏览linux源代码了.


附:

也可用lynx阅读kernel源码,感觉挺爽,但就是有点不方便,呵呵呵。。。

lynx http://127.0.0.1/lxr/http/blurb.html


原创粉丝点击