Files

通過本地地址使文件可用

  • February 12, 2017

我有兩台電腦連接到同一個路由器(因此它們基本上連接在 LAN 中)。兩者都執行一些 GNU+Linux 發行版。我有一堆文件,位於~/A/我的第一台電腦上的一個目錄中,我想將它們傳輸到我的第二台電腦。

中的文件名A包含在某個列表中,例如names_list. 現在我希望這些文件中的每一個都可以通過本地地址訪問,並參考路由器(例如192.168.2.1:2112/name_of_file或類似的東西)提供,以便第二台電腦可以簡單地在給定names_list.

我怎樣才能做到這一點?下載部分很簡單,我主要詢問設置主機以在特定本地地址提供文件。

存在大量遠端文件系統。最有可能對您有用的三個。

  • SSHFS通過 SSH shell 連接(或更準確地說,通過 SFTP)訪問文件。你不需要設置任何特殊的東西:只需在一台機器上安裝 OpenSSH 伺服器,在另一台機器上安裝客戶端,然後設置從客戶端登錄到伺服器的方式(使用密碼或使用鑰匙)。然後在第一台電腦上掛載遠端目錄:
mkdir ~/second-computer-A
sshfs 192.168.2.1:A ~/second-computer-A

只要您可以通過第二台電腦上的使用者帳戶訪問所有文件,SSHFS 是最容易設置的。

  • NFS是 Unix 的傳統網路文件系統協議。您需要在伺服器上安裝 NFS 伺服器。Linux 提供了兩種,一種內置在核心中(但您仍然需要使用者態軟體來管理底層 RPC 協議和附加的鎖定協議),另一種作為純使用者態軟體。選擇其中一個;核心一個稍微快一點,而且設置起來也稍微容易一些。在伺服器上,您需要通過添加一個條目來導出要遠端訪問的目錄/etc/exports
/home/zakoda/A 192.168.2.2(rw,sync)

在第二台電腦上,以 root 身份:

mkdir /media/second-computer-A
mount -t nfs 192.168.2.1:/home/zakoda/A /media/second-computer-A

預設情況下,NFS 使用數字使用者和組 ID,而不是使用者和組名。因此,只有在伺服器和客戶端具有相同的使用者 ID 時,這才有效。如果沒有,請nfsidmap在伺服器上設置。

  • Samba是 Windows 的網路文件系統協議(確切地說,它是該協議的開源實現,以前稱為 SMB,現在稱為 CIFS)。它也可以在 Linux 和其他類 Unix 系統上使用。它主要用於將 Windows 機器上的文件掛載到 Unix 機器上,反之亦然,但它也可以在 Unix 機器之間使用。它的優點是匹配帳戶比 NFS 更容易設置。初始設置有點困難,但有很多教程,例如serverclient

引用自:https://unix.stackexchange.com/questions/344440