
我目前在我的 Ubuntu 機器、Debian 機器和 Raspberry Pi 之間使用 Samba。由於有報告指出 Samba 對 Pi 堆疊交換上的 CPU 造成嚴重影響,我想知道我可以使用什麼替代文件共享軟體,並且與我的其他機器相容?如果可能的話,請告訴我什麼是最好的以及為什麼。
答案1
網路檔案系統專為在 Linux 機器之間共享檔案而設計,對 CPU 更友善,但據我所知,它只是不支援 Windows。
以下資訊摘自這裡
安裝
在終端機提示字元下輸入以下命令來安裝 NFS 伺服器:
sudo apt-get install nfs-kernel-server
配置
您可以透過將目錄新增至 /etc/exports 檔案來配置要匯出的目錄。例如:
/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
您可以將 * 替換為主機名稱格式之一。使主機名稱聲明盡可能具體,以便不需要的系統無法存取 NFS 掛載。
若要啟動 NFS 伺服器,您可以在終端機提示字元下執行以下命令:
sudo service nfs-kernel-server start
NFS 用戶端配置
使用 mount 指令從另一台電腦掛載共用 NFS 目錄,方法是在終端機提示字元下鍵入類似下列內容的命令列:
sudo mount example.hostname.com:/ubuntu /local/ubuntu
掛載點目錄 /local/ubuntu 必須存在。 /local/ubuntu 目錄中不應有任何檔案或子目錄。
從另一台電腦掛載 NFS 共享的另一種方法是在 /etc/fstab 檔案中新增一行。該行必須說明 NFS 伺服器的主機名稱、要匯出的伺服器上的目錄以及要安裝 NFS 共用的本機上的目錄。
文件中行的一般語法/etc/fstab
如下:
example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr
如果您在掛載 NFS 共用時遇到問題,請確保您的用戶端上安裝了 nfs-common 軟體套件。若要安裝 nfs-common,請在終端機提示字元處輸入下列命令:
sudo apt-get install nfs-common
答案2
您可以使用 Filezilla,它非常好,它的 UI 非常直覺且易於導航。從命令列您可以使用scp
命令來傳輸檔案。rsync
適合在兩台機器之間同步檔案。
答案3
NFS 正是您所尋找的。
來源 NFS(維基百科) 網路檔案系統(NFS)是一種分散式檔案系統協議,最初由Sun Microsystems於1984年開發,1允許客戶端電腦上的使用者透過網路存取文件,就像存取本機儲存一樣。 NFS 與許多其他協定一樣,建構在開放網路運算遠端過程呼叫 (ONC RPC) 系統之上。網路檔案系統是 RFC 中定義的開放標準,允許任何人實施該協定。
若要安裝 NFS,請執行:
sudo apt-get install nfs-kernel-server
然後您可以新增您的網路共享,/etc/exports
例如:
/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
然後重新啟動伺服器以新增新的網路共用:
sudo service nfs-kernel-server start
透過 NFS 伺服器設置,您可以使用以下命令連接到客戶端電腦上的共用:
sudo mount example.hostname.com:/ubuntu /mnt/ubuntu
是example.hostname.com:/ubuntu
伺服器的位址和檔案路徑,也是/mnt/ubuntu
客戶端電腦上的安裝點。
此外,您可以將 NFS 新增到您的系統中,/etc/fstab
以便在啟動期間掛載檔案系統。為此,請運行sudo nano /etc/fstab
並將以下內容新增至文件:
example.hostname.com:/ubuntu /mnt/ubuntu nfs rsize=8192, wsize=8192, timeo=14, intr
與 Samba 相比,這種方法的優點是 NFS 是 Unix 原生的,可以將共用無縫添加到檔案系統上的路徑中。
來源:網路檔案系統 (NFS)