我有一个硬编码的命令使用/tmp
作为其工作目录。
/tmp
是相当小的,并且该命令肯定会填满,这会对其他系统进程造成问题。
我不能修改这个命令,所以我想重新挂载/tmp
到别的地方,只对当前用户/ shell可见,而不影响其他用户/进程。
这可能吗?
更新:发现该命令使用TMPDIR
variables,我可以重写,但仍然有兴趣知道是否有一个Linux用户空间命令我可以使用。
unshare命令可以做你所要求的几乎:
unshare -m "$SHELL"
之后,你可以改变任何你喜欢的地方到只有壳。
我build议你在非共享shell中运行的任何mount命令都使用-n
标志,否则它会改变整个系统可见的/etc/mtab
。 您可能希望在该shell之外运行df
和mount
命令,以便仍然显示安装在/tmp
上的正确文件系统。