此文已由做者溫正湖受權網易雲社區發佈。
python
歡迎訪問網易雲社區,瞭解更多網易技術產品運營經驗。git
要想精通一個數據庫,除了知道該數據庫的功能特性、使用方法等,還須要可以看懂數據庫源碼,可以使用gdb工具對其進行調試跟蹤,若是可以修改源碼,實現本身所需的功能,那是極好的。本文簡單介紹如何在debian 7上編譯MongoDB 3.4源碼。官方的編譯指南如連接所示:MongoDB編譯指南。摘取以下:github
To build the master branch, you will need: A modern and complete C++11 compiler. One of the following is required: VS2015 Update 2 or newer GCC 5.3.0Clang 3.4 (or Apple XCode 5.1.1 Clang) or newer Python 2.7SCons 2.3.5 or newer (for MSVC 2015 support)
Further requirements are system-dependent and for both SCons and running the tests: On Linux, you will need to install a compiler gcc or clang, as well as glibc headers which are usually included in a package named glibc-devel. On Debian and Ubuntu systems, you must install the libssl-dev package to compile with SSL support. On Red Hat and CentOS systems, you must install the openssl-devel package to compile with SSL support.
以後,執行scons all 或scons mongod來根據本身的須要編譯對應的可執行文件。mongodb
但官方的參考指南過於簡單,真正在編譯的時候,就沒有那麼輕鬆了。下面根據在debian 7.8上的實踐把沒法直接經過apt安裝的步驟作下簡要記錄:數據庫
一、編譯前,請確保所在的編譯目錄有很多於30G的磁盤空間;網絡
二、安裝gcc工具
wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gztar -xvf gcc-5.3.0.tar.gz cd gcc-5.3.0./contrib/download_prerequisites ./configure --disable-multilib make make install
三、安裝scons,scons是使用python寫的編譯工具,相比makefile簡單和強大不少ui
wget https://sourceforge.net/projects/scons/files/scons/2.3.0/scons-2.3.0.tar.gztar -xvf scons-2.3.0.tar.gz cd scons-2.3.0python ./setup.py install
四、編譯MongoDB.net
wget https://fastdl.mongodb.org/src/mongodb-src-r3.4.7.zipapt-get install zip unzip mongodb-src-r3.4.7.zip cd mongodb-src-r3.4.7scons all
網易雲免費體驗館,0成本體驗20+款雲產品!
設計
更多網易技術、產品、運營經驗分享請點擊。
相關文章:
【推薦】 4月第4周業務風控關注|網絡犯罪經濟每一年1.5萬億美圓GDP居全球第12位
【推薦】 年輕設計師如何作好商業設計