第一篇
1.虛擬機(jī)安裝CenOS系統(tǒng)虛擬機(jī)如何安裝系統(tǒng)
2.Linux系統(tǒng)基本命令學(xué)習(xí)Linux學(xué)習(xí)
3.環(huán)境準(zhǔn)備( 案例來(lái)自于:支持中文的deepdive:斯坦福大學(xué)的開(kāi)源知識(shí)抽取工具(三元組抽仍Х邸)
問(wèn)題:
1.在CenOS系統(tǒng)中不能解壓CNdeepdive?.zip文件:解決方案
2.使用pg_ctl管理postgresql數(shù)據(jù)庫(kù)報(bào)錯(cuò):解決方案
? ? 給當(dāng)前用戶(hù)添加數(shù)據(jù)庫(kù)管理權(quán)限
虛擬機(jī)下CenOS系統(tǒng)環(huán)境準(zhǔn)備后:
由于未找到股權(quán)交易數(shù)據(jù),實(shí)驗(yàn)沒(méi)有進(jìn)行下去。
第二篇
官網(wǎng)實(shí)驗(yàn)繼續(xù)
一指蚜、實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)教程
????根據(jù)說(shuō)明镐捧,transaction文件中所包含的文件如圖所示擂涛,其中db.url是執(zhí)行行命令生成的,而app.ddlog和deepdive.conf是創(chuàng)建文本文檔生成的哟冬。
創(chuàng)建了之后嫂便,不清楚各個(gè)文件的功能捞镰,于是查了一下,解釋如圖所示(參考文章:知識(shí)抽取)
參考資料
二毙替、本次實(shí)驗(yàn)主要是執(zhí)行圖中的(1)岸售、(2)、(3)步驟蔚龙。
實(shí)驗(yàn)教程
(1)由于在實(shí)驗(yàn)步驟中所給網(wǎng)站獲取不到數(shù)據(jù)冰评,于是自己從官網(wǎng)拿了一些其他數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
(2)步驟2是將app.ddlog文本打開(kāi)木羹,將教程里的代碼復(fù)制進(jìn)去甲雅。
(3)步驟3在執(zhí)行行命令生成postgresql數(shù)據(jù)表中,出現(xiàn)以下錯(cuò)誤:
?? 搜索資料坑填,解決辦法如圖所示(參考文章:CentOS提示 -bash: patch: command not found 解決辦法):
參考資料
解決了上述問(wèn)題抛人,輸入命令deepdive compile && deepdive do transaction_dbdata,出現(xiàn)以下錯(cuò)誤:
????????查找資料脐瑰,得知GLIBC版本低妖枚,而程序所運(yùn)行的版本是GLIBC_2.15。解決問(wèn)題前苍在,先了解以下GLIBC:?GLIBC是gnu發(fā)布的libc庫(kù)绝页,即c運(yùn)行庫(kù)。GLIBC是Linux系統(tǒng)中最底層的API寂恬,幾乎其它任何運(yùn)行庫(kù)都會(huì)依賴(lài)于GLIBC续誉。GLIBC除了封裝Linux系統(tǒng)所提供的系統(tǒng)服務(wù)外,它本身也提供了許多其它一些必要功能服務(wù)的實(shí)現(xiàn)初肉。
對(duì)于CentOS這樣的系統(tǒng)酷鸦,為了追求穩(wěn)定性往往各種庫(kù)版本都很低,比如6.5甚至7.0自帶的還是glibc2.12, 而ubuntu14.04帶glibc2.19。(參考資料:Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found)
? ? ? ? 我在虛擬機(jī)上使用的是CentOS6.9版本臼隔,查找系統(tǒng)所使用的GLIBC最高是glibc2.12嘹裂,如圖所示:
CentOS系統(tǒng)上的操作
?因此我需要升級(jí)CentOS6.9系統(tǒng)中的GLIBC版本,升級(jí)到glibc2.15摔握,操作方法如圖所示寄狼,輸入圖中的行命令(參考資料:解決/lib64/libc.so.6: version `GLIBC_2.14' not found)
? ? ? ? 解決以上問(wèn)題,執(zhí)行命令 deepdive compile && deepdive do transaction_dbdata 氨淌。
CentOS系統(tǒng)上的操作
??如下圖實(shí)驗(yàn)中所寫(xiě)例嘱,生成了一個(gè)dataflow.svg文件。
實(shí)驗(yàn)教程
在run文件夾下生產(chǎn)dataflow.svg文件??
?? 本次實(shí)驗(yàn)結(jié)束后宁舰,transaction文件夾下有以下文件。
第三篇
出現(xiàn)錯(cuò)誤如下:
錯(cuò)誤原因是PostgreSQL數(shù)據(jù)庫(kù)沒(méi)啟動(dòng)奢浑,根據(jù)資料蛮艰,將數(shù)據(jù)庫(kù)啟動(dòng),參考資料:參考資料
? ? 1.打開(kāi)PostgreSQL數(shù)據(jù)庫(kù)的終端
? ? 2. 輸入命令:chkconfig --list? 雀彼,查看所有服務(wù)并找到postgre的服務(wù)名稱(chēng)
? ? 3.若postgre服務(wù)是off狀態(tài)壤蚜,輸入行命令 chkconfig postgresql on ,(默認(rèn)postgresql不是自啟動(dòng)的徊哑,我們需要設(shè)置postgresql服務(wù)為自啟動(dòng)服務(wù):)
????4.輸入命令:service postgresql status 袜刷,查看服務(wù)狀態(tài),我出現(xiàn)了錯(cuò)誤:postmaster dead but pid file exists莺丑,解決方案是刪除關(guān)于pid的文件著蟹,我在postgrex.db文件下找了postmaster.pid文件,刪除該文件即可梢莽。再次輸入命令?service postgresql status萧豆,查看有無(wú)其他問(wèn)題
????5.輸入命令 :service postgresql start ,啟動(dòng)postgresql服務(wù)
解決上述問(wèn)題后昏名,又出現(xiàn)以下問(wèn)題:
問(wèn)題待解決涮雷。。轻局。
第四篇
?對(duì)于昨天的【Ident authentication failed for postgres】問(wèn)題洪鸭,今天搜索了一天,還沒(méi)有解決仑扑,網(wǎng)上的帖子基本是的解決方案是修改文件pg_hpa.conf里的內(nèi)容(修改的是紅線(xiàn)框里的內(nèi)容)览爵,但都沒(méi)有成功,如圖所示夫壁。
今天我還修改了db.url文件內(nèi)容拾枣,參考是官網(wǎng)教程,如圖所示:
如果只是用postgres用戶(hù)和密碼,登錄到PostgreSQL數(shù)據(jù)庫(kù)梅肤,是可以登錄到數(shù)據(jù)庫(kù)司蔬,可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改等操作。
今天也學(xué)習(xí)了一下PostgreSQL數(shù)據(jù)庫(kù)的常用命令
su - postgres ?//切換用戶(hù)
service postgresql status?//查看服務(wù)狀態(tài)
service postgresql?? //start啟動(dòng)postgresql-9.4服務(wù)
ps -ef | grep postgres? //查postgres的進(jìn)程信息
netstat -tpnl | grep 5432? ?//查postgres的端口號(hào)5432是否已經(jīng)打開(kāi)
service postgresql status? ?//查看服務(wù)狀態(tài)
psql -U postgres? ?//postgres用戶(hù)連接pgsql server
chkconfig?postgresql?on?//設(shè)置開(kāi)機(jī)啟動(dòng)postgresql
service?postgresql restart? //重啟數(shù)據(jù)庫(kù)
總之姨蝴,今天主要是練習(xí)了操作PostgreSQL數(shù)據(jù)庫(kù)俊啼,明天繼續(xù)解決問(wèn)題
第五篇
根據(jù)教程(教程tutorial2.0鏈接:支持中文的deepdive),執(zhí)行命令:deepdive do articles時(shí)左医,出現(xiàn)以下錯(cuò)誤:could not connect to database postgres :FATAL:Ident authentication failed for user "lala"授帕。在deepdive中連不上PostgreSQL數(shù)據(jù)庫(kù)。
deepdive中的db.url文件配置DeepDive application structure如下(url教程:):
????????而直接在PostgreSQL數(shù)據(jù)庫(kù)中浮梢,用戶(hù)lala可以登錄到postgres數(shù)據(jù)庫(kù)跛十,如圖所示。
PostgreSQL數(shù)據(jù)庫(kù)的postgres.db文件夾中秕硝,有以下這些文件:
其中兩個(gè)文件(pg_hba.conf和postgresql.conf)的配置信息如下:
網(wǎng)上搜索了一下問(wèn)題(could not connect to database postgres :FATAL:Ident authentication failed for user "lala")的解決方案芥映,跟著上面的教程修改,還是未解決远豺,搜到的一些解決方案鏈接如下:
1奈偏、PostgreSQL pg_ident.conf 文件簡(jiǎn)析
2、postgres訪(fǎng)問(wèn)認(rèn)證配置文件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"
第六篇
搜索了很多資料都沒(méi)有解決上一篇文章中的問(wèn)題棺滞,于是我下狠心裁蚁,卸載數(shù)據(jù)庫(kù),安裝了一個(gè)更高版本的數(shù)據(jù)庫(kù)PostgreSQL9.4(根據(jù)這篇安裝教程安裝的:postgresql 9.4 在linux環(huán)境的安裝步驟詳解)继准,問(wèn)題得到了解決厘擂,真的是舍不了孩子套不著狼啊。
? ? 執(zhí)行命令:deepdive do articles,顯示結(jié)果如下锰瘸。
? ? 紅色方框是執(zhí)行命令deepdive do article后刽严,出現(xiàn)的一個(gè)小問(wèn)題。執(zhí)行黃色方框中的命令:deepdive query '?- articles(id,_).',出現(xiàn)綠色方框里的結(jié)果避凝,與教程里的結(jié)果一致舞萄。
第七篇
搜索了紅色方框里的問(wèn)題,解決方法是修改Python的版本管削,原因是check_output 從python 2.7 版本開(kāi)始引入倒脓,在低于 2.7版本時(shí),不起作用含思,而我的CentOS6.9系統(tǒng)自帶的是Python2.6.6版本崎弃,所以不能用check_output甘晤。(參考資料:why? subprocess.check_output() module object has out attribute 'check_output')
????????然而但我升級(jí)到Python3.3.0版本時(shí),也會(huì)出錯(cuò)饲做,如圖所示.
? ? ? ? 出現(xiàn)上面的問(wèn)題线婚,是因?yàn)镻ython2和Python3之間語(yǔ)法之間的差別導(dǎo)致的,所以我只能采用2.7到小于3之間的Python版本盆均,于是我安裝了塞弊,如圖所示。
? ? ? ?????執(zhí)行命令泪姨,出現(xiàn)了以下結(jié)果游沿,應(yīng)該還存在著其他問(wèn)題,還沒(méi)解決肮砾。
第八篇
當(dāng)輸入命令:deepdive compile && deepdive do company_mention 時(shí)诀黍,出現(xiàn)了一下錯(cuò)誤:
? ? 看到這錯(cuò)誤時(shí),一頭霧水仗处。搜了很多蔗草,在莫名地嘗試中,問(wèn)題就解決了疆柔。
解決方法啟示:如何用Genia語(yǔ)料庫(kù)訓(xùn)練斯坦福語(yǔ)法分析者?镶柱。文章里提到:
看到該用戶(hù)的回答旷档,我開(kāi)始檢查我的NLP是否安裝或是否正確。于是我開(kāi)始按照這篇教程歇拆,安裝NLP:Stanford CoreNLP在linux系統(tǒng)中安裝與使用鞋屈。當(dāng)安裝到第三步時(shí),我就不能繼續(xù)安裝故觅。然后我試著重新輸入命令時(shí)厂庇,發(fā)現(xiàn)問(wèn)題得到了解決,非常驚喜输吏。
? ? 輸入命令:deepdive compile && deepdive do company_mention权旷,出現(xiàn)結(jié)果如圖所示(直選部分截圖),注意兩張圖的區(qū)別:
? ? 輸入命令:deepdive compile && deepdive do transaction_candidate贯溅,出現(xiàn)結(jié)果如圖所示(直選部分截圖)拄氯,注意區(qū)別:
?該命令大概執(zhí)行了兩個(gè)小時(shí)左右,出現(xiàn)了一下錯(cuò)誤:
? ? 問(wèn)題2在教程里有提到它浅,于是我先解決這個(gè)問(wèn)題译柏,解決方案如圖所示:
????將transform.py中company_full_short.csv的相對(duì)路路徑改為絕對(duì)路路徑,修改后的結(jié)果如圖所示:
? ? 于是姐霍,問(wèn)題就得到了解決鄙麦。
? ? 輸入命令:deepdive compile && deepdive do transaction_feature典唇,生成特征數(shù)據(jù)庫(kù)。再輸入命令:deepdive query '| 20 ?- transaction_feature(_, _, feature).' 胯府,查看?生成結(jié)果介衔。
? ? 此時(shí),數(shù)據(jù)庫(kù)中所存在的表有7張盟劫,都是自動(dòng)創(chuàng)建的夜牡,但數(shù)據(jù)庫(kù)db_articles要事先創(chuàng)建好:
????而且,就連之前未執(zhí)行成功的一條命令侣签,也執(zhí)行成功了塘装。
? ? 實(shí)驗(yàn)未完待續(xù)。影所。蹦肴。
第九篇
????實(shí)驗(yàn)繼續(xù),當(dāng)執(zhí)行到命令:deepdive compile && deepdive do probabilities 猴娩,出現(xiàn)了以下錯(cuò)誤:
? ? 上圖告訴我們libbz2.so.1.0文件不存在阴幌,而且錯(cuò)誤中也沒(méi)告訴我們?cè)撐募鎯?chǔ)在什么地方,于是我開(kāi)始在網(wǎng)上搜索資料卷中。
從資料error while loading shared libraries: xxx.so.x" 錯(cuò)誤的原因和解決辦法中矛双,可以知道錯(cuò)誤的原因有兩個(gè),沒(méi)有該文件或者是路徑不對(duì)蟆豫。如下圖所示:
? ? ? ? 我從很多資料上看到议忽,libbz2.so.1.0文件進(jìn)是在/usr/lib 或 /usr/lib64上。
于是十减,我先開(kāi)始按照資料pbzip2: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file解決問(wèn)題栈幸,如下圖所示:
? ? 當(dāng)我在運(yùn)行命令:yum install bzip2-libs時(shí),出現(xiàn)了以下問(wèn)題:
根據(jù)資料centos---運(yùn)行yum報(bào)錯(cuò):No module named yum帮辟,因?yàn)閥um基于python寫(xiě)的速址,是該問(wèn)題是yum的python版本對(duì)應(yīng)不上目前python環(huán)境的版本導(dǎo)致的。 而在之前由驹,應(yīng)該是我升級(jí)過(guò)python的版本芍锚,所以才會(huì)導(dǎo)致以上問(wèn)題。
? ? 根據(jù)資料的解決方法蔓榄,我順利的解決了問(wèn)題(當(dāng)然在這之前闹炉,我也嘗試了其他的方法),如下圖所示:
????在我的系統(tǒng)里的修改后的結(jié)果如圖所示润樱,將第一行#! /usr/bin/python 改為 python2.6(版本好要看自己的系統(tǒng)安裝了什么版本渣触,我的系統(tǒng)有python2.6和2.7.7版本)
? ? 解決完關(guān)于yum的問(wèn)題,繼續(xù)解決關(guān)于libbz2.so.1.0的問(wèn)題壹若。
? ? ?根據(jù)資料嗅钻,我在路徑/usr/lib64上繼續(xù)執(zhí)行命令yum install bzip2-libs皂冰,發(fā)現(xiàn)該文件已經(jīng)存在,于是我開(kāi)始嘗試其他的解決方案养篓。
? ? 看來(lái)很多資料秃流,很多資料上面是通過(guò)建立軟連接的方法瓢喉,來(lái)解決問(wèn)題胖翰。
? ? 比如畏梆,該方法是做一個(gè)軟鏈接libbz2.so.1.0婚脱,指向已經(jīng)有的libbz2.so.1.0.6。
如資料解決:error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No世囊,也是通過(guò)建立軟連接的方法解決問(wèn)題的哭廉,如下圖所示:
? ? 在偶然的翻找中战虏,我發(fā)現(xiàn)在路徑/lib64下萍丐,有l(wèi)ibbz2.so.1.0.4文件存在轩端,如圖所示:
? ? 在/usr/lib64下是這樣的:
????于是,我嘗試做一個(gè)軟連接逝变,源文件/lib64里的libbz2.so.1.0.4文件基茵,目標(biāo)文件是/usr/lib64里的libbz2.so.1.0文件,該做法相當(dāng)于壳影,若想使用/usr/lib64里的libbz2.so.1.0文件拱层,通過(guò)軟連接,將指向/lib64里的libbz2.so.1.0.4文件宴咧,而實(shí)際中真正使用/lib64里的libbz2.so.1.0.4文件根灯,這有點(diǎn)類(lèi)似于指針的用法,不管在哪里建立目標(biāo)文件悠汽,通過(guò)軟連接,使用的都是源文件芥驳。我的做法在路徑/usr/lib64下柿冲,輸入命令:ln -s?/lib64/libbz2.1.0.4? /usr/lib64/llibbz2.1.0 ,輸入命令:ls -alhtr | grep libbz2.so.1 兆旬,查看已有的軟連接假抄,其中紅色方框里,是新建立的軟連接丽猬。如下圖所示:
? ? 路徑/usr/lib64下新建的軟連接(藍(lán)色方框里的)如圖下圖所示宿饱,如果軟連接沒(méi)有建立成功,則連接右上方不是箭頭脚祟,是叉的標(biāo)志谬以。
? ? 解決完以上問(wèn)題,再輸命令:deepdive compile && deepdive do probabilities由桌,出現(xiàn)以下錯(cuò)誤:
? ? 輸入命令:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX 为黎,查看有無(wú)GLIBCXX_3.4.15版本邮丰,結(jié)果如下圖所示:
? ? 從圖片可知,最高的版本是3.4.13铭乾,所以出錯(cuò)了剪廉。搜索資料,根據(jù)這兩篇文章可知炕檩,下載更高版本的?libstdc++.so斗蒋,建立軟連接,即可解決問(wèn)題笛质,于是我下載了64位系統(tǒng)的libstdc++.so.6.0.13版本的文件泉沾,將它放在桌面上。在建立軟連接之前经瓷,先查看有沒(méi)有已存在軟連接與即將要建立的軟連接重復(fù)爆哑,于是輸入命令:ls -alhtr | grep libstdc.so.6 ,發(fā)現(xiàn)libstdc.so.6已經(jīng)做了軟連接舆吮,因此揭朝,我們應(yīng)該把這個(gè)軟連接先刪除,再重新建立軟連接色冀,如下圖所示潭袱。
? ? 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彤悔,查看有無(wú)GLIBCXX_3.4.15版本。
? ? 解決以上問(wèn)題索守,再輸入命令:deepdive compile && deepdive do probabilities 晕窑,出現(xiàn)以下錯(cuò)誤:
? ? 根據(jù)出錯(cuò)的文件路徑,我查找該文件卵佛,應(yīng)該是該文件損壞了杨赤。找了很久,終于在
factors文件里的另一個(gè)文件中(factors里就兩個(gè)文件)截汪,找到了fctors.part-1.bin.bz2壓縮包疾牲,替換了損壞的文件,從而問(wèn)題得到了解決衙解。
? ? 于是阳柔,我繼續(xù)輸入命令:deepdive compile && deepdive do probabilities,結(jié)果還是有錯(cuò)了蚓峦,如下圖所示:
? ? ? ? 這個(gè)問(wèn)題也沒(méi)有任何資料可以參考盔沫,打開(kāi)run.sh文件医咨,也看不出錯(cuò)誤。于是我抱著試試的態(tài)度架诞,從【1..4.. 實(shí)體抽取及候選實(shí)體對(duì)?生成】的命令:deepdive compile && deepdive do company_mention 開(kāi)始拟淮,把每個(gè)命令都重新執(zhí)行了一遍,結(jié)果谴忧。很泊。。沾谓。委造。成功了,實(shí)驗(yàn)結(jié)果如下圖所示:
? ? 所以均驶,實(shí)驗(yàn)需要不斷的嘗試昏兆,才會(huì)不斷地成功。