我使用zsh
它的选项卡完成。当我不小心在(缓慢的)NFS 目录中点击选项卡时,zsh
花费的时间太长了。更糟糕的是,如果 NFS 关闭,而我点击了/mnt/[tab]
,我的整个 shell 就会锁定。
如何zsh
在这些目录中禁用选项卡完成?
我已成功将 NFS 共享从远程计算机安装到本地计算机。但是,我要在远程计算机上编辑的文件均属于root
.
如何挂载 NFS 驱动器以便本地用户可以编辑这些文件?
我尝试了该idmap.conf
文件,但我不太清楚是否应该在本地或远程计算机上编辑该文件,以及应该重新启动哪些服务(同样,本地或远程)以产生任何影响。
从过去,我记得uid=X,gid=X
执行类似操作的选项,但现在我在这些选项上收到此错误:
mount.nfs: an incorrect mount option was specified
Run Code Online (Sandbox Code Playgroud)
我使用 Fedora 34 作为本地版本,使用 CentOS 7.6 远程版本。
有没有办法直接在内部/etc/exports
(不使用符号链接)为 NFS 导出的目录定义别名?
例如我想访问这个导出
/home/username/nfsdir 192.168.0.100(rw,sync,no_root_squash)
Run Code Online (Sandbox Code Playgroud)
作为“主机名:/myalias”而不是“主机名:/home/用户名/nfsdir”。
我在这里在我们的系统上设置用户主目录时遇到了一些问题。
我们的服务器是 XServe,使用 Open Directory 来管理用户帐户。
我们的大多数工作站都是 OS X,但也有少数运行 Linux(Centos 5.3),并且随着时间的推移,我们预计 Linux 工作站的比例会增加(在某个时候,我们希望将服务器端转移到也适用于 Linux,但现在我们正在运行我们已经拥有的东西)
为了确保 Linux 和 OS X 工作站都能在同一位置看到用户的主目录,我使用 NFS 共享了主目录。
在服务器端,主目录存储在:
/Volumes/data/company_users
Run Code Online (Sandbox Code Playgroud)
它安装在工作站上以:
/mount/company_users
Run Code Online (Sandbox Code Playgroud)
这在 Linux 工作站上工作正常,但在 OS X 下有一些奇怪的地方。
对于通过 GUI 登录的用户,一切正常。但是,如果用户尝试通过 SSH 连接到他们不是主要用户的机器,他们通常无法访问自己的主目录。
当您通过 GUI 登录时,似乎 OS X 正在尝试对用户主目录安装点执行其他操作....
例如,在这台机器 (nv001) 上,我 (hugh) 登录到 GUI。
Last login: Mon Mar 8 18:17:52 on ttys011
[nv001:~] hugh% ls -al /mount/company_users
total 40
drwxrwxrwx 26 hugh wheel 840 27 Jan 19:09 .
drwxr-xr-x 6 admin admin 204 19 Dec …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在运行 Debian 5.0.9 (Lenny) 的 VM 上使用 apt-get install 安装一堆软件包。使这项努力令人沮丧和困难的是,我在这台机器上的主目录实际上是一个挂载的 NFS 共享。我的本地用户在 VM 的 sudoers 文件中,我可以开始安装所有软件包,但最终每次安装都失败,因为:
无法打开配置文件“/path/to/home/.dpkg.cfg”进行阅读:权限被拒绝。
我假设使用 sudo 运行 apt-get 使我充当 VM 的本地根目录,它对挂载我的主目录的 NFS 共享没有任何权限。因此,无法完成安装。
我已经尝试 sudo -s 解决这个问题,但我是:
抱歉,不允许用户 $user 在 $machine 上以 root 身份执行“/bin/bash”
我想知道是否有人可以提出任何替代方法来解决这个问题。
谢谢
我是一名 Web 开发人员,我正在尝试在 OSX Lion(设计 + 开发)、Parallels + Ubuntu 预生产服务器之间建立工作流程。
我正在尝试创建一个连接以快速共享文件(图像、js、css 等...),但我无法创建 NFS 连接。
注意:您可以在 Parallels 中共享文件夹,但由于以后 GIT 和 SVN 出现问题(不遵循符号链接),我需要找到替代方法。
好的,那说:
我必须机器:
VM Ubuntu 服务器:10.211.55.5 客户端:192.168.1.3
Ubuntu 服务器配置:
/etc/hosts.allow
ALL:192.168.1.3/255.255.255.0
Run Code Online (Sandbox Code Playgroud)
(不太确定面具是如何工作的)
/etc/export
/path/to/folder 192.168.1.3(rw,sync,no_root_squash)
Run Code Online (Sandbox Code Playgroud)
我执行了:
sudo exportfs -ra
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/nfs-common <- This is command not found althought I installed it using aptitude
Run Code Online (Sandbox Code Playgroud)
最后,这是我在 Lion 上执行的操作:sudo mount -t nfs -o resvport,vers=4 10.211.55.5:/nfs /home 并回答“mount_nfs: can't mount /nfs from 10.211.55.5 to /home: Permission拒绝”
我也尝试过通过 Finder(Command-K …
我在家里有一个 NFS 服务器(和一个只能在外面工作的 openvpn 连接)。
我的手机 (Jolla) 基本上是 Linux,并且具有移动数据/wifi/usb 网络功能。
基本上,我想将 NFS 从手机挂载到我的服务器,以便我可以看到存储在 NFS 服务器上的电影/音乐。
理想情况下,如果我没有网络,它会停止,但是当我恢复连接时继续播放会很好。(例如,希望播放器有一些缓冲可以消除从 wifi 切换到 openvn 的超时)。
这里的重要部分是可靠性/稳定性,我不太关心性能。
NFS 服务器位于网络 10.73.98.0/24 中。openvpn 网络(10.73.99.0/24)可以直接路由到它,openvpn 连接在局域网内被拒绝,所以它不会冲突。
考虑以下网络连接选项:
afaik NFS over UDP 不会担心路由,但需要相同的 IP 地址(可能?)才能让挂载在网络中存活......
现在,我还查看了 fscache,希望它能在块级缓存并存储块(可能需要从 NFS 文件中预读一些内容?)。但看起来它存储在文件级别。
例如,当前的测试无法在离开 wifi 范围并重新进入时幸存下来。即使等了一段时间……
我应该尝试的最佳安装选项是什么?我也应该看看某种形式的自动挂载吗?什么不及物动词或软/硬或TCP / UDP ..我应该隧道它总是在OpenVPN的可靠性?openvpn 设置怎么样?等等...
网络文件访问 | 控制台程序| 安装选项 -------------------------------------------------- ---------- HTTP | wget / 卷曲 | httpfs FTP | ftp / wget | FTP / wget | 中小型企业curftpfs | 中小企业客户| 内核或smbnetfs 网络DAV | 尸体| davfs2、fusav SSH | ssh / scp | sshfs 网络文件系统 | ? | 内核内
如何只下载文件或在 NFS 上创建目录而不进行永久设置?
我看到有libnfs
(它也有一些 utils),但是有基于它的成熟工具吗?
在使用 VirtualBox 4.3.26 和 vagrant 1.7.2 的 OSX 10.10.3 上,当在 Ubuntu 14.04 LTS 来宾中使用 NFS 作为共享文件夹时,PHP 应用程序在来宾中尝试在共享文件夹上使用 LOCK_EX 只是永久锁定(或:太长可用)。
此设置曾经可以工作数月。大约两天前,在主机启动后,Vagrant 机器无法使用,从那时起,该 VM 的新版本就出现了这个问题(也许最初的问题已经与此有关)。
最近几天没有安装新软件。OSX 升级大约在上周进行,但那台机器上的一切都继续工作。
经过长时间的搜索,我们发现罪魁祸首是 NFS 共享文件夹。我们使用这条线已经很长时间了:
config.vm.synced_folder ".", "/vagrant", type: nfs
Run Code Online (Sandbox Code Playgroud)
一个strace
客人看起来像这里面:
[pid 26767] open("/vagrant/some/file", O_RDWR|O_CREAT, 0666) = 5
[pid 26767] fstat(5, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
[pid 26767] lseek(5, 0, SEEK_CUR) = 0
[pid 26767] chmod("/vagrant/some/file", 0777) = 0
[pid 26767] flock(5, LOCK_EX
Run Code Online (Sandbox Code Playgroud)
它挂在这一点上。我什至可以自己复制它:
<?php
$f = fopen('lock.test', 'w');
echo "Trying to get lock on …
Run Code Online (Sandbox Code Playgroud) 我正在创建 NFS 共享。我已经配置了 NFS 服务器和 NFS 客户端。
直到昨天我的分享都工作得很好,现在我发现它不起作用了。
我重新设置了NFS配置的所有步骤,还是不行。
我的问题是,当我尝试使用cat /mnt/nfs1.txt
(直到昨天为止都工作得很好)访问我的挂载文件夹时,屏幕上没有显示任何内容。而且看起来像是被吊起来或者倒塌了。
root@ela-native:~# cat /mnt/nfs1.txt
之后屏幕上什么也没有出现,我也必须关闭终端才能退出。
我究竟做错了什么?
编辑1
以下是我的 nfs 配置步骤:
NFS 服务器:
sudo apt-get install nfs-kernel-server
sudo mkdir /var/nfs/general
sudo nano /etc/exports
/var/nfs/general *(rw,sync,no_root_squash,no_subtree_check)
sudo exportfs -a
sudo service nfs-kernel-server start
Run Code Online (Sandbox Code Playgroud)
NFS 客户端:
sudo apt-get install nfs-common
sudo mount 172.21.215.101:/var/nfs/general /mnt
Run Code Online (Sandbox Code Playgroud)
而且如果我跑步mount -t nfs
,我会得到这个:
root@ela-native:/home/salini# mount -t nfs
172.21.215.101:/var/nfs/general on /mnt type nfs (rw,vers=4,addr=172.21.215.101,clientaddr=192.168.164.78)
Run Code Online (Sandbox Code Playgroud)
我也尝试过showmount -e 172.21.215.101
我得到了
clnt_create: RPC: Port mapper failure - Timed …
nfs ×10
linux ×4
ubuntu ×3
macos ×2
mount ×2
apt-get ×1
console ×1
debian-lenny ×1
networking ×1
openvpn ×1
osx-lion ×1
permissions ×1
vagrant ×1
virtualbox ×1
zsh ×1