对于apt
命令,它有satisfy
选项。
根据apt --help
,这表明
satisfy - satisfy dependency strings
并根据man apt
,这表明
satisfy (apt-get(8))
satisfy satisfies dependency strings, as used in Build-Depends.
It also handles conflicts, by prefixing an argument with "Conflicts: ".
Example: apt satisfy "foo, bar (>= 1.0)" "Conflicts: baz, fuzz"
我在网上找不到使用此选项的教程,上面显示的“示例”不清楚,我的意思是,它试图解决什么问题?该示例正在解决什么问题?非常感谢您的指导
答案1
apt-get install
与仅允许指定具体的包版本相比,它apt-get satisfy
允许您请求不太具体的要求。
例如,您引用的示例要求bar
任何大于或等于“1.0”版本的软件包。它将消除和包baz
(fuzz
如果已安装)。
apt-get install
该命令的最终结果是和的组合apt-get remove
,解决了需求。
这对于需要在不同环境中运行的脚本非常有用,并且可以避免对包版本进行硬编码,同时仍然保持对满足兼容基线的信心。