如何為 Windows 編譯 Samba - 主要是 SMBClient.exe?
我在 Windows Server 2012 R2 伺服器上使用 Pydio 進行“雲”文件共享。出現了一種情況,我們希望連接到另一台 2012 R2 伺服器上的現有共享。Pydio 有一個 SMB 包裝器,它依賴於伺服器上的 SMBClient.exe。如果我們使用 *nix 會很容易,但由於它託管在 Windows 伺服器上,我們需要客戶端的 Windows 埠。經過大量搜尋後,我發現有人做到了這一點(https://www.leepa.io/lpackham/smbclient/)和另一個人做了所有的 Samba(https://smithii.com/samba)。不幸的是,兩者都是舊版本的客戶端,並且不能在新的 Windows 伺服器上執行。
讓我換個說法….您可以從 Windows 伺服器讀取,但不能放置文件…它會創建 0 字節文件以及在較新的 Windows 伺服器(2012 年)上使用舊版本的 Samba 客戶端(版本 3)進行的研究.
誰能指導我如何重新編譯最新版本的 Samba for Windows?我自己使用 Cygwin 嘗試過,但我無法讓它成功,並且嘗試編譯客戶端部分同樣沒有奏效。
經過大量試驗和錯誤後,我能夠使用 Cygwin 編譯足夠多的 Samba 來編譯 smbclient.exe 文件。需要的步驟:
在虛擬機上安裝了 32 位 Windows XP SP3(我使用了 VirtualBox)
安裝了帶有 Devel 文件的 CygWin 32 位
提取 Samba 3.6.25
導航到 Source3 子目錄
執行:
./configure –prefix=/usr/local/samba
make pch
make
make 在編譯 net.exe 時失敗,但在它成功編譯 smbclient.exe 之後這樣做了,所以我現在擁有版本為 3.6.25 的客戶端,它在 2012 R2 伺服器上工作。
-艾倫