我正在使用 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 正在内部更改某些上下文,因此不允许创建目录。
如果这没有帮助,我们将需要更多信息:
- 您如何安装该软件包?
- 它对其他包也有效吗?
- 系统设置
- 最近的变化,在这些变化之前它能正常工作吗?