Bagaimana cara memeriksa versi paket yang tersedia di sistem rpm?

59

Jika saya ingin memeriksa versi yang tersedia dari sebuah paket di Debian, saya menjalankan apt-cache policy pkgnameyang dalam kasus wajigmemberi:

wajig:
  Installed: 2.01
  Candidate: 2.01
  Version table:
 *** 2.01 0
        100 /var/lib/dpkg/status
     2.0.47 0
        500 file:/home/wena/.repo_bin/ squeeze/main i386 Packages
        500 ftp://ftp.is.co.za/debian/ squeeze/main i386 Packages

Itu berarti bahwa ada tiga paket wajig, satu yang diinstal ( /var/lib/dpkg/status), dan dua lainnya (yang merupakan versi yang sama). Salah satu dari keduanya ada di repositori lokal dan yang lain tersedia dari repositori jarak jauh.

Bagaimana cara mencapai hasil yang serupa pada sistem rpm?

tepang
sumber

Jawaban:

77

yum Untuk RHEL / Fedora / Centos / Scientific Linux

Memberikan perintah listuntuk menampilkan informasi tentang paket yang diinstal dan dapat ditingkatkan (dan lebih lama).

yum --showduplicates list <package>

zypper Untuk SuSE Linux

Dapat mengembalikan daftar terperinci dari paket atau tambalan yang tersedia dan diinstal.

zypper search -s <package>

Menambahkan --exact-matchdapat membantu, jika ada beberapa paket.

Sebagai catatan tambahan, berikut ini adalah perbandingan dari perintah manajemen paket.

mengibaskan
sumber
7
Anda juga harus menambahkan --showduplicatesuntuk yumjika Anda ingin melihat semua versi yang tersedia, bukan hanya yang terbaru.
Steve Shipway
opsi --exact-match sepertinya tidak tersedia untuk yum atau untuk zypper ...
Chris Maes
15

Anda dapat menggunakan rpm -qi <package name>semua informasi dari paket yang diinstal. Anda dapat menggunakan perintah di bawah ini juga:

yum info <package name>
yum list <package name>
yum --showduplicates list <package name>
moshtagh
sumber
2
Semua kecuali yang terakhir di sana hanya menampilkan informasi tentang "diinstal" versi FWIW. Tapi yang --showduplicatessatu berhasil, terima kasih!
rogerdpack
5

Jawaban lainnya membahas cara mendapatkan informasi tentang paket yang diinstal pada sistem. Untuk menambah itu, dimungkinkan juga untuk menanyakan repositori yum tentang paket yang belum diinstal selain dengan pkcon searchperintah dari PackageKit, mis.

$ pkcon search name xz
Searching by name             [=========================]         
Starting                      [=========================]         
Querying                      [=========================]         
Available       pxz-4.999.9-2.beta.20100608git.fc15.i686        Parallel LZMA compressor using XZ
Installed       xz-5.0.3-1.fc15.i686                            LZMA compression utilities
Available       xz-compat-libs-5.0.1-2.fc15.i686                Compatibility libraries for decoding LZMA compression
Available       xz-compat-libs-5.0.3-1.fc15.i686                Compatibility libraries for decoding LZMA compression
Installed       xz-debuginfo-5.0.3-1.fc15.i686                  Debug information for package xz
Installed       xz-devel-5.0.3-1.fc15.i686                      Devel libraries & headers for liblzma
Installed       xz-libs-5.0.3-1.fc15.i686                       Libraries for decoding LZMA compression
Installed       xz-lzma-compat-5.0.3-1.fc15.i686                Older LZMA format compatibility binaries
Installed       xzgv-0.9.1-3.fc15.i686                          Picture viewer
$

Saya menganggap PackageKit ditulis generik sehingga berfungsi dengan repositori yang tepat juga, meskipun saya hanya memiliki pengalaman menggunakannya di sistem Fedora saya.

hlovdal
sumber
3

Untuk menanyakan paket yang tersedia, Anda dapat melakukan urpmq --sources YOURPACKAGE ini khusus Mandriva (Saya hanya tahu Mandriva).

Jika Anda ingin mengetahui versi paket yang diinstal: rpm -q YOURPACKAGE Ini berfungsi pada semua sistem RPM.

Di RedHat / Fedora, lihat yum.

ofaurax
sumber
3

Menjalankan perintah di bawah ini akan memberi Anda semua paket yang diinstal di server.

rpm -qa | grep <packagename>

Lebih banyak perintah rpm tercantum di sini

ronak
sumber