Ubuntu 14.04搭建LXR本地服务器阅读Linux内核代码

我开始打算使用 apache2 + mysql + lxr 搭建的. 毕竟嘛网上教程都是这个, 有点坑爹的是网上的教程都是以前的, 和现在的好多软件包不一样, 偶尔发现个2014年的博客看了下居然还是照搬他人的.

上面居然还能用

sudo apt-get install lxr 1 LXR(Linux Cross Referencer)介绍

LXR 项目站点 :

源码下载 :

安装教程 :

LXR 是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法。 它支持很多种语言。

LXR 曾经被作为 “Linux 交叉引用器” 但是已经被证明它可以用来作为任意基于 Linux 内核的项目的交叉引用
它基于股票网站技术 (这意味着它的输出是标准的 HTML) 所以可以选择任意的可用 web 浏览器来作为他的客户端。 它被设计为不依赖 java 或者任何第三方客户端脚本,这样可以保证系统需求和依赖的最小化。

人们经常问起 LXR 与 LXRng (见于 ) 之间的差别。 LXRng 是从 LXR 中 fork 出来带有实验性质的用来探索其他技术的分支。 它基于 ajax 并且依赖很多 CPAN 的包。 它使用了很多的客户端脚本,这意味着运算的负载被服务端和客户端一起分担了。
CAUTION!

在服务端, 任意的带有 cgi 能力的 web 服务器都能表现的很好。

在开发过程中,LXR 是一个很有价值的项目合成观察角色。 对于从头开始学习源代码的人来说,它也是一个很有用的工具。 否则,学习曲线会很陡峭。

1 安装lxr

检查并安装运行环境以及依赖包

安装lxr

配置lxr

1.1 检查并安装运行环境以及依赖包 包描述
mysql-server或者MariaDB   mysql服务器, 任选其一即可  
lighttpd或者apache2   lighttpd或者apache2服务以及相应的服务模块, 任选其一即可, 如果选择了apache请安装 `libapache2-mod-perl2-dev  
swish-e或者glimpse   任选其一即可  
perl   也是配置需要实际没有用到的,如果没有不能通过配置前的检查就不能往下执行  

先安装需要的包 :

#ctags swish-e perl sudo apt-get install exuberant-ctags swish-e perl # mysql-server | MariaDB | 任选其一 sudo apt-get install mysql-server sudo apt-get install mariadb-server #apache2 | lighttpd sudo apt-get install apache2 sudo apt-get install lighttpd* 1.1.1 安装并检查ctags

LXR 要求ctags版本大于5.0

sudo apt-get install exuberant-ctags ctags --version

ctags的版本检查

下载linux源文件:解压到后面需要配置的文件目录(自己定), 文件名改为相应的版本号例如 linux-3.18 改完 3.18

1.1.2 安装并检查perl

Ubuntu 14.04 默认已安装了perl, LXR-2.1.0 要求perl 版本大于 v5.10 即可

sudo apt-get install perl perl -v

perl的版本检查

LXR 的很多配置都是通过 perl 来完成的, 因此我们需要安装一些其他的 perl 模块, 具体的信息参见其他perl模块。

1.1.3 安装并检查关系型数据库

配置LXR需要数据库的支持, 可以使用 mariadb或MySQL 4.X/5.x、Oracle、PostgreSQL 和SQLite等, 任选其一即可, 我使用了mariadb-5.5

sudo apt-get install mariadb-server

如果你希望安装10.0版本, 则14.04上需要添加源

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] trusty main'

具体信息请参见Ubuntu 14.04(Trusty)安装MariaDB 10数据库 

自然我们也需要perl连接数据库的接口Perl DBI drivers, 这个我们会在后面讲解其他模块时候进行详细详解

1.1.4 http服务器

LXR将我们的源代码处理成为网站的形式, 自然就需要http服务器, 最常用的是Apache httpd, 当然也有很多用Lighttpd是替代选择的, 但是LXR从v2.0开始, 支持Nginx和thttpd等服务.

http服务器我选择的是 apache2

sudo apt-get install apache2

详细信息请参见Ubuntu下Apache的安装与配置 

1.1.5 索引系统glimpse或者swish-e

glimpse()和swish-e(), 建立索引数据的工具, 安装一个即可.

安装swish-e

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/82e3196f4c0c3a852c6ab077548117d3.html