Cập nhật phần mềm vs cập nhật apt-get


11

Tôi đã luôn cho rằng việc chạy apt-get updatetheo sau apt-get upgradechỉ là phiên bản dòng lệnh của việc chạy trình cập nhật phần mềm; tuy nhiên, việc chạy trình cập nhật phần mềm dẫn đến các gói sau cần cập nhật:

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)

trong khi chạy apt-get updateapt-get upgradekết quả là:

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.  

Bất cứ ai có thể giải thích những gì đang xảy ra?


Tại một số điểm, họ đã thay đổi hành vi của upgrade, bây giờ bạn đang tìm kiếm dist-upgradenếu bạn cũng muốn nâng cấp kernel.
Bobby

Câu trả lời:


9

Dường như có một số nhầm lẫn ở đây.

  • apt-get update : Điều này chỉ làm mới danh sách các gói có sẵn.

  • apt-get upgrade: Điều này sẽ nâng cấp mọi gói đã cài đặt lên phiên bản mới nhất của chúng.

  • apt-get dist-upgrade : Giống như nâng cấp nhưng sử dụng hệ thống giải quyết xung đột "thông minh", nó sẽ cố gắng nâng cấp các gói quan trọng nhất với chi phí của các gói ít quan trọng hơn nếu cần thiết.

Vì vậy, nếu điều bạn muốn là đảm bảo các gói hiện được cài đặt của bạn là phiên bản mới nhất hiện có, bạn hãy chạy

apt-get update && apt-get upgrade

Nếu điều này dẫn đến sự cố thì bạn có thể muốn thử:

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

Bây giờ, các tin nhắn bạn đã đăng không có gì để làm dist-upgrade, chúng là những nâng cấp đơn giản. Hoàn toàn không có sự khác biệt giữa chúng, đơn giản là trình cập nhật phần mềm đang cung cấp cho bạn các mô tả về các gói trong khi apt-getliệt kê các tên gói. Ví dụ

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

Nếu bạn đọc kỹ qua hai danh sách, bạn sẽ thấy rằng chúng chính xác là cùng một gói.

Điều đó nói rằng, các tin nhắn bạn đăng nói chính xác điều tương tự.


1
Tôi nghĩ rằng chúng sẽ giống nhau, nhưng kích thước của các lượt tải xuống rất khác nhau, trừ khi những con số đó không thể so sánh được?!
ChrisW

1

afaik, bạn bỏ lỡ một phần thứ ba:

apt-get dist-upgrade

Trên thực tế, nâng cấp apt-get sẽ không nâng cấp các gói trong một số trường hợp, ví dụ như khi chúng thay đổi phụ thuộc hoặc yêu cầu một số gói khác bị xóa. Bu apt-get dist-nâng cấp sẽ. Vì vậy, để có được một hành vi tương tự như một trình cập nhật phần mềm bạn cần:

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

Hoặc, nếu bạn muốn chơi an toàn hơn một chút:

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

Xem: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upTHER-option-of-apt-get/
Và cũng: https://askubfox.com / q / 194651/125726


2
"Cập nhật apt-get && apt-get nâng cấp && apt-get dist-Nâng cấp" Ngoại trừ việc dist-upgradethực hiện tất cả các hoạt động cũng sẽ được chạy bởi upgrade.
Bobby

Đúng. Vấn đề là thực hiện nâng cấp "an toàn hơn" trước và sau khi chúng hoạt động tốt thì dist-upgradenâng cấp.
gerlos

Tôi không thấy những gì bạn đạt được bằng cách đó ... ngoại trừ số gói nhỏ hơn trong lần chạy thứ hai.
Bobby

Cách đây một thời gian, tôi đã gặp một số rắc rối với các gói từ ppa của bên thứ ba mà sự phụ thuộc đã bị phá vỡ. Sử dụng nâng cấp "bình thường", tôi có thể cập nhật mọi thứ trừ các gói bị hỏng đó và vì chúng bị "cô lập" với các gói khác, tôi có thể cách ly chúng khỏi các gói khác và giải quyết các rắc rối của mình. Không phải điều gì đó xảy ra thường xuyên, nhưng một cách tiếp cận tốt để phát hiện vấn đề trước khi chúng đánh bạn, imho.
gerlos

Tôi có nghĩa là tôi không thấy sự khác biệt của nó nếu bạn chạy upgradehoặc dist-upgradekhi gặp rắc rối. Sự khác biệt chính là sau này cũng sẽ cố gắng cập nhật kernel, nhưng không chạm vào những cái hiện có, vì vậy hệ thống không bao giờ gặp nguy hiểm như tôi có thể thấy.
Bobby
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.