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


129

Sự khác biệt giữa apt-get, aptitudesynaptic, và 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?

Đâ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.


1
Tôi cũng đã thấy mọi người giới thiệu taskel. Có lẽ ai đó có thể giải thích cái này tốt cho cái gì?
silvo

2
tasksellà để chọn các tác vụ cụ thể, không phải để cài đặt J. Gói ngẫu nhiên.
lfaraone

Một [so sánh xuất sắc] [1] apt-getaptitude, với một đề cập đặc biệt về mặt trước yêu thích của tôi , wajig. [1]: unix.stackexchange.com/questions/767/ từ
tshepang

Để so sánh chi tiết hơn apt-getaptitudexem một câu hỏi khác trên trang web này - Liệu aptitude có thực sự tốt hơn apt-get không?
8128

Câu trả lời:


111

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 thứ 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à một 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. 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 cho 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.


Tôi phải tự hỏi điểm của Synaptic là gì vào thời điểm này. Những người muốn lib sử dụng dòng lệnh và những người muốn chương trình sử dụng Trung tâm phần mềm?
mlissner

Thành thật mà nói, tôi hiếm khi sử dụng Synaptic nữa, và hiện tại tôi không thể nghĩ ra bất kỳ lý do cụ thể nào tôi sẽ sử dụng Synaptic trên một trong những công cụ khác (mặc dù thỉnh thoảng tôi vẫn làm như vậy). Câu hỏi hay.
Michael Crenshaw

10
aptitude vs apt-get là không thể tranh cãi, aptitude là một cải tiến so với apt-get và hoàn toàn tương thích với nó.
Mircea Chirea

1
Tôi không có kiến ​​thức để tranh luận về nó, nhưng tôi đã thấy những người khác tranh luận về nó. Vì vậy, theo sự hiểu biết tốt nhất của tôi, nó gây tranh cãi. Về khả năng tương thích, tôi đã nghe nói rằng tốt nhất không nên sử dụng cả hai. Nhưng một lần nữa, tôi không biết. Tôi sẽ để điều đó cho một câu hỏi khác. :-)
Michael Crenshaw

3
aptitude cho phép các tính năng quản lý gói nâng cao như giữ gói mà apt-get thiếu.
scottl

18

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)


1
Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Pilot6

1
Bảy năm sau?
lfaraone

13

Như một sự bổ sung cho câu trả lời tuyệt vời mac9416 của , Kubuntu cung cấp các công cụ dòng lệnh tương tự như Ubuntu, cụ thể là dpkg, apt-get, và aptitude. Ngoài ra còn có hai trình quản lý gói đồ họa:

Adept là một GUI đơn giản cho apt-getphé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 chúng.

KPackageKit là một GUI đơn giản cho GóiKit, là một hệ thống quản lý gói phân phối chéo mới hơn, sử dụng apt-getđằng 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.


KPackageKitbây giờ được thay thế bởi Apper.
David bạn của bạn

6

Cá nhân tôi thích apt-get hơn 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 cài đặt packagename

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.


aptitudecũng có thể được sử dụng một cách tương tác, và trong một thời gian dài có hầu hết các tính năng khách hàng khác bị thiếu. sudo aptitude installhoạt động tốt như là sudo apt-get install. sudo apitude searchhoạt động tốt như là sudo apt-cache search. Aptitude, tuy nhiên, dự kiến ​​sẽ loại bỏ trong tương lai.
Broam

@Broam bạn có thể cung cấp một nguồn cho khiếu nại rằng Aptitude dự kiến ​​sẽ được gỡ bỏ không? Googling xung quanh tôi không thể tìm thấy bất cứ điều gì về điều đó.
itadok

Nó dự kiến ​​sẽ loại bỏ trong cài đặt mặc định, như GIMP.
Broam


5

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

năng khiếu : 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 : dành 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.


1

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để có một cái nhìn vào những nhiệm vụ có sẵn.


Điều đó thực sự đã được đề cập trong các ý kiến ​​về câu hỏi.
David Z

1
@david Mình thấy đề cập đó, nhưng ý kiến ​​là công dân hạng 2.
tshepang

1

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 là sẽ thất bại. aptitudelà linh hoạt và linh hoạt hơn nhiều cho 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.

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.