官网实验继续
一、实验准备
根据说明,transaction文件中所包含的文件如图所示,其中db.url是执行行命令生成的,而app.ddlog和deepdive.conf是创建文本文档生成的。
创建了之后,不清楚各个文件的功能,于是查了一下,解释如图所示(参考文章:知识抽取)
二、本次实验主要是执行图中的(1)、(2)、(3)步骤。
(1)由于在实验步骤中所给网站获取不到数据,于是自己从官网拿了一些其他数据进行实验。
(2)步骤2是将app.ddlog文本打开,将教程里的代码复制进去。
(3)步骤3在执行行命令生成postgresql数据表中,出现以下错误:
搜索资料,解决办法如图所示(参考文章:CentOS提示 -bash: patch: command not found 解决办法):
解决了上述问题,输入命令deepdive compile && deepdive do transaction_dbdata,出现以下错误:
查找资料,得知GLIBC版本低,而程序所运行的版本是GLIBC_2.15。解决问题前,先了解以下GLIBC: GLIBC是gnu发布的libc库,即c运行库。GLIBC是Linux系统中最底层的API,几乎其它任何运行库都会依赖于GLIBC。GLIBC除了封装Linux系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
对于CentOS这样的系统,为了追求稳定性往往各种库版本都很低,比如6.5甚至7.0自带的还是glibc2.12, 而ubuntu14.04带glibc2.19。(参考资料:Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found)
我在虚拟机上使用的是CentOS6.9版本,查找系统所使用的GLIBC最高是glibc2.12,如图所示:
因此我需要升级CentOS6.9系统中的GLIBC版本,升级到glibc2.15,操作方法如图所示,输入图中的行命令(参考资料:解决/lib64/libc.so.6: version `GLIBC_2.14' not found)
解决以上问题,执行命令 deepdive compile && deepdive do transaction_dbdata 。
如下图实验中所写,生成了一个dataflow.svg文件。
本次实验结束后,transaction文件夹下有以下文件。