情况是这个应用程序需要更多的空间/tmp.目前我的tmp文件夹位于root的分区中.tmp为了利用更大的空间,临时创建一个符号链接到另一个分区是否安全?
Inn*_*der 10
您可以:而不是重命名和/或符号链接:
mount --bind /path/to/dir/with/plenty/of/space /tmp
Run Code Online (Sandbox Code Playgroud)
而umount /tmp当你完成.
如果您在关键任务服务器上,则可以lsof /tmp在执行上述操作之前检查是否有任何程序正在使用/ tmp .
注意:以root身份运行所有命令.
这取决于...
您最好的选择是TMPDIR在启动应用程序之前将环境变量设置为指向此位置。您的应用程序可能会考虑此变量(但您需要进行测试)。此外,应用程序本身可能具有一些设置或某些其他变量来设置临时位置(请参阅手册)。
至于进行符号链接,正在运行的具有打开文件的应用程序/tmp应该不会感觉到此更改(i节点号不会更改;即使删除/tmp,打开的文件也会在当前打开它们的所有进程关闭后被释放。)
如果另一个应用程序希望在其中找到某些内容/tmp(/tmp/.X11-unix例如将尝试打开),则可能会出现问题。这样的应用程序会出错。您可以尝试通过在创建符号链接之前进行从新tmp到原始tmp中文件的符号链接(重命名后 符号链接必须正确/tmp)来克服此问题。它可能不适用于对安全性要求较高或存在漏洞的应用程序。
仍然有一些机会可以解决(重命名和符号链接不是原子操作,因此某些应用程序/tmp在删除后仍然可以访问,但是符号链接尚未创建)。
因此,这取决于您在此计算机上运行的内容。
如果您可以重新引导计算机并可以访问其控制台(物理访问,LOM,虚拟机转换或类似操作),则可以使操作系统进入“单用户”模式(telinit 1),进行符号链接并重新引导。或者,您可以编辑/etc/fstab做mount --bind。
如果您具有Redhat / CentOS或派生发行版,则启用SElinux可能会出现问题。