Có lẽ vì tiêu đề không đề cập đến Python (mặc dù các thẻ đã làm), Google đã đưa tôi đến đây khi hỏi cùng một câu hỏi nhưng hy vọng có câu trả lời. Đó có vẻ là:
$ dpkg --compare-versions 11a lt 100a && echo true
true
$ dpkg --compare-versions 11a gt 100a && echo true
$
Để cài đặt một phiên bản của rubygems đó là ít nhất là mới vì phiên bản từ lenny-backports theo một cách mà không đưa ra lỗi trên lenny và bóp cài đặt:
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
Có lẽ tôi nên hỏi làm thế nào để làm điều đó trong một câu hỏi riêng biệt, với hy vọng nhận được một câu trả lời ít clunky.
Nguồn
2013-08-23 17:27:34
Tôi đoán nhà đóng gói của bạn đã cài đặt nó ở một nơi khác. Tôi tìm thấy nó [ở đây] (http://apt.alioth.debian.org/python-apt-doc/library/apt_pkg.html#apt_pkg.version_compare). Và đó là về cùng một nơi tôi cũng vây của tôi. Tôi cũng nghĩ rằng bạn có một phiên bản cũ của python-apt vì chúng đang di chuyển khỏi CamelCase, và tôi đoán đó là lý do tại sao nó không được ghi lại. – Tshepang
@Tshepang: Thật vậy, python-apt của tôi khá cũ. Cảm ơn bạn đã cập nhật – unutbu
Thực ra, mã của bạn hoạt động tốt. Các nhà phát triển đã thận trọng, đủ để giữ nó như một loại bí danh cho các tên phương thức mới hơn. – Tshepang