RPM命令反复询问密码

时间:2015-03-04 17:16:56

标签: expect rpm

我正在使用以下命令

签署一大套RPM软件包(50000)
find $1 -name \*.rpm |xargs rpm --resign

作为RPM命令结构的一部分,它要求输入密码。我正在使用expect脚本来提供密码,就像这样。

expect -c "
spawn $1
expect \"Enter pass phrase: \"
send $2\r
interact

这对前1400个奇数文件非常有效。之后我再次提示输入密码。这次我必须手动提供它。就像那样,每1400个奇数文件就会发生这种情况。

我需要帮助才能理解

  1. 如果从RPM中抛出此密码,如果是,为什么? RPM是否仅在规定的时间段内将密码存储在缓存中?
  2. 假设是这样,我已经手动复制了'期待'代码在我的第二个文件中多次提供密码以提供密码,但仍然无法正常工作
  3. '互动'打犯规?
  4. 非常感谢您的帮助。感谢

1 个答案:

答案 0 :(得分:3)

我认为问题位于xargsxargs会尝试为命令提供尽可能多的参数,直到整个命令行超出限制。因此,当您有许多文件时,xargs可能需要多次调用rpmGNU xargs' --show-limits可以" 显示操作系统强加的命令行长度限制"。例如,在我的系统上:

  

#xargs --show-limits<的/ dev / null的
     您的环境变量占用1689字节
     参数长度的POSIX上限和下限:2048,2094592
     我们实际可以使用的最大命令长度:2092903
     我们实际使用的命令缓冲区大小:132761
     #

相关问题