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 は内部でいくつかのコンテキストを変更しているため、ディレクトリの作成が許可されていません。
それでも解決しない場合は、さらに情報が必要です:
- パッケージはどのようにインストールしますか?
- 他のパッケージでも機能しますか?
- システム設定
- 最近の変更ですが、変更前は機能していましたか?