Việc sử dụng Software Updater có giống như chạy apt-get update và apt-get nâng cấp không?


27

Có vẻ như điều này là đúng nhưng tôi muốn chắc chắn. Cảm ơn!


3
Có một sự khác biệt khác: apt-getkhông sử dụng PhasingUpdates nên đôi khi Software Updater hiển thị ít cập nhật hơn apt-get. Xem tại sao Trình cập nhật phần mềm cho biết Không có bản cập nhật khả dụng, nhưng nâng cấp apt-get Hiển thị các bản cập nhật khả dụng? .
pabouk

Câu trả lời:


21

Câu trả lời ngắn

Không, họ không giống nhau. apt-get upgradekhông xử lý thay đổi phụ thuộc giữa các phiên bản, vì vậy nếu gói đã thay đổi phụ thuộc, nó sẽ không được nâng cấp (nó sẽ bị "giữ lại"). Xem câu trả lời dài để biết thêm chi tiết.

Sử dụng Trình cập nhật phần mềm và sử dụng sudo apt-get update ; sudo apt-get dist-upgrade(lưu ý dist-) sẽ gần như tương đương, ngoại trừ đó rõ ràng là GUI và ứng dụng giao diện điều khiển khác và một vài khác biệt thông tin rất nhỏ.


Căng dài

Từ man apt-get,

  • apt-get upgrade:

    upgrade
               upgrade is used to install the newest versions of all packages
               currently installed on the system from the sources enumerated in
               /etc/apt/sources.list. Packages currently installed with new
               versions available are retrieved and upgraded; under no
               circumstances are currently installed packages removed, or packages
               not already installed retrieved and installed. New versions of
               currently installed packages that cannot be upgraded without
               changing the install status of another package will be left at
               their current version. An update must be performed first so that
               apt-get knows that new versions of packages are available.

    (nhấn mạnh bởi tôi)

    Điều này có nghĩa là phiên bản mới hơn của gói có phụ thuộc mới không bắt buộc trong phiên bản cũ sẽ không được nâng cấp bằng phương pháp này (trừ khi phụ thuộc mới đã được cài đặt). Chúng sẽ được hiển thị là "Được giữ lại".

  • apt-get dist-upgrade:

    dist-upgrade
           dist-upgrade in addition to performing the function of upgrade,
           also intelligently handles changing dependencies with new versions
           of packages; apt-get has a "smart" conflict resolution system, and
           it will attempt to upgrade the most important packages at the
           expense of less important ones if necessary. The dist-upgrade
           command may therefore remove some packages. The
           /etc/apt/sources.list file contains a list of locations from which
           to retrieve desired package files. See also apt_preferences(5) for
           a mechanism for overriding the general settings for individual
           packages.

    (nhấn mạnh bởi tôi)

    Điều này có nghĩa là với lệnh này thay vì upgrade, các gói có phụ thuộc mới (hoặc bị loại bỏ) có thể được nâng cấp.

Thí dụ

Một ví dụ điển hình về sự khác biệt giữa hai loại này là khi một nhân Linux mới được phát hành. Điều này được đóng gói vào linux-image-genericgói luôn phụ thuộc vào gói Linux mới nhất. Bởi vì sự phụ thuộc của linux-image-genericthay đổi với mỗi lần nâng cấp kernel, upgradesẽ không nâng cấp nó.


1
Bạn có thể giải thích tại sao, khi Trình cập nhật phần mềm không còn yêu cầu mật khẩu gốc để cập nhật các gói hiện có (nghĩa là khi chỉ apt-get upgradebắt buộc), apt-getkhông thể làm như vậy? Có vẻ như có một cái gì đó khác về cơ bản giữa hai.
Jonathan Y.

4

Nó gần giống nhau nhưng không chính xác. Ví dụ, khi các bản cập nhật kernel được cung cấp, sudo apt-get update && sudo apt-get dist-upgradelà cần thiết để có được các bản cập nhật đó.

sudo apt-get update && sudo apt-get upgrade sẽ cho bạn biết rằng một số gói đã được giữ lại.

Sử dụng Trình cập nhật phần mềm làm cho mọi thứ liền mạch và bạn sẽ không thấy bất cứ điều gì bị giữ lại.


3

Với các bản cập nhật theo giai đoạnapt có sẵn ( được đề cập bởi pabouk ) là sự khác biệt nổi bật nhất giữa việc cập nhật với Trình cập nhật phần mềm và dòng lệnh.

Ngày nay, apttiện ích - không tồn tại khi câu hỏi này được đăng nhưng có thể sẽ được đưa vào câu hỏi nếu có - đây là một giải pháp thay thế ngày càng phổ biến để apt-getnâng cấp các gói. Chúng tương tự nhau: cùng một gói (còn được gọi apt) cung cấp cả hai và mọi thứ đều aptcó thể làm được, các apt-tiện ích truyền thống cũng có thể, mặc dù trong một số trường hợp bạn sẽ phải vượt qua các tùy chọn cấu hình đặc biệt. Nhưng aptgần hơn với Trình apt-getcập nhật phần mềm. Giống như Updater Software, là có khả năng cài đặt các gói mới khi phiên bản mới của một gói hiện tuyên bố họ là phụ thuộc.sudo apt upgrade

Vì vậy, những ngày này, người dùng quan tâm đến sự khác biệt này chỉ có thể chạy sudo apt upgradethay vì sudo apt-get upgradenếu họ muốn các phụ thuộc mới được cài đặt tự động. Do đó, tính năng của Trình cập nhật phần mềm trong việc trì hoãn một số cập nhật một chút, để xác định xem chúng có ổn định hay không và hạn chế thiệt hại nếu không, giờ đây có lẽ là sự khác biệt chính giữa sử dụng Trình cập nhật phần mềm và cập nhật trên dòng lệnh.

Hành vi này của Trình cập nhật phần mềm là do chính sách cập nhật theo từng giai đoạn . Chính sách đó - được triển khai trong Trình cập nhật phần mềm nhưng không phảiapt-get (hoặc apt) - là một điểm khác biệt lớn giữa hai phương pháp kể từ khi chính sách được đưa rapabouk đã nhận xét về nó vài năm trước :

Có một sự khác biệt khác: apt-getkhông sử dụng PhasingUpdates nên đôi khi Software Updater hiển thị ít cập nhật hơn apt-get. Xem tại sao Trình cập nhật phần mềm cho biết Không có bản cập nhật khả dụng, nhưng nâng cấp apt-get Hiển thị các bản cập nhật khả dụng? .

- pabouk ngày 25 tháng 2 năm 15 lúc 7:34

Đây có thể luôn là sự khác biệt đáng kể nhất, trong đó người ta luôn có thể chạy sudo apt-get dist-upgradekhi phải đối mặt với upgradehành động không sẵn sàng cài đặt các gói mới hoặc gỡ cài đặt các gói hiện có. Tuy nhiên, khi cập nhật từ dòng lệnh, tầm quan trọng tương đối của các cập nhật theo giai đoạn tăng theo apt:

  • Giống như apt-get, aptlệnh sẽ tải xuống và cài đặt các bản cập nhật ngay cả khi chúng bị trì hoãn do chính sách cập nhật theo giai đoạn nếu Trình cập nhật phần mềm đã được sử dụng thay thế.
  • Nhưng không giống như apt-get , hành động aptcủa lệnh sẽ cài đặt các gói mới chưa được cài đặt trước đó nhưng được yêu cầu làm phụ thuộc cho các phiên bản gói mới.upgrade

Ngoài (a) thích giao diện đồ họa và (b) tích hợp máy tính để bàn của nó cung cấp thông báo khi có bản cập nhật, lý do chính hiện tại người ta có thể sử dụng Trình cập nhật phần mềm là cách dễ nhất để tham gia vào các bản cập nhật theo giai đoạn.

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.