Być może dlatego, że w tytule nie ma wzmianki o Pythonie (mimo że znaczniki to robią), Google sprowadził mnie tutaj, zadając to samo pytanie, ale mając nadzieję na odpowiedź bash. To wydaje się być:
$ dpkg --compare-versions 11a lt 100a && echo true
true
$ dpkg --compare-versions 11a gt 100a && echo true
$
Aby zainstalować wersję RubyGems to przynajmniej jako nowy jak wersja z lenny-backports w sposób, który nie daje żadnych błędów na lenny i wycisnąć Instalacje:
sudo apt-get install rubygems &&
VERSION=`dpkg-query --show --showformat '${Version}' rubygems` &&
dpkg --compare-versions $VERSION lt 1.3.4-1~bpo50+1 &&
sudo apt-get install -t lenny-backports rubygems
Być może powinienem był zapytać, jak to zrobić w osobnym pytaniu, w nadziei uzyskania mniej przylegającej odpowiedzi.
Zgaduję, że twój pakujący zainstalował go w innym miejscu. Znalazłem go [tutaj] (http://apt.alioth.debian.org/python-apt-doc/library/apt_pkg.html#apt_pkg.version_compare). I to jest to samo w tym samym miejscu, co ja też. Myślę też, że masz starą wersję Pythona-apt, ponieważ odsuwają się od CamelCase, i myślę, że właśnie dlatego nie jest to udokumentowane. – Tshepang
@ Tshepang: Rzeczywiście, mój python-apt jest dość stary. Dzięki za aktualizację – unutbu
W rzeczywistości Twój kod działa poprawnie. Deweloperzy byli na tyle ostrożni, aby zachować go jako swego rodzaju alias dla nowszych nazw metod. – Tshepang