Você pode fazer isso primeiro descobrindo qual versão é a versão mais recente que também é maior ou igual à versão mínima desejada. Em seguida, você faz o download exatamente dessa versão usando apt-get download
. Aqui está um script que faz isso (é um pouco feio, mas você tem a idéia):
#!/bin/bash
if [ $# -lt 2 ]; then
echo "Usage: $0 <packagename> <minimum version>"
exit 1
fi
pkgname="$1"
minversion="$2"
V="0"
for version in 'apt-cache madison $pkgname | awk -F'|' '{print $2}''; do
echo "Considering $version"
if dpkg --compare-versions $version ge $minversion; then
echo "- Version is at least $minversion"
if dpkg --compare-versions $version gt $V; then
echo "- This is the newest version so far"
V=$version
else
echo "- We already have a newer version"
fi
else
echo "- This is older than $minversion"
fi
done
if [ "$V" = "0" ]; then
echo "There is no version greater than or equal to $minversion"
exit 1
fi
echo "Selected version: $V"
echo "Downloading"
apt-get download $pkgname=$V
echo "Done"
Você teria que adicionar a verificação de erros caso o pacote não existisse, etc., mas isso contém a solução principal. Além disso, eu assumi aqui que você quer o mais novo pacote disponível que é pelo menos uma certa versão. Se preferir o pacote disponível mais antigo que é pelo menos uma determinada versão, você precisa ajustar o script para interromper a pesquisa quando encontrar algo que seja pelo menos a versão desejada.