今天发现,制作的某个rpm包在执行 rpm -i –nodeps 时会出现以下的警告信息:

warning: cannot get shared lock on /var/lib/rpm/Packages

但如果不加--nodeps参数,就不会出现这个信息。

网上查了半天没找到相关资料,最后用排除法发现,SPEC文件的%post中有一行 rpm -qa,就是这行命令导致了该警告的发生。 原因尚且不明,估计是在安装过程中,rpm正在执行,此时在%post中再次启动rpm,当然会发生共享锁的错误。