Perbedaan antara pembaruan yum vs yum instal

20

Saat bekerja dengan rpmperintah saya perhatikan bahwa jika saya menginstal some-package-1.0dan melakukan yang lain rpm -ivh some-package-1.1kedua paket akan terdaftar ketika saya melakukan rpm -qa | grep some-packagehal berikut:

some-package-1.0
some-package-1.1

Namun alih-alih menginstal 1.1, jika saya memutakhirkan melalui rpm -Uvh some-package-1.1Saya mendapatkan hasil yang diinginkan dari satu paket (1.1) ketika saya melakukannya rpm -qa | grep some-package.

Sekarang apakah perilaku yang sama berlaku dengan yum installdan yum update?

Saya bertanya karena dengan perintah rpm -U(pemutakhiran) suatu paket tidak harus ada untuk memutakhirkan / menginstal tetapi dengan yum update(jika saya tidak salah) suatu paket harus sudah ada.

Saya sangat tertarik untuk mengetahui hasil dari menentukan paket dengan versi mereka seperti some-package-1.0. Jadi, dalam penjumlahan, yang ingin saya ketahui adalah jika saya memiliki dua versi spesifik seperti some-package-1.0dan some-package-1.1:

  1. Akan melakukan yum installpada 1.1 setelah 1.0 sudah diinstal, daftar 2 paket?
  2. Apakah menjalankan yum update some-package-1.1berhasil menggantikan some-package-1.0?
kaizenCoder
sumber

Jawaban:

31

Perbedaan utama antara YUM dan RPM adalah yang yumtahu bagaimana menyelesaikan dependensi dan dapat mengambil paket tambahan ini ketika melakukan tugasnya. Meskipun rpmdapat memperingatkan Anda tentang dependensi ini, ia tidak dapat menemukan paket tambahan.

Adapun menginstal vs pemutakhiran. Kedua alat dapat melakukan instalasi, dan RPM bahkan akan memungkinkan Anda untuk menginstal beberapa versi secara bersamaan, tetapi YUM akan memberi tahu Anda bahwa paket itu sudah diinstal. Jadi tidak ada YUM tidak akan memungkinkan Anda untuk menginstal beberapa versi.

Adapun yum update, ini akan bereaksi dalam salah satu dari dua cara. Jika Anda memberi tahu paket yang ingin Anda perbarui, ia akan berusaha melakukannya, mengunduh semua dependensi yang diperlukan dan menginstalnya juga. Jika Anda menjalankannya tanpa nama paket apa pun, yum updateakan berusaha memperbarui setiap paket yang diinstal pada sistem Anda.

Jika Anda menggunakannya yum upgradeakan melakukan hal yang sama yum update, kecuali ia akan mencoba untuk menghapus paket apa pun yang telah ditandai sebagai "usang".

Contoh

Berikut skenario yang tidak berbeda dengan skenario Anda. Versi baru dari vim-X11tersedia.

$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit

vim-X11.x86_64                     2:7.4.417-1.fc19                      updates

Dan saya saat ini di versi ini:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64

Ketika kami mencoba menginstalnya:

$ sudo yum install vim-X11
...   
=================================================================================================================================================================
 Package                                 Arch                              Version                                      Repository                          Size
=================================================================================================================================================================
Updating:
 vim-X11                                 x86_64                            2:7.4.417-1.fc19                             updates                            1.2 M
Updating for dependencies:
 vim-common                              x86_64                            2:7.4.417-1.fc19                             updates                            5.9 M
 vim-enhanced                            x86_64                            2:7.4.417-1.fc19                             updates                            1.0 M
....
Running transaction
  Updating   : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            1/6 
  Updating   : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          2/6 
  Updating   : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               3/6 
  Cleanup    : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               4/6 
  Cleanup    : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          5/6 
  Cleanup    : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 
  Verifying  : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          1/6 
  Verifying  : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               2/6 
  Verifying  : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            3/6 
  Verifying  : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          4/6 
  Verifying  : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               5/6 
  Verifying  : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 

Demikian ringkasannya

  1. Akan melakukan yum installpada 1.1 setelah 1.0 sudah diinstal, daftar 2 paket?

Tidak. YUM akan tetap melakukan pembaruan bahkan ketika Anda telah memerintahkannya untuk melakukan instalasi jika paket tersebut sudah diinstal.

  1. Akankah menjalankan dengan yum update some-package-1.1sukses menggantikan some-package-1.0?

Iya.

slm
sumber
Terima kasih atas jawaban yang lebih mendetail. Jadi seperti yang saya lihat, saya bisa terus menggunakan yum installketika saya menentukan nama paket dengan versi dan tidak khawatir dengan menginstal beberapa versi. Situasi di mana saya ingin menggunakan yum updateadalah ketika saya hanya menentukan nama paket, benar?
kaizenCoder
@aspiringCodeArtisan - itu sebagian benar. yum installakan mendeteksi bahwa suatu paket sudah diinstal dan akan beralih ke memperbaruinya vs. menginstalnya, seperti yang ditunjukkan oleh contoh saya.
slm
@slm - Untuk memperjelas, dapatkah rpm mencari repositori yang mirip dengan pencarian zypper untuk paket tertentu?
Termotivasi
1
@Motivasi - tidak rpmseperti dpkg, itu hanya menyangkut dirinya sendiri dengan mengelola file pada disk lokal. Untuk "manajemen" repositori dengan sistem Anda + repo Anda memerlukan sesuatu seperti yumatau dnf.
slm
1
@Motivasi - rpmketika digunakan untuk menginstal dari url tidak melakukan paket dep untuk menariknya juga, itu hanya mengunduh rpm secara lokal dan kemudian menginstalnya.
slm