Ubuntu 22.04环境下安装lxr源码阅读器详细过程

一、lxr介绍

lxr(the Linux Cross Referencer)最初的目的是linux内核源码阅读。lxr是使用Perl编写的源码阅读软件, 支持C, C++, Java, Python, Ruby, Perl, COBOL等多种语言。

二、依赖关系

lxr依赖apache2,mariadb-server,exuberant-ctags,swish-e等。

三、安装过程

1、下载源码

sudo apt install git
git clone https://git.code.sf.net/p/lxr/git_repo lxr-git_repo
mv lxr-git_repo lxr

2、执行检查

./genxref --checkonly

提示未安装libfile-mmagic-perllibfile-mmagic-perl
在这里插入图片描述
安装mmagic后再执行核查

 sudo apt-get install libfile-mmagic-perl
  ./genxref --checkonly

在这里插入图片描述
提示需要安装exuberant-ctags和swish-e

3、安装依赖

sudo apt-get install exuberant-ctags swish-e
./genxref --checkonly

安装依赖后再执行核查,glimpse和swish-e二选一安装就行。
在这里插入图片描述

4、安装数据库和服务器

sudo apt-get install mariadb-server
sudo apt-get install apache2

浏览器打开http://localhost/,出现apache2默认主页

在这里插入图片描述

四、配置过程

1、主配置

./scripts/configure-lxr.pl -vv

配置完成生成三个配置文件,一个是lxr的配置文件,一个是数据库的初始化文件,另外一个是apache2配置文件。
在这里插入图片描述

2、配置apache2

sudo cp custom.d/apache-lxrserver.conf /etc/apache2/conf-enabled/
sudo systemctl restart apache2

重启服务器失败,提示37行代码“PerlTaintCheck On”错误,需要安装Perl相关插件
在这里插入图片描述

sudo apt-get install libapache2-mod-perl2

安装libapache2-mod-perl2后重启apache2正常。
打开浏览去http://localhost/lxr/source,显示403错误,把根目录,放到/var/www目录下,修改apache2配置文件,重启apache2服务器。

sudo cp -r lxr /var/www/

在这里插入图片描述
浏览器打开是源码,未进行Perl解释,需要使能cgi,重启服务。

sudo a2enmod cgid 
sudo systemctl restart apache2

不能打开lxr配置文件
在这里插入图片描述

3、配置lxr

sudo cp custom.d/lxr.conf .

刷新浏览器,变为一下,表示浏览器配置完毕。
在这里插入图片描述

4、配置数据库

sudo ./custom.d/initdb.sh

在这里插入图片描述

5、执行索引

sudo ./genxref --url=http://localhost/lxr

完成索引后,文件目录已经存在。刷新浏览器:http://localhost/lxr/source,还是提示文件不存。把源码文件目录拷贝到/var/www目录下解决。
在这里插入图片描述
汇总总过程代码如下:

sudo apt install git
git clone https://git.code.sf.net/p/lxr/git_repo lxr-git_repo
mv lxr-git_repo lxr
cd lxr
./genxref --checkonly
sudo apt-get install libfile-mmagic-perl
./genxref --checkonly
sudo apt-get install exuberant-ctags swish-e
./genxref --checkonly
sudo apt-get install mariadb-server
sudo apt-get install apache2
./scripts/configure-lxr.pl -vv
sudo cp custom.d/apache-lxrserver.conf /etc/apache2/conf-enabled/
sudo systemctl restart apache2
sudo systemctl status apache2
sudo apt-get install libapache2-mod-perl2
sudo systemctl restart apache2
cd ..
sudo cp -r lxr /var/www/
sudo gedit /etc/apache2/conf-enabled/apache-lxrserver.conf 
sudo systemctl restart apache2
sudo a2enmod cgid 
sudo systemctl restart apache2
sudo gedit /var/www/lxr/custom.d/lxr.conf 
cd /var/www/lxr/
sudo cp custom.d/lxr.conf .
sudo ./custom.d/initdb.sh 
sudo ./genxref --url=http://localhost/lxr
sudo cp -r ~/source /var/www
sudo gedit /var/www/lxr/lxr.conf 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值