文章出處

obc安裝步驟

 

朋友們可能會好奇,廚師不研究菜譜怎么改研究兵法了,哈哈,我原本是app出身,最近被安排去預研區塊鏈和比特幣技術,2個月下來,頗有斬獲。期間得到IBM的CC同學指導我一步一步安裝obc的環境。學習期間,把安裝步驟整理下來,以饗后人。

 

這門技術我的感受是,噱頭更多一些,它里面有很深刻的思想在里面,但還很難應用到現實中,尤其是金融行業之外的其他垂直領域。所以接下來有機會,我要寫本《區塊鏈:從入門到放棄》的書。

 

咸鹽少敘,趕快介紹OBC的安裝步驟:

 

1.下載并安裝Vagrant和VitualBox。

http://www.vagrantup.com/downloads

https://www.virtualbox.org/wiki/Downloads

 

注:接下來的步驟如果安裝官方文檔,必死無疑,我曾經卡了耽誤很久,因為很多網站國內不能訪問。為此,我們采取折中的辦法,把被屏蔽的網址上的下載文件,通過其他渠道提前下載好,然后手動安裝。

 

2.下載ubunta鏡像。

https://atlas.hashicorp.com/obc/boxes/dev-env/versions/0.2.1/providers/virtualbox.box

改個名字吧,比如重命名為openchain.iso,叫什么不重要,只是為了好認。

 

3.把鏡像添加到vagrant中。

vagrant box add --name obc/dev-env /Users/baojianqiang/Downloads/blockchain.iso

 

其中,最后一個參數是ubunta鏡像在本機的路徑,上面這個路徑是我本機的存放路徑。

 

關于vagrant本地添加box鏡像的更多介紹,請參見:

http://www.imooc.com/qadetail/62953

 

4.啟動鏡像

首先,進入到obc-dev-env所在的目錄,執行vagrant up命令,Vagrant會執行目錄下的Vagrantfile文件

 

注:我們事先要修改一下這個Vagrantfile文件:

1)      刪除config.vm.box_version這行,否則手動安裝就不能進行。

2)      刪除./setup.sh這行。我們要手動執行setup.sh腳本。

 

接下來,運行vagrant ssh命令啟動鏡像。

 

 

         這時看光標所在的那行,你會發現,我們進入到vagrant的ubunta系統了,接下來執行的命令都將在ubunta上運行。

 

         同時你可以啟動VisualBox,有3個共享目錄,這是在Vagrantfile文件中設置過的結果,主機和虛機的目錄映射關系如下:

 

         此外,輸入node –v,會檢查到虛機上安裝的是v0.12.7版本。輸入git version,會檢查到虛機上安裝的是1.9.1版本。

 

5.手動逐步執行setup.sh腳本

         Vagrantfile文件會執行腳本文件setup.sh。這個腳本主要干了幾件事情:

1)      Ubunta系統更新

2)      下載并安裝Docker

3)      安裝python相關(包括pip、behave和nose)

4)      更新flask、python-dateutil、pytz、pyyaml、conchdb、flask-cors和requests

5)      下載并安裝GO

6)      下載并安裝RocksDB,并設置CGO_CFLAGS和CGO_LDFLAGS

7)      下載并安裝ProtoBuf

8)      配置RocksDB(為此需要創建目錄、開權限然后更新limits.conf)

 

我們要修改這個腳本文件,因為里面有些東西下載不了。

刪除docker run --rm busybox echo All good這行,這是為了測試Docker安裝是否成功的,只是一個測試,但是這次測試要下載busybox,而這個在國內是不能訪問的,所以干脆刪除不執行了。

 

先做一些準備工作

         1)獲取ubunta虛機的root權限,輸入su命令,要去我們輸入密碼。ubunta虛機的默認賬戶和密碼都是vagrant。

         接下來進入到虛機的vagrant目錄,對應本機的obc-dev-env目錄:

         cd /vagrant

 

         2)在Ubunta系統,想要執行一個sh腳本,需要輸入以下命令:

chmod +x setup.sh

         ./setup.sh

 

接下來我把setup.sh腳本文件拆分為若干小的文件,每個文件只干一件事情:

         1)setup1.sh

下載并安裝Docker

         2)setup2.sh

         下載并安裝python、pip、behave和nose

         更新一些插件,如flask。

         3)setup3.sh

         安裝go語音環境。

 

         這會間接執行installGolang.sh腳本。腳本中有兩句話可能會不能執行,因為golang.org在國內不能正常訪問:

         # Install Golint and goimports

         go get github.com/golang/lint/golint

go get golang.org/x/tools/cmd/goimports

 

         go get語句的作用是先下載,然后在下載的目錄中執行go install,后面這個命令會生成結果文件(可執行文件或.a包,然后將其轉移到$GOPATH/bin目錄下)。

         解決方案是,我們手動將其下載,然后復制到共享目錄,接下來手動執行go install即可 

 

這時候在命令行輸入go還提示我們找不到該命令。進入到etc/profile.d目錄,對gopath.sh文件執行source命令:

         cd /etc/profile.d

         source gopath.sh

 

         4)setup4.sh

         下載并安裝RocksDB和Protobuf

 

進入到etc/profile.d目錄,對gopath.sh文件執行source命令:

         cd /etc/profile.d

         source rocksLDLibrary.sh

 

         注:每打開一個ssh窗體,都要執行第3步和第4步這兩個source命令。

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()