使用 dpkg -i 而不更新已安装的软件包

使用 dpkg -i 而不更新已安装的软件包

我如何使用 dkpg -i 并且它不会更新软件包(如果已安装)。

答案1

给定任意包文件作为参数,仅当相应的包尚未安装(任何版本)时,此脚本才会安装它:

#!/bin/sh

if ! dpkg -l "$(dpkg-deb -W --showformat '${Package}:${Architecture}' "$1")" | grep -q '^ii'; then
    dpkg -i "$1"
fi

它的工作原理是从包文件中提取包名称和体系结构,并检查是否已安装匹配的包。如果没有,则会安装它。

相关内容