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 正在內部更改某些上下文,因此不允許建立目錄。

如果這沒有幫助,我們將需要更多資訊:

  • 你如何安裝這個套件?
  • 它適用於其他軟體包嗎?
  • 系統設定
  • 最近的變化,在這些變化之前它有效嗎?

相關內容