我对使用Python进行deb包流控制脚本(preinst,postinst等)时可能存在的陷阱感兴趣(除了Python没有安装在目标系统中)。用Python实现这些脚本是否切实可行,而不是sh?
据我所知,这至少是可能的。
答案 0 :(得分:6)
这种不常见的唯一原因是afaik,它不是常规,而且对于维护者脚本所做的各种事情,Python通常不比普通的shell脚本更有用或更直接。当它更有用时,您通常可以将需要Python的功能分解为维护者脚本调用的单独Python脚本。
在这种情况下可以帮助遵循惯例,因为有很多有用的工具和脚本(例如,Lintian,Debhelper),它们通常假设维护者脚本使用bash。如果他们不这样做,那没关系,但这些工具可能没有其他方面那么有用。我认为您需要注意的唯一其他问题是,如果您的preinst
或postrm
脚本需要Python,那么Python需要是您的包的预依赖项(Pre-Depends
)而不仅仅是Depends
。
尽管如此,我发现之前在维护者脚本中使用Python很有用。