Software Updater กับ apt-get update


11

ฉันคิดเสมอว่าการรันapt-get updateตามมาapt-get upgradeเป็นเพียงแค่เวอร์ชันบรรทัดคำสั่งในการรันตัวอัพเดตซอฟต์แวร์ อย่างไรก็ตามการรันซอฟต์แวร์ updater จะส่งผลให้แพ็คเกจต่อไปนี้จำเป็นต้องทำการอัพเดต:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

ในขณะที่ทำงานapt-get updateและapt-get upgradeผลลัพธ์ใน:

Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
The following packages have been kept back:  
  linux-generic linux-headers-generic linux-image-generic  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

ใครสามารถอธิบายสิ่งที่เกิดขึ้น?


เมื่อถึงจุดหนึ่งพวกเขาเปลี่ยนพฤติกรรมของupgradeตอนนี้คุณกำลังมองหาdist-upgradeถ้าคุณต้องการอัพเกรดเคอร์เนล
Bobby

คำตอบ:


9

ดูเหมือนจะมีความสับสนบางอย่างที่นี่

  • apt-get update : แค่รีเฟรชรายการแพ็คเกจที่มี

  • apt-get upgrade: นี่จะเป็นการอัพเกรดแพ็คเกจที่ติดตั้งเป็นเวอร์ชั่นล่าสุด

  • apt-get dist-upgrade : เช่นเดียวกับการอัพเกรด แต่ใช้ระบบการแก้ปัญหาความขัดแย้ง "สมาร์ท" มันจะพยายามอัพเกรดแพ็คเกจที่สำคัญที่สุดโดยเสียค่าใช้จ่ายที่สำคัญน้อยกว่าหากจำเป็น

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

apt-get update && apt-get upgrade

หากผลลัพธ์นี้มีปัญหาคุณอาจต้องลอง:

apt-get update && apt-get dist-upgrade

ตอนนี้ข้อความที่คุณโพสต์ไม่เกี่ยวข้องกับสิ่งdist-upgradeเหล่านี้คือการอัพเกรดอย่างง่าย นอกจากนี้ยังไม่มีความแตกต่างระหว่างพวกเขาอย่างแน่นอนมันเป็นเพียงว่าตัวอัปเดตซอฟต์แวร์ให้คำอธิบายของแพ็คเกจในขณะที่apt-getกำลังแสดงรายการชื่อแพ็คเกจ ตัวอย่างเช่น

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

หากคุณอ่านอย่างละเอียดทั้งสองรายการคุณจะเห็นว่าเป็นแพ็คเกจเดียวกัน

ที่กล่าวไว้ว่าข้อความที่คุณโพสต์พูดในสิ่งเดียวกัน


1
ฉันคิดว่าพวกเขาจะเหมือนกัน แต่ขนาดของการดาวน์โหลดนั้นแตกต่างกันอย่างมากเว้นแต่ว่าตัวเลขเหล่านั้นจะไม่สามารถเทียบเคียงได้!
ChrisW

1

afaik, คุณพลาดส่วนที่สาม:

apt-get dist-upgrade

ที่จริงแล้วการอัพเกรด apt-get จะไม่อัปเกรดแพคเกจในบางกรณีเช่นเมื่อพวกเขาเปลี่ยนการอ้างอิงหรือต้องการให้ลบแพ็กเกจอื่น คุณจะได้รับการอัพเกรด dist ดังนั้นเพื่อให้ได้พฤติกรรมที่คล้ายคลึงกับหนึ่งในอัพเดทซอฟต์แวร์ที่คุณต้องการ:

apt-get update && apt-get dist-upgrade

หรือถ้าคุณต้องการเล่นอย่างปลอดภัยมากขึ้น:

apt-get update && apt-get upgrade && apt-get dist-upgrade

ดู: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
และยัง: /ubuntu/ / q / 194651/125726


2
"การปรับปรุง apt-get && apt-get อัพเกรด && apt-get อ-upgrade" ยกเว้นว่ามีประสิทธิภาพการดำเนินงานทั้งหมดซึ่งยังจะได้รับการดำเนินการโดยdist-upgrade upgrade
Bobby

ขวา. ประเด็นคือทำการอัพเกรดที่ "ปลอดภัยกว่า" ก่อนหน้านี้และหลังจากdist-upgradeอัพเกรดเสร็จแล้ว
gerlos

ฉันไม่เห็นสิ่งที่คุณได้รับจาก ... ยกเว้นหมายเลขแพ็กเกจที่เล็กลงในการเรียกใช้ครั้งที่สอง
Bobby

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

ฉันหมายความว่าฉันไม่เห็นความแตกต่างถ้าคุณวิ่งupgradeหรือdist-upgradeเมื่อประสบปัญหา ความแตกต่างที่สำคัญคือในภายหลังจะพยายามอัปเดตเคอร์เนล แต่ไม่แตะที่ที่มีอยู่ดังนั้นระบบจะไม่อันตรายเท่าที่ฉันเห็น
Bobby
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.