汇总

第一篇

1.虚拟机安装CenOS系统虚拟机如何安装系统

2.Linux系统基本命令学习Linux学习

3.环境准备( 案例来自于:支持中文的deepdive:斯坦福大学的开源知识抽取工具(三元组抽取)

汇总_第1张图片

问题:

1.在CenOS系统中不能解压CNdeepdive .zip文件:解决方案

汇总_第2张图片

2.使用pg_ctl管理postgresql数据库报错:解决方案

    给当前用户添加数据库管理权限

虚拟机下CenOS系统环境准备后:

汇总_第3张图片

由于未找到股权交易数据,实验没有进行下去。

汇总_第4张图片

第二篇

官网实验继续

一、实验准备

汇总_第5张图片

实验教程

    根据说明,transaction文件中所包含的文件如图所示,其中db.url是执行行命令生成的,而app.ddlog和deepdive.conf是创建文本文档生成的。

汇总_第6张图片

创建了之后,不清楚各个文件的功能,于是查了一下,解释如图所示(参考文章:知识抽取)

汇总_第7张图片

参考资料

二、本次实验主要是执行图中的(1)、(2)、(3)步骤。

汇总_第8张图片

实验教程

(1)由于在实验步骤中所给网站获取不到数据,于是自己从官网拿了一些其他数据进行实验。

(2)步骤2是将app.ddlog文本打开,将教程里的代码复制进去。

(3)步骤3在执行行命令生成postgresql数据表中,出现以下错误:

   搜索资料,解决办法如图所示(参考文章:CentOS提示 -bash: patch: command not found 解决办法):

汇总_第9张图片

参考资料

解决了上述问题,输入命令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,如图所示

汇总_第10张图片

CentOS系统上的操作

 因此我需要升级CentOS6.9系统中的GLIBC版本,升级到glibc2.15,操作方法如图所示,输入图中的行命令(参考资料:解决/lib64/libc.so.6: version `GLIBC_2.14' not found)

        解决以上问题,执行命令 deepdive compile && deepdive do transaction_dbdata 。

汇总_第11张图片
汇总_第12张图片

CentOS系统上的操作

  如下图实验中所写,生成了一个dataflow.svg文件。

汇总_第13张图片

实验教程

汇总_第14张图片

在run文件夹下生产dataflow.svg文件  

   本次实验结束后,transaction文件夹下有以下文件。

汇总_第15张图片

第三篇

出现错误如下:

汇总_第16张图片

错误原因是PostgreSQL数据库没启动,根据资料,将数据库启动,参考资料:参考资料

    1.打开PostgreSQL数据库的终端

    2. 输入命令:chkconfig --list  ,查看所有服务并找到postgre的服务名称

    3.若postgre服务是off状态,输入行命令 chkconfig postgresql on ,(默认postgresql不是自启动的,我们需要设置postgresql服务为自启动服务:)

    4.输入命令:service postgresql status ,查看服务状态,我出现了错误:postmaster dead but pid file exists,解决方案是删除关于pid的文件,我在postgrex.db文件下找了postmaster.pid文件,删除该文件即可。再次输入命令 service postgresql status,查看有无其他问题

    5.输入命令 :service postgresql start ,启动postgresql服务

解决上述问题后,又出现以下问题:

汇总_第17张图片

问题待解决。。。


第四篇

 对于昨天的【Ident authentication failed for postgres】问题,今天搜索了一天,还没有解决,网上的帖子基本是的解决方案是修改文件pg_hpa.conf里的内容(修改的是红线框里的内容),但都没有成功,如图所示。

汇总_第18张图片
汇总_第19张图片

今天我还修改了db.url文件内容,参考是官网教程,如图所示:

汇总_第20张图片

如果只是用postgres用户和密码,登录到PostgreSQL数据库,是可以登录到数据库,可以对数据库进行增删改等操作。

今天也学习了一下PostgreSQL数据库的常用命令

su - postgres  //切换用户

service postgresql status //查看服务状态

service postgresql   //start启动postgresql-9.4服务

ps -ef | grep postgres  //查postgres的进程信息

netstat -tpnl | grep 5432   //查postgres的端口号5432是否已经打开

service postgresql status   //查看服务状态

psql -U postgres   //postgres用户连接pgsql server

chkconfig postgresql on //设置开机启动postgresql

service postgresql restart  //重启数据库

总之,今天主要是练习了操作PostgreSQL数据库,明天继续解决问题

第五篇

根据教程(教程tutorial2.0链接:支持中文的deepdive),执行命令:deepdive do articles时,出现以下错误:could not connect to database postgres :FATAL:Ident authentication failed for user "lala"。在deepdive中连不上PostgreSQL数据库。

汇总_第21张图片

deepdive中的db.url文件配置DeepDive application structure如下(url教程:):

汇总_第22张图片

        而直接在PostgreSQL数据库中,用户lala可以登录到postgres数据库,如图所示。

汇总_第23张图片

PostgreSQL数据库的postgres.db文件夹中,有以下这些文件:

汇总_第24张图片

其中两个文件(pg_hba.conf和postgresql.conf)的配置信息如下:

汇总_第25张图片
汇总_第26张图片

网上搜索了一下问题(could not connect to database postgres :FATAL:Ident authentication failed for user "lala")的解决方案,跟着上面的教程修改,还是未解决,搜到的一些解决方案链接如下:

1、PostgreSQL pg_ident.conf 文件简析

2、postgres访问认证配置文件pg_hba.conf

3、psql: FATAL: Ident authentication failed for user "postgres"

4、psql: FATAL: Ident authentication failed for user "postgres"

5、psql: FATAL: Ident authentication failed for user "postgres"


第六篇

搜索了很多资料都没有解决上一篇文章中的问题,于是我下狠心,卸载数据库,安装了一个更高版本的数据库PostgreSQL9.4(根据这篇安装教程安装的:postgresql 9.4 在linux环境的安装步骤详解),问题得到了解决,真的是舍不了孩子套不着狼啊。

    执行命令:deepdive do articles,显示结果如下。

汇总_第27张图片
汇总_第28张图片
汇总_第29张图片

    红色方框是执行命令deepdive do article后,出现的一个小问题。执行黄色方框中的命令:deepdive query '?- articles(id,_).',出现绿色方框里的结果,与教程里的结果一致。


第七篇

搜索了红色方框里的问题,解决方法是修改Python的版本,原因是check_output 从python 2.7 版本开始引入,在低于 2.7版本时,不起作用,而我的CentOS6.9系统自带的是Python2.6.6版本,所以不能用check_output。(参考资料:why? subprocess.check_output() module object has out attribute 'check_output')

汇总_第30张图片

        然而但我升级到Python3.3.0版本时,也会出错,如图所示.

汇总_第31张图片

        出现上面的问题,是因为Python2和Python3之间语法之间的差别导致的,所以我只能采用2.7到小于3之间的Python版本,于是我安装了,如图所示。

汇总_第32张图片

           执行命令,出现了以下结果,应该还存在着其他问题,还没解决。

汇总_第33张图片


第八篇

当输入命令:deepdive compile && deepdive do company_mention 时,出现了一下错误:

汇总_第34张图片
汇总_第35张图片
汇总_第36张图片
汇总_第37张图片
汇总_第38张图片

    看到这错误时,一头雾水。搜了很多,在莫名地尝试中,问题就解决了。

解决方法启示:如何用Genia语料库训练斯坦福语法分析者?。文章里提到:

看到该用户的回答,我开始检查我的NLP是否安装或是否正确。于是我开始按照这篇教程,安装NLP:Stanford CoreNLP在linux系统中安装与使用。当安装到第三步时,我就不能继续安装。然后我试着重新输入命令时,发现问题得到了解决,非常惊喜。

    输入命令:deepdive compile && deepdive do company_mention,出现结果如图所示(直选部分截图),注意两张图的区别:

汇总_第39张图片
汇总_第40张图片

    输入命令:deepdive compile && deepdive do transaction_candidate,出现结果如图所示(直选部分截图),注意区别:

汇总_第41张图片
汇总_第42张图片

 该命令大概执行了两个小时左右,出现了一下错误:

汇总_第43张图片
汇总_第44张图片

    问题2在教程里有提到,于是我先解决这个问题,解决方案如图所示:

汇总_第45张图片

    将transform.py中company_full_short.csv的相对路路径改为绝对路路径,修改后的结果如图所示:

汇总_第46张图片

    于是,问题就得到了解决。

    输入命令:deepdive compile && deepdive do transaction_feature,生成特征数据库。再输入命令:deepdive query '| 20 ?- transaction_feature(_, _, feature).' ,查看⽣生成结果。

汇总_第47张图片
汇总_第48张图片
汇总_第49张图片
汇总_第50张图片

    此时,数据库中所存在的表有7张,都是自动创建的,但数据库db_articles要事先创建好:

汇总_第51张图片

    而且,就连之前未执行成功的一条命令,也执行成功了。

汇总_第52张图片

    实验未完待续。。。


第九篇

    实验继续,当执行到命令:deepdive compile && deepdive do probabilities ,出现了以下错误:

汇总_第53张图片

    上图告诉我们libbz2.so.1.0文件不存在,而且错误中也没告诉我们该文件存储在什么地方,于是我开始在网上搜索资料。

从资料error while loading shared libraries: xxx.so.x" 错误的原因和解决办法中,可以知道错误的原因有两个,没有该文件或者是路径不对。如下图所示:

汇总_第54张图片

        我从很多资料上看到,libbz2.so.1.0文件进是在/usr/lib 或 /usr/lib64上。

于是,我先开始按照资料pbzip2: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file解决问题,如下图所示:

汇总_第55张图片

    当我在运行命令:yum install bzip2-libs时,出现了以下问题:

汇总_第56张图片

根据资料centos---运行yum报错:No module named yum,因为yum基于python写的,是该问题是yum的python版本对应不上目前python环境的版本导致的。 而在之前,应该是我升级过python的版本,所以才会导致以上问题。

    根据资料的解决方法,我顺利的解决了问题(当然在这之前,我也尝试了其他的方法),如下图所示:

汇总_第57张图片

    在我的系统里的修改后的结果如图所示,将第一行#! /usr/bin/python 改为 python2.6(版本好要看自己的系统安装了什么版本,我的系统有python2.6和2.7.7版本)

汇总_第58张图片

    解决完关于yum的问题,继续解决关于libbz2.so.1.0的问题。

     根据资料,我在路径/usr/lib64上继续执行命令yum install bzip2-libs,发现该文件已经存在,于是我开始尝试其他的解决方案。

    看来很多资料,很多资料上面是通过建立软连接的方法,来解决问题。

    比如,该方法是做一个软链接libbz2.so.1.0,指向已经有的libbz2.so.1.0.6。

汇总_第59张图片

如资料解决:error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No,也是通过建立软连接的方法解决问题的,如下图所示:

汇总_第60张图片

    在偶然的翻找中,我发现在路径/lib64下,有libbz2.so.1.0.4文件存在,如图所示:

汇总_第61张图片

    在/usr/lib64下是这样的:

汇总_第62张图片

    于是,我尝试做一个软连接,源文件/lib64里的libbz2.so.1.0.4文件,目标文件是/usr/lib64里的libbz2.so.1.0文件,该做法相当于,若想使用/usr/lib64里的libbz2.so.1.0文件,通过软连接,将指向/lib64里的libbz2.so.1.0.4文件,而实际中真正使用/lib64里的libbz2.so.1.0.4文件,这有点类似于指针的用法,不管在哪里建立目标文件,通过软连接,使用的都是源文件。我的做法在路径/usr/lib64下,输入命令:ln -s /lib64/libbz2.1.0.4  /usr/lib64/llibbz2.1.0 ,输入命令:ls -alhtr | grep libbz2.so.1 ,查看已有的软连接,其中红色方框里,是新建立的软连接。如下图所示:

汇总_第63张图片

    路径/usr/lib64下新建的软连接(蓝色方框里的)如图下图所示,如果软连接没有建立成功,则连接右上方不是箭头,是叉的标志。

汇总_第64张图片

    解决完以上问题,再输命令:deepdive compile && deepdive do probabilities,出现以下错误:

汇总_第65张图片

    输入命令:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX ,查看有无GLIBCXX_3.4.15版本,结果如下图所示:

汇总_第66张图片

    从图片可知,最高的版本是3.4.13,所以出错了。搜索资料,根据这两篇文章可知,下载更高版本的 libstdc++.so,建立软连接,即可解决问题,于是我下载了64位系统的libstdc++.so.6.0.13版本的文件,将它放在桌面上。在建立软连接之前,先查看有没有已存在软连接与即将要建立的软连接重复,于是输入命令:ls -alhtr | grep libstdc.so.6 ,发现libstdc.so.6已经做了软连接,因此,我们应该把这个软连接先删除,再重新建立软连接,如下图所示。

    1.输入:rm -rf ./libstdc.so.6 ,删除原有的连接,

    2.输入:ln -s /home/lala/Desktop/soft/libstdc.so.6.0.17  /usr/lib64/libstdc.so.6 ,建立新的软连接。

    3.输入:ls -alhtr | grep libstdc.so.6,看看软连接是否建立成功。

    4.输入:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX,查看有无GLIBCXX_3.4.15版本。

汇总_第67张图片
汇总_第68张图片

    解决以上问题,再输入命令:deepdive compile && deepdive do probabilities ,出现以下错误:

汇总_第69张图片

    根据出错的文件路径,我查找该文件,应该是该文件损坏了。找了很久,终于在

factors文件里的另一个文件中(factors里就两个文件),找到了fctors.part-1.bin.bz2压缩包,替换了损坏的文件,从而问题得到了解决。

    于是,我继续输入命令:deepdive compile && deepdive do probabilities,结果还是有错了,如下图所示:

        这个问题也没有任何资料可以参考,打开run.sh文件,也看不出错误。于是我抱着试试的态度,从【1..4.. 实体抽取及候选实体对⽣生成】的命令:deepdive compile && deepdive do company_mention 开始,把每个命令都重新执行了一遍,结果。。。。。成功了,实验结果如下图所示:

汇总_第70张图片

    所以,实验需要不断的尝试,才会不断地成功。

你可能感兴趣的:(汇总)