我目前在 Ubuntu 机器、Debian 机器和 Raspberry Pi 之间使用 Samba。由于有报告称 Samba 会导致 Pi 堆栈交换中的 CPU 激增,我想知道我可以使用哪些替代文件共享软件,这些软件也可以与我的其他机器兼容?如果可能的话,请告诉我什么可能是最好的,以及原因。
答案1
NFS是为在 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,它非常好用,它的用户界面非常直观且易于导航。您可以从命令行使用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)