ความแตกต่างระหว่าง yum update vs yum install


20

ในขณะที่ทำงานกับrpmคำสั่งฉันสังเกตเห็นว่าถ้าฉันติดตั้งsome-package-1.0แล้วดำเนินการอีกrpm -ivh some-package-1.1แพคเกจทั้งสองจะปรากฏเมื่อฉันทำrpm -qa | grep some-packageดังต่อไปนี้:

some-package-1.0
some-package-1.1

อย่างไรก็ตามแทนการติดตั้ง 1.1 ถ้าผมอัพเกรดผ่านทางrpm -Uvh some-package-1.1ผมได้รับผลที่ต้องการของแพคเกจเดียว (1.1) rpm -qa | grep some-packageเมื่อฉันทำ

พฤติกรรมแบบเดียวกันนี้ใช้กับyum installและตอนนี้yum updateหรือไม่

ฉันถามเพราะด้วยrpm -Uคำสั่ง (อัพเกรด) แพ็คเกจไม่จำเป็นต้องมีอยู่ในการอัพเกรด / ติดตั้ง แต่ด้วยyum update(ถ้าฉันไม่เข้าใจผิด) แพ็คเกจต้องมีอยู่แล้ว

some-package-1.0ฉันสนใจโดยเฉพาะอย่างยิ่งที่จะรู้ผลของการระบุแพคเกจกับรุ่นของพวกเขาเช่น ดังนั้นในการสรุปสิ่งที่ฉันต้องการรู้คือถ้าฉันมีสองรุ่นเฉพาะเช่นsome-package-1.0และsome-package-1.1:

  1. ประสิทธิภาพyum installเมื่อวันที่ 1.1 หลังจาก 1.0 ได้รับการติดตั้งแล้วจะแสดงรายการ 2 แพ็คเกจหรือไม่
  2. การทำงานจะyum update some-package-1.1สำเร็จแทนที่some-package-1.0หรือไม่

คำตอบ:


31

ความแตกต่างที่สำคัญระหว่าง YUM และ RPM คือการyumรู้วิธีแก้ไขปัญหาการพึ่งพาและสามารถจัดหาแพ็กเกจเพิ่มเติมเหล่านี้เมื่อทำงาน แม้ว่าจะrpmสามารถแจ้งเตือนคุณถึงการพึ่งพาเหล่านี้ แต่ก็ไม่สามารถจัดหาแพ็คเกจเพิ่มเติมได้

เป็นการติดตั้งกับการอัพเกรด เครื่องมือทั้งสองสามารถทำการติดตั้งได้และ RPM จะช่วยให้คุณติดตั้งได้หลายรุ่นพร้อมกัน แต่ YUM จะบอกคุณว่าแพ็คเกจนั้นได้รับการติดตั้งแล้ว ดังนั้นไม่มี YUM จะไม่อนุญาตให้คุณติดตั้งหลายรุ่น

ในฐานะที่เป็นyum updateสิ่งนี้จะตอบสนองในหนึ่งในสองวิธี ถ้าคุณบอกแพคเกจที่คุณต้องการอัปเดตมันจะพยายามทำเช่นนั้นดาวน์โหลดการอ้างอิงที่จำเป็นทั้งหมดและติดตั้งมัน หากคุณเรียกใช้โดยไม่มีชื่อแพ็คเกจใด ๆyum updateจะพยายามอัปเดตทุกแพ็คเกจที่ติดตั้งในระบบของคุณ

หากคุณใช้yum upgradeมันจะทำเช่นเดียวกันyum updateยกเว้นจะพยายามลบแพ็คเกจใด ๆ ที่ถูกทำเครื่องหมายว่า "ล้าสมัย"

ตัวอย่าง

นี่คือสถานการณ์ที่ไม่เหมือนของคุณเอง มีเวอร์ชันใหม่vim-X11ให้ใช้

$ 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

และตอนนี้ฉันเป็นรุ่นนี้:

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

เมื่อเราพยายามติดตั้ง:

$ 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 

ดังนั้นโดยสรุป

  1. ประสิทธิภาพyum installเมื่อวันที่ 1.1 หลังจาก 1.0 ได้รับการติดตั้งแล้วจะแสดงรายการ 2 แพ็คเกจหรือไม่

ไม่ YUM จะยังคงทำการอัปเดตแม้ว่าคุณจะบอกให้ทำการติดตั้งหากมีการติดตั้งแพคเกจไว้แล้ว

  1. จะทำงานได้yum update some-package-1.1สำเร็จแทนที่ some-package-1.0 หรือไม่

ใช่.


ขอบคุณสำหรับคำตอบที่ละเอียดมาก วิธีที่ฉันเห็นมันฉันสามารถใช้งานต่อไปได้yum installเมื่อฉันระบุชื่อแพ็คเกจด้วยเวอร์ชันและไม่ต้องกังวลกับการติดตั้งหลายเวอร์ชัน สถานการณ์ที่ฉันต้องการใช้yum updateจะเป็นเมื่อฉันระบุชื่อแพ็คเกจเท่านั้นถูกต้องหรือไม่
kaizenCoder

@aspiringCodeArtisan - ถูกต้องเพียงบางส่วน yum installจะตรวจพบว่ามีการติดตั้งแพคเกจไว้แล้วและจะเปลี่ยนเป็นการอัปเดตเมื่อเทียบกับการติดตั้งแพคเกจ
slm

@slm - หากต้องการชี้แจงสามารถค้นหาที่เก็บที่คล้ายกับการค้นหา zypper สำหรับแพ็คเกจเฉพาะได้หรือไม่
แรงบันดาลใจ

1
@Motivated - ไม่rpmเป็นเช่นdpkgนั้นเพียงเกี่ยวกับตัวเอง w / การจัดการไฟล์บนดิสก์ภายในเครื่อง สำหรับ "การบริหารจัดการ" ที่เก็บ b / w ระบบของคุณ + repo ที่คุณต้องสิ่งที่ต้องการหรือyum dnf
slm

1
@Motivated - rpmเมื่อใช้ในการติดตั้งจาก url จะไม่ทำแพ็คเกจใด ๆ เพื่อดึงข้อมูลเหล่านั้นเข้าด้วยกันมันแค่ดาวน์โหลดรอบต่อนาทีในเครื่องแล้วทำการติดตั้ง
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.