1. 程式人生 > >fuse的手動編譯安裝

fuse的手動編譯安裝

本文是   “大量資料遷移到物件儲存服務過程中使用聯合檔案系統的遷移方案” 的附屬文章,用於記錄。

首先介紹下fuse:

       FUSE(使用者空間檔案系統)作為類UNIX系統平臺上可載入的核心模組,允許非特權使用者建立功能完備的檔案系統,而不需要重新編譯核心。FUSE模組僅僅提供kernel模組的接入口,而本身的主要實現程式碼位於使用者空間中。對於讀寫虛擬檔案系統來說,FUSE是個很好的選擇。

       FUSE起初是為了研究AVFS(A Virtual Filesystem)而設計的,而現在已經成為SourceForge的一個獨立專案,目前適用的平臺有Linux, FreeBSD, NetBSD, OpenSolaris和Mac OS X。官方的linux kernel版本到2.6.14才添加了FUSE模組,因此2.4的核心模組下,使用者如果要在FUSE中建立一個檔案系統,需要先安裝一個FUSE核心模組,然後使用FUSE庫和API來建立。

詳細資訊可參考:https://github.com/libfuse/libfuse

運維同學提供的伺服器系統版本較低,yum安裝有問題,很多依賴也沒有安裝,部分安裝失敗通過查閱需要安裝的依賴已解決,部分通過跟換yum源後解決了,但fuse一直安裝失敗(fuse-dev成功),最終通過查閱進行編譯安裝(未斟酌fuse的版本選擇)。

安裝依賴

yum install automake  gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

安裝 fuse

# yum remove -y fuse
# wget https://github.com/libfuse/libfuse/releases/download/fuse_2_9_4/fuse-2.8.4.tar.gz
# tar -zxvf fuse-2.8.4.tar.gz
# cd fuse-2.8.4
# ./configure
# make
# make install
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig
# modprobe fuse
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
# pkg-config --modversion fuse   
2.8.4   //看到版本表示安裝成功