Linux 错误创建临时文件 /var/tmp/

Linux 错误创建临时文件 /var/tmp/

我正在使用 centos 6 - 最近我收到这个错误,我想在服务器上安装任何东西,例如使用 varnish - var/tmp 是空的并且具有 root:root 作为所有者,我已经检查了 var/tmp 目录的 777 权限,但仍然是同样的错误 -

还使用以下命令检查它是否与 systemd 相关 - 但结果显示其他

pidof systemd && echo "systemd" || echo "other"

错误如下

Total download size: 2.2 M
Installed size: 8.1 M
Is this ok [y/N]: y
Downloading Packages:
varnish-5.2.1-1.el6.x86_64.rpm                                               
| 2.2 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
error: error creating temporary file /var/tmp/rpm-tmp.cNUXgY: No such file or directory
error: Couldn't create temporary file for %pre(varnish-5.2.1-1.el6.x86_64): No such file or directory
Error in PREIN scriptlet in rpm package varnish-5.2.1-1.el6.x86_64
error:   install: %pre scriptlet failed (2), skipping varnish-5.2.1-1.el6
  Verifying  : varnish-5.2.1-1.el6.x86_64                                                       
1/1

Failed:
  varnish.x86_64 0:5.2.1-1.el6

答案1

/var/tmp 的正确权限应为“1777”。只有“777”不会设置粘性位,这可能是问题的一部分。

您能否检查“mktemp -d --tmpdir=/var/tmp rpm-tmp.XXXXXX”是否有效?这是为了测试创建临时目录是否有效。其次,您可以尝试暂时禁用 SELinux。也许 RPM 正在内部更改某些上下文,因此不允许创建目录。

如果这没有帮助,我们将需要更多信息:

  • 您如何安装该软件包?
  • 它对其他包也有效吗?
  • 系统设置
  • 最近的变化,在这些变化之前它能正常工作吗?

相关内容