更改 Landscape 使用的 tmp 目录吗?

更改 Landscape 使用的 tmp 目录吗?

如果我理解正确的话,Landscape 会在运行所有脚本之前将其上传为文件,并将它们存储在 /tmp 下。如果您使用 noexec 配置 tmp 分区,这当然会是个问题,并会给我留下类似这样的错误:

     File "/usr/lib/python3.10/os.py", line 598, in _execvpe
     exec_func(file, *argrest)
          PermissionError: [Errno 13] Permission denied: '/tmp/tmpnn0rb1qz'

那么,是否可以更改 Landscape 用来存储脚本的位置?我在 Landscape-config 中找不到这样的选项,在配置文件中也没有找到任何内容。

我真的不想用 exec 配置 tmp......

答案1

这实际上不受 Landscape 支持,因此我们必须修补该文件:

  1. /usr/lib/python3/dist-packages/landscape/client/manager/scriptexecution.py在文本编辑器中打开
  2. fd, filename = tempfile.mkstemp()用以下行替换fd, filename = tempfile.mkstemp(dir="/path/to/where/you/want/to/store/the/scripts")
  3. 重启
  4. 每次升级landscape-client软件包时重新应用这些更改

相关内容