我已在 /mnt/storage 中安装了一个文件系统,但如何使其可供所有用户访问,而不仅仅是 root 用户?
我使用的是 Kubuntu 11.10 客户端和 FreeBSD 9.0 服务器。
服务器在 /etc/rc.conf 中有以下几行
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"
Run Code Online (Sandbox Code Playgroud)
以及 /etc/exports 中的以下内容
V4: /
/
Run Code Online (Sandbox Code Playgroud)
除了默认系统之外,我没有使用任何类型的安全性来保持此配置尽可能简单。
从客户端,这两个命令都成功挂载导出的 NFS 共享:
$ sudo mount -t nfs test.home:/ /mnt
$ sudo mount -t nfs4 test.home:/ /mnt
Run Code Online (Sandbox Code Playgroud)
我可以在服务器端做什么来禁用 NFSv3 及以下版本,以使以下内容不起作用?
$ sudo mount -t nfs test.home:/ /mnt
Run Code Online (Sandbox Code Playgroud) 作为自动 VM 创建系统的一部分,块设备安装到临时文件夹 (/tmp/whatever)。各种脚本在首次运行之前安装和配置 VM。
最近发生了一些变化,临时挂载很忙,拒绝卸载。在尝试确定可能仍然保持文件打开的内容时,我已检查:
以 root 身份运行测试
上述测试都没有指向文件系统使用的结果,但是 umount -f 仍然抱怨“设备或资源繁忙”/“设备繁忙”。
我应该尝试哪些其他测试,以便我可以找到真正的根本原因,从而希望在不重新启动的系统上修复卡住的安装,我目前无法重新启动一段时间以及防止这种情况再次发生?
这也是 /doubtful/(但我不知道如何检查)来自临时挂载的内核模块被加载,因为临时挂载安装的 Linux 版本与主机正在运行的版本不同。
编辑
我有一个硬编码的命令/tmp用作其工作目录。
/tmp 比较小,命令肯定会把它填满,这会给其他系统进程带来问题。
我无法修改命令,所以我想重新挂载/tmp到其他地方,只对当前用户/shell 可见,而不影响其他用户/进程。
这可能吗?
更新:发现该命令使用了TMPDIR我可以覆盖的变量,但仍然想知道是否有我可以使用的 Linux 用户空间命令。
我只找到了有关如何同时运行容器和安装卷的说明:
$ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py
Run Code Online (Sandbox Code Playgroud)
取自用户指南。
但是我不知道容器运行后要运行的命令。
我正在尝试循环挂载由 VMware fusion 生成的 VMDK 平面映像。VMDK 文件具有 -flat 扩展名。我正在尝试使用 kpartx
kpartx -av /path/to /my/vmdk
Run Code Online (Sandbox Code Playgroud)
但我明白了
llseek error
device-mapper: resume ioctl on loop0p1 failed: invalid argument
create/reload failed on loop0p1
add map loop0p1 (0:0): 0 18872320 linear /dev/loop0 2048
Run Code Online (Sandbox Code Playgroud)
我还尝试将 vmdk 转换为原始数据,但遇到了同样的错误
知道出了什么问题吗?
我正在尝试在已安装的驱动器上保留预读规则以与 mongodb 一起使用。
挂载被持久使用/etc/fstab并且按预期工作。
我添加了一个udev规则ACTION=="add", KERNEL=="sdb", ATTR{bdi/read_ahead_kb}="16"中/etc/udev/rules.d/85-mongod.rules,并确认它与udevadm test --action=add /sys/block/sdb。
重新启动时,磁盘已安装,但预读设置为默认值,而不是 udev 规则设置的值。
我centOS 7.1在谷歌云上运行并安装了一个永久性磁盘。
这是竞争条件还是其他时间问题?有什么解决方法吗?我不愿意使用,/etc/rc.local因为我不确定在执行时是否总是挂载磁盘,但不确定这是否真的是一个问题。
谢谢你的帮助!
我确定我脑放屁的原因是因为太晚了,但是我如何对根分区执行 btrfs 检查?
需要卸载设备,这不可能发生,因为它是根分区...
谢谢
我一直在尝试在 OS Sierra 上实现 smb 驱动器自动挂载,但我无法正确完成。
我攻击了 /etc/fstab,它似乎在这个操作系统上工作,以至于我无法强制它更改所有权或 chmod,以便除 root 之外的其他用户可以访问它。
我似乎自动挂载忽略了我为挂载设置 uid 或 gid 的所有尝试,并且始终以 root:wheel 挂载。
我经历了几个处理这个问题的线程,但在任何地方都找不到解决方案,所以我尝试将 Automator 与 Applescript 一起使用,在那里我使用了一个命令来为我安装驱动器的 Finder 应用程序,但它总是要求提供凭据,所以它对我也没用。
任何人都可以提供在 OSx 上安装 smb 驱动器的工作解决方案,除 root 之外的其他用户可以访问该驱动器并在无头模式下工作(因此它不需要任何用户登录?)
谢谢
我正在构建一个有点简约的系统,该系统收集串行端口数据并将其推送到 NFS 挂载上的日志文件中。
为了稍微减少系统,我决定禁用 RPC,因为我看不到它的用途,这导致了以下警告:
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
Run Code Online (Sandbox Code Playgroud)
毫不奇怪,RPC 涉及到 NFS,真的,所以我的下一步是删除警告。我可以选择重新启用 RPC,或者-o nolock按照建议使用。
那么问题来了,远程锁定究竟有什么作用呢?在这种特殊情况下,NFS 挂载仅由相关机器写入,并且不存在冲突的可能性,例如多个进程写入同一文件。(虽然,有几个进程写入每个自己的日志文件)
运行 debian buster,内核 4.19
编辑:我试过-o nolock,事情似乎工作正常,所以乍一看,没有不利影响。