使用源代碼 rpm 安裝 Netatalk
Netatalk 是 Apple AFP(Apple Filing Protocol)檔案伺服器的 Linux 系統上的一個開源實現,用於在 Apple Macintosh 上掛載 ext3/ext4 檔案系統。雖然 Snow Leopard(Darwin 10)對我來說提供了更好的 NFS4 支援,但是如果執行一個 NFS4 伺服器的話,看起來還是達不到生產品質的要求,這也是我們可能使用 AFP/netatalk 作為交替的最主要的原因。 另外一個原因是你可能希望伺服器能夠察看在 OS X 的 Finder 側邊欄(為了更簡單的拖放工作),并且將來可能需要保持選項開啟以把它作為一個時間機器復本卷使用。
1. 需要的套裝軟體和依賴
Netatalk 依賴於以下套裝軟體:
cracklib-devel
openssl-devel
pam & pam-devel
quota-devel
libtool
automake
autoconf
db4-devel
tcp_wrappers-devel
libgcrypt-devel
因此,如果還沒有安裝的話,首先需要安裝這些套裝軟體。
yum install {openssl,pam,db4,libgcrypt}-devel yum install libtool cracklib tcp_wrappers
注意: cracklib/cracklib-devel, quota/quota-devel 和tcp_wrappers/tcp_wrappers-devel 在 CentOS 中是集成在它們的主套裝軟體中的 (比如 cracklib, quota 和 tcp_wrappers), 因此不需要安裝任何 *-devel 套裝軟體(也抓取不到這些套裝軟體)。為了滿足依賴關係,automake 和autoconf 會自動安裝。
2. 准備搆建環境
如果還不存在,那么必須建立以下目錄。
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
第二個指令會覆寫任何系統中可能已經存在的 .rpmmacros 檔案。
然后下載并安裝源代碼 rpm。我從 kojipkgs.fedoraproject.org 下載了 64 位的 V2.0.5 版本。需要根據目標架搆選取合適的 rpm。
wget http://kojipkgs.fedoraproject.org/packages/netatalk/2.0.5/2.fc13/src/netatalk-2.0.5-2.fc13.src.rpm rpm -ivh --nomd5 netatalk-2.0.5-2.fc13.src.rpm
注意: 我安裝的時候產生了 "MD5 sum mismatch" 的錯誤,因此我使用了 --nomd5 來舍棄這個問題。
上文中已經提到,cracklib, quota 和 tcp_wrappers 的 -devel 套裝軟體是集成在主套裝軟體中的,在進行后續工作前,首先需要適當地修改 netatalk.spec(在 ~/rpmbuild/SPECS 下)檔案中的 BuildRequires 行的內容 。在我的系統上,編輯之后的行看起來如下:
BuildRequires: cracklib openssl-devel pam quota libtool automake autoconf db4-devel pam-devel \ tcp_wrappers libgcrypt-devel
rpmbuild 指令必須可用以搆建 rpm (你的系統中可能存在 rpm 指令,而不是 rpmbuild)。如果 rpmbuild 還沒有安裝,那么也需要進行安裝。
sudo yum install rpm-build
3. 安裝源代碼 rpm
切換目錄到 SPECS,執行如下指令以安裝 netatalk 套裝軟體。
cd ~/rpmbuild/SPECS rpmbuild -ba netatalk.spec cd ../RPMS/`uname -i`/ sudo rpm -ivh netatalk-2.0.5-2.x86_64.rpm
大功告成!!如果一切進展良好,在按照需求修改了 [/etc/atalk/] afpd.conf 和 AppleVolumes.default 之后,這個版本的 Netatalk 應該可以完美的開始工作。
注意: 對於 Netatalk 2.0,預設的安裝選項是 --without-logfile,只有在使用了 --with-logfile 搆建 Netatalk 時日誌功能才能使用。因此, /var/log/messages 和 /var/log/secure 一定沒有任何東西。要啟用日誌,必須要在搆建完成之后在 afpd.conf 中增加 -setuplog,之后日誌的內容應該出現在 /var/log/messages 中。
Translation of revision 22