Sự khác biệt giữa apt và apt-get là gì?


457

Tôi đã đọc về thanh tiến trình ưa thích mới được thêm vào apt1.0 trong Softpedia và cách bật nó ở đây . Tuy nhiên, khi chạy sudo apt-get update, tôi không thấy các thanh tiến trình ưa thích. Khi đọc lại liên kết thứ hai, giải pháp rõ ràng yêu cầu bạn sử dụng sudo apt update.

Do đó câu hỏi của tôi là sự khác biệt giữa aptapt-get. Tôi nghĩ rằng họ là một và giống nhau.


1
AFAIK họ chỉ có sẵn trong Trusty. Dưới đây là cách kích hoạt chúng: askubfox.com/questions/445245/ trên
Seth

8
cho rằng nhận xét của @Seth đã gần 2 năm tuổi, tôi nghĩ rằng tôi sẽ thêm ngay bây giờ rằng nó có sẵn, được cài đặt và có thể sử dụng được. Không có gì là bắt buộc để kích hoạt chúng, chỉ cần sử dụng aptthay vì apt-get(Tôi vào ngày 15.10)
Madivad

Câu trả lời:


399

Chúng là những công cụ dòng lệnh rất giống nhau có sẵn trong Trusty. apt-getapt-cachecác lệnh được sử dụng phổ biến nhất có sẵn trong apt.

apt-getcó thể được coi là cấp thấp hơn và "back-end" và hỗ trợ các công cụ dựa trên APT khác. apt được thiết kế cho người dùng cuối (con người) và đầu ra của nó có thể được thay đổi giữa các phiên bản.

Lưu ý từ apt (8):

The `apt` command is meant to be pleasant for end users and does not need
       to be backward compatible like apt-get(8).

Hãy xem bài đăng này để biết thêm thông tin về công cụ mới:

Bản tóm tắt của liên kết trên (có sửa * ):

Tin tức lớn cho phiên bản này là chúng tôi đã bao gồm một nhị phân apt apt mới kết hợp các lệnh được sử dụng phổ biến nhất từ ​​apt-get và apt-cache. Các lệnh giống như các đối tác apt-get / apt-cache của chúng nhưng với các tùy chọn cấu hình hơi khác nhau.

Hiện tại nhị phân apt hỗ trợ các lệnh sau:

  • list : tương tự dpkg listvà có thể được sử dụng với các cờ như --installedhoặc --upgradable.
  • tìm kiếm : hoạt động giống như apt-cache searchnhưng được sắp xếp theo thứ tự abc.
  • hiển thị : hoạt động như thế apt-cache shownhưng ẩn một số chi tiết mà mọi người ít quan tâm hơn (như băm). Các hồ sơ đầy đủ vẫn có sẵn thông qua apt-cache showtất nhiên.
  • cập nhật : giống như thông thường apt-get updatevới đầu ra màu được kích hoạt.
  • cài đặt, loại bỏ : thêm đầu ra tiến trình trong quá trình chạy dpkg.
  • nâng cấp : giống như apt-get upgrade --with-new-pkgs. *
  • nâng cấp đầy đủ : một tên có ý nghĩa hơn cho dist-upgrade.
  • chỉnh sửa nguồn : chỉnh sửa sources.listbằng cách sử dụng $EDITOR.
  • chính sách : hoạt động giống nhưapt-cache policy

Bạn có thể bật / tắt tiến trình cài đặt [bar] thông qua:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar

3
Chỉ tò mò - không phải là nâng cấp apt tương đương với 'nâng cấp - với-mới-pkgs' (thay vì nâng cấp xa mà IIRC làm theo mặc định và cũng loại bỏ)?
zeratul021

Thật kỳ lạ apt upgradecho tôi một lỗi khi apt-get upgradechỉ in cảnh báo khi PPA không có tệp Phát hành.
Tor Klingberg

1
Đó là bài viết trên blogsai lầm để nói apt upgradelà giống như apt-get dist-upgrade --with-new-pkgs. dist-upgradecó thể cài đặt các gói mới và có thể loại bỏ chúng . UI sang một bên, apt upgradeapt-get upgrade --with-new-pkgs. Xem câu trả lờiapt (8) của JungleMartin về upgrade: "Các gói mới sẽ được cài đặt nếu được yêu cầu để đáp ứng sự phụ thuộc, nhưng các gói hiện tại sẽ không bao giờ bị xóa."
Eliah Kagan

3
Có thể đáng nói rằng bắt đầu từ 16.04 theo mặc định apt không lưu các gói đã tải xuống trong khi apt-get thì có.
doug

69

Như tôi đã viết này, các apttrang người đàn ông (gói apt tôi version: 1.0.1ubuntu2.8) bao gồm các phần sau:

DIFFERENCES TO APT-GET(8)
   The apt command is meant to be pleasant for end users and does not need
   to be backward compatible like apt-get(8). Therefore some options are
   different:

   ·   The option DPkg::Progress-Fancy is enabled.
   ·   The option APT::Color is enabled.
   ·   A new list command is available similar to dpkg --list.
   ·   The option upgrade has --with-new-pkgs enabled by default.

2
Đây là câu trả lời đúng (cho Debian và Ubuntu cũng như các dẫn xuất khác như Mint). Đặc biệt, chạy sudo apt upgradesẽ thực hiện các hoạt động tương tự như sudo apt-get upgrade --with-new-pkgs. Nó sẽ cài đặt các gói mới, nhưng, không giống như sudo apt-get dist-upgrade , nó sẽ không loại bỏ các gói cũ (trừ khi cài đặt một phiên bản mới của cùng một gói, tất nhiên - sudo apt-get upgradecũng sẽ làm như vậy). man apthơn nữa chứng thực rằng câu trả lời này là chính xác.
Eliah Kagan

Tôi đang khôi phục lại bản chỉnh sửa của mình vì a) định dạng của bạn yêu cầu cuộn không cần thiết và b) văn bản sao chép của bạn không chính xác, tùy chọn không DPkgPM::..., nhưng DPkg::.., như trang manpage trực tuyến hiển thị.
muru

2
điểm thưởng cho RTFM
Thufir

Tùy chọn "kiểm tra" không hoạt động với apt. Tôi phải sử dụng "apt-get check". Tại sao?
Juan

22

Có nhiều công cụ tương tác với Công cụ đóng gói nâng cao (APT) và cho phép bạn cài đặt, gỡ bỏ và quản lý các gói trong các bản phân phối Linux dựa trên Debian . apt-getlà một công cụ dòng lệnh như vậy rất phổ biến. Một công cụ phổ biến khác là Aptitude với cả hai tùy chọn GUI và dòng lệnh.

Nếu bạn đã sử dụng apt-getcác lệnh, bạn có thể đã gặp một số lệnh tương tự như apt-cache, apt-configv.v ... Và đây là nơi phát sinh vấn đề.

Bạn thấy đấy, các lệnh này ở mức quá thấp và chúng có rất nhiều chức năng mà có lẽ không bao giờ được sử dụng bởi một người dùng Linux trung bình. Mặt khác, các lệnh quản lý gói thường được sử dụng nhất nằm rải rác trên apt-get, apt-cacheapt-config.

Các aptlệnh đã được giới thiệu để giải quyết vấn đề này. aptbao gồm một số tính năng sử dụng rộng rãi nhất từ apt-get, apt-cacheapt-configrời bỏ tính năng tối nghĩa và hiếm khi được sử dụng.

Với apt, bạn không cần phải fiddle theo cách của bạn từ apt-getđể apt-cacheđến apt-config. aptcó cấu trúc hơn và cung cấp cho bạn các tùy chọn cần thiết cần thiết để quản lý các gói.

Bottom line: apt = phổ biến nhất tùy chọn lệnh đã qua sử dụng từ apt-get, apt-cacheapt-config.

Tôi đã viết chi tiết về sự khác biệt giữa apt và apt-get .


15

APT là một dự án rộng lớn, với các kế hoạch ban đầu bao gồm giao diện đồ họa. Nó dựa trên một thư viện chứa ứng dụng cốt lõi và apt-get là giao diện người dùng đầu tiên - dựa trên dòng lệnh - được phát triển trong dự án.

aptlà một giao diện người dùng dựa trên dòng lệnh thứ hai được cung cấp bởi APT nhằm khắc phục một số lỗi thiết kế apt-get.

Trích dẫn từ:

https://debian-handbook.info/browse/urdy/sect.apt-get.html

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.