おそらくタイトルにはPython(タグはありますが)は言及されていないので、同じ質問をしてもbashの回答を望むときにGoogleが私をここに連れてきました。それはのようだ:
$ dpkg --compare-versions 11a lt 100a && echo true
true
$ dpkg --compare-versions 11a gt 100a && echo true
$
少なくともレニーとスクイズインストールでエラーを与えない方法で、レニー-backportsのからのバージョンと新しいようだRubyGemsのバージョンをインストールするには:
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
おそらく、私は別の質問でこれを行う方法を尋ねたはずです。
あなたのパッケージャはそれを別の場所にインストールしたと思います。私は[ここ](http://apt.alioth.debian.org/python-apt-doc/library/apt_pkg.html#apt_pkg.version_compare)を見つけました。そしてそれは私が私の釣り合っている場所と同じです。私はあなたがPython-aptの旧バージョンを持っていると思います。なぜなら、彼らはCamelCaseから離れているからです。なぜそれが文書化されていないのかと思います。 – Tshepang
@Tshepang:確かに、私のpython-aptはかなり古いです。アップデートありがとうございました – unutbu
実際には、コードは正常に動作します。開発者は、より新しいメソッド名のための何らかの別名としてそれを保持するのに十分なほど賢明でした。 – Tshepang