Команда "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, чтобы все происходило автоматически ...
Спасибо.