Bash / apt - 安装前检查软件包版本

时间:2011-08-10 17:00:07

标签: bash apt

命令“dpkg”具有选项“-E”或“--skip-same-version”,以便在已安装相同版本的情况下不安装软件包。

据我所知,“apt-get”没有任何相似之处。

所以我想出了这个:

Installed=`sudo apt-cache policy openjdk-6-jre | sed -n '2p' | cut -c 14-` #6b20-1.9.9-0ubuntu1~10.04.2
Candidate=`sudo apt-cache policy openjdk-6-jre | sed -n '3p' | cut -c 14-` #6b20-1.9.9-0ubuntu1~10.04.2

if [ "$Installed" -ne "$Candidate" ]; then 
    apt-get -fy install openjdk-6-jre
elif [ "$Installed" -eq "$Candidate" ]; then 
    echo 'Candidate version already installed.'
fi

我的问题:还有其他更简单的方法吗?我试图在bash脚本中使用这些信息,以便一切都自动发生......

感谢。

0 个答案:

没有答案