汇总

作者: IHAVETEMPO | 来源:发表于2019-03-13 23:45 被阅读0次

    第一篇

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

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

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

    问题:

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

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

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

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

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

    第二篇

    官网实验继续

    一、实验准备

    实验教程

        根据说明,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,如图所示

    CentOS系统上的操作

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

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

    CentOS系统上的操作

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

    实验教程

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

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

    第三篇

    出现错误如下:

    错误原因是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服务

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

    问题待解决。。。

    第四篇

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

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

    如果只是用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数据库。

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

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

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

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

    网上搜索了一下问题(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,显示结果如下。

        红色方框是执行命令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'

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

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

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

    第八篇

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

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

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

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

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

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

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

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

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

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

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

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

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

        实验未完待续。。。

    第九篇

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        在/usr/lib64下是这样的:

        于是,我尝试做一个软连接,源文件/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 ,查看已有的软连接,其中红色方框里,是新建立的软连接。如下图所示:

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

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

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

        从图片可知,最高的版本是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版本。

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

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

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

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

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

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

    相关文章

      网友评论

          本文标题:汇总

          本文链接:https://www.haomeiwen.com/subject/fjxfmqtx.html