it-swarm-vi.com

Sự khác biệt giữa các nhà quản lý gói là gì?

Sự khác biệt giữa apt-get, aptitudesynaptic, và lựa chọn nào được đề xuất cho quản lý gói hàng ngày thông thường?

Đây là một câu hỏi cơ bản, nhưng tôi nghĩ rằng đó là thông tin tốt để có trên trang web, và bên cạnh đó tôi còn khá mới đối với Ubuntu để tôi có thể sử dụng một lời giải thích của chuyên gia.

129
David Z

Có lẽ các trình quản lý gói phổ biến nhất là apt-get, aptitude, synaptic và Software Center. Có những cái khác (Linux Mint có cái riêng và có một số được thiết kế cho KDE), nhưng đây là những cái bạn sẽ gặp phải thường xuyên nhất.

apt-get là một công cụ dòng lệnh đơn giản. Thật tiện dụng nếu bạn biết tên gói chính xác của những gì bạn muốn cài đặt và không muốn dành thời gian nhấp qua GUI để có được nó.

aptitude rất giống với apt-get và tôi đã nghe nói rằng nó xử lý tốt hơn với các tình huống phụ thuộc điên rồ. Cái nào thực sự tốt hơn là điều gây tranh cãi.

synaptic là GUI cấp thấp. Đây là một lựa chọn tốt nếu bạn là người dùng khá cao cấp nhưng không thoải mái với các tiện ích dòng lệnh.

Trung tâm phần mềm là một GUI rất thân thiện với người dùng mới ở cấp độ cao. Phần mềm được phân loại độc đáo để nếu bạn không chắc chắn chính xác ứng dụng nào bạn muốn, bạn có thể tìm thấy những gì bạn cần một cách nhanh chóng. Trung tâm phần mềm cũng nổi bật ở chỗ đây là trình quản lý gói duy nhất trong danh sách này cho phép bạn mua các ứng dụng thương mại.

dpkg là một tiêu chuẩn quản lý gói cấp thấp, ít được sử dụng cho hầu hết các hệ thống dựa trên Debian. Trong thực tế, apt-get, aptitude, synap và Trung tâm phần mềm Ubuntu đều chỉ là giao diện người dùng hoặc dpkg hoặc apt, bản thân nó là một giao diện người dùng cho dpkg.

Trả lời câu hỏi của bạn, "cái nào là lựa chọn được đề xuất cho quản lý gói hàng ngày thông thường", tôi muốn nói rằng Trung tâm phần mềm được khuyến nghị cho hầu hết các mục đích sử dụng. Nhưng khi bạn có thêm kinh nghiệm, bạn sẽ thấy một số tính năng của trình quản lý gói cấp thấp hữu ích hơn.

111
Michael Crenshaw

Câu hỏi thường gặp về Debian có một lời giải thích khá hay về các trình quản lý gói khác nhau. (dpkg, apt-get, aptitude, tasksel, synaptic)

18
lfaraone

Ngoài ra, câu trả lời tuyệt vời của mac9416 , Kubfox cung cấp các công cụ dòng lệnh tương tự như Ubuntu, cụ thể là dpkg, apt-getaptitude. Ngoài ra còn có hai trình quản lý gói đồ họa:

Adept là GUI đơn giản cho apt-get, cho phép bạn chỉnh sửa danh sách nguồn, duyệt các gói theo danh mục hoặc theo tên, xem trạng thái của chúng và cài đặt/gỡ cài đặt họ.

KPackageKit là một GUI đơn giản cho GóiKit, là hệ thống quản lý gói phân phối chéo mới hơn, sử dụng apt-get phía sau hậu trường. Nó cho phép bạn tìm kiếm các chương trình theo nhiều tiêu chí khác nhau, cài đặt và gỡ cài đặt chương trình, thực hiện nâng cấp thường xuyên và chỉnh sửa danh sách nguồn.

13
David Z

Cá nhân tôi thích apt-get vì đây là chương trình dòng lệnh. Và cú pháp để cài đặt các gói rất đơn giản:

[.__.] Sudo apt-get install tên gói hàng

Tôi sử dụng apt-get trên cơ sở hàng ngày để cài đặt và gỡ bỏ các gói.

Synaptic dựa trên GUI và aptitude dựa trên văn bản.

6
Nathan Osman

Về cơ bản, chúng chỉ khác nhau ở mức độ thấp.

dpkg: thậm chí không phải là trình quản lý gói thích hợp, apt sử dụng nó

apt-get: dòng lệnh, chỉ khi bạn biết tên gói

aptitude: dựa trên văn bản, nhưng thân thiện với người dùng

synaptic: tương đương với năng khiếu trong GUI

Trung tâm phần mềm: cho người dùng hàng ngày

BTW, đây là tất cả các giao diện người dùng của apt (ngoại trừ dpkg), là trình quản lý gói duy nhất trên Ubuntu.

5
Sőrés Viktor

Một điểm khác biệt chính giữa aptitude và apt-get đã thoát thông báo ở trên là aptitude, không giống như apt-get, sẽ cung cấp cho bạn các tùy chọn khác nhau trong trường hợp có xung đột phụ thuộc. apt-get đơn giản sẽ thất bại. aptitude linh hoạt và linh hoạt hơn nhiều vì lý do đó. Chưa bao giờ sử dụng trình quản lý gói GUI, tôi không biết Synaptic và những người khác xử lý các tình huống như thế nào.

1
ShankarG

Một công cụ khác hầu như không nhận được đề cập là tasksel. Nó được sử dụng để chọn các tác vụ cụ thể, đánh dấu chúng để cài đặt và sau đó cài đặt chúng (có thể sử dụng aptitude - không chắc chắn).

Chạy tasksel --list-tasks để xem những nhiệm vụ nào khả dụng.

1
Tshepang