Khi cài đặt phần mềm qua dpkg -i packageA.deb
, các phụ thuộc theo yêu cầu packageA
có được tải xuống và cài đặt tự động không? Điều này khác với việc sử dụng apt-get
hay aptitude
như thế nào?
Khi cài đặt phần mềm qua dpkg -i packageA.deb
, các phụ thuộc theo yêu cầu packageA
có được tải xuống và cài đặt tự động không? Điều này khác với việc sử dụng apt-get
hay aptitude
như thế nào?
Câu trả lời:
Không, dpkg
chỉ cài đặt một gói, do đó, dpkg -i packageName.deb
sẽ chỉ cài đặt gói Deb này và sẽ thông báo cho bạn về bất kỳ phụ thuộc nào cần cài đặt, nhưng nó sẽ không cài đặt chúng và nó sẽ không cấu hình packageName.deb
vì ... phụ thuộc là không có
apt-get
là một Hệ thống quản lý gói xử lý việc cài đặt các gói Deb trên các bản phân phối Linux dựa trên Debian . Hệ thống quản lý gói là một bộ công cụ sẽ giúp bạn cài đặt, gỡ bỏ và thay đổi các gói dễ dàng. Như vậy apt-get
là giống như một thông minh dpkg
.
Tôi thích nghĩ về dòng thời gian theo cách này (sau đây chỉ là tôi nói từ kinh nghiệm. Nó có nghĩa là chỉ cung cấp cho bạn một ý tưởng về toàn bộ điều này):
Họ đã nghĩ ra cách "lưu trữ" các tệp của ứng dụng trong một "gói" để có thể dễ dàng cài đặt. Vì vậy, gói Deb ( .deb
tệp mở rộng ) đã ra đời.
Một
.deb
tệp chứa các tệp cần thiết cho một ứng dụng để chạy, cũng như (tôi muốn gọi nó) "siêu dữ liệu" chứa thông tin khác, chẳng hạn như tên của các phụ thuộc mà ứng dụng cần. Nếu bạn muốn xem nội dung của.deb
tệp, bạn có thể sử dụng lệnhdpkg -c packageName.deb
và nếu bạn muốn xem thông tin "siêu dữ liệu" này, hãy sử dụng lệnhdpkg -I pacakgeName.deb
(và nếu bạn chỉ muốn xem phần phụ thuộc, hãy làmdpkg -I packageName.deb | grep Depends
).
Họ cần một công cụ để cài đặt các .deb
tệp này , vì vậy họ đã đưa ra dpkg
công cụ này. Tuy nhiên, công cụ này sẽ chỉ cài đặt .deb
tệp, nhưng sẽ không cài đặt các phụ thuộc của nó vì nó không có các tệp đó và nó không có quyền truy cập vào "kho" để lấy các phụ thuộc từ đó.
apt-get
, trong đó tự động hóa các vấn đề ở điểm trước. Bên dưới mui xe, apt-get
về cơ bản dpkg
(tôi thích nghĩ về nó như apt-get
là một mặt trước cho dpkg
), nhưng một cái thông minh sẽ tìm kiếm các phụ thuộc và cài đặt chúng. Nó thậm chí còn xem xét các phụ thuộc hiện được cài đặt và xác định các gói không được sử dụng bởi bất kỳ gói nào khác và sẽ thông báo cho bạn rằng bạn có thể xóa chúng.aptitude
rồi đi cùng. Nó sử dụng các thư viện apt-get
sử dụng và thực sự có một giao diện người dùng tương tác (giao diện người dùng). Nếu bạn muốn xem UI này, chỉ cần gõ aptitude
vào terminal. Đó là aptitude
. Nó tận dụng các thư viện để cung cấp nhiều tùy chọn và đặc quyền hơn apt-get
. Ví dụ, aptitude
sẽ tự động loại bỏ các gói đủ điều kiện, trong khi apt-get
cần một lệnh riêng để làm như vậy. Nhưng, cuối cùng, làm sudo aptitude install packageName.deb
nên ít nhất là giống như sudo apt-get install packageName.deb
. Có thể có sự khác biệt tinh tế ở đây và ở đó mà tôi không biết, nhưng cả hai sẽ tìm kiếm sự phụ thuộc và làm tất cả những thứ đó. Bạn có thể đọc câu trả lời ở đây để biết thêm thông tin về sự khác biệt giữa aptitude
và apt-get
.
Ngoài ra, aptitude
không có Super Cow Powers.
EDIT: Rõ ràng, nó làm.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
có thể không được cài đặt theo mặc định. Để cài đặt nó, làm sudo apt-get install aptitude
hoặc nhấp vào đây: aptitude .
Các thông tin sau đây không thực sự trả lời trực tiếp " Sự khác biệt giữa dpkg và aptitude / apt-get là gì? " Nhưng nó góp phần vào bức tranh lớn.
Từ bình luận của Carlos Campderrós dưới đây :
gdebi
là một công cụ khác là một loại hỗn hợp giữa apt-get
và aptitude
. Khi bạn sử dụng nó để cài đặt một .deb
gói ( gdebi packageName.deb
), nó sẽ xác định các phụ thuộc bị thiếu, cài đặt chúng bằng cách sử dụng apt-get
, và cuối cùng là cài đặt và định cấu hình gói bằng cách sử dụng dpkg
. Nó thậm chí còn có một GUI đơn giản và gọn gàng cung cấp cho bạn thông tin về .deb
gói, các tệp có trong gói và những phụ thuộc nào cần được cài đặt. Để xem GUI này, bạn sẽ làm gdebi-gtk packageName.deb
. Bạn có thể gdebi
thử bằng cách cài đặt nó sudo apt-get install gdebi
hoặc nhấp vào đây: gdebi .
Tôi không muốn gây nhầm lẫn cho bất kỳ ai, nhưng chỉ để cung cấp cho bạn một phần khác của bức tranh, có một định dạng gói Linux phổ biến khác được gọi là RPM và các tệp của nó có .rpm
phần mở rộng. Định dạng gói này được sử dụng trên các bản phân phối Linux dựa trên RPM (như Red Hat, CentOS và Fedora). Họ sử dụng lệnh rpm
để cài đặt một gói và yum
là phần đầu cho nó, đó là một gói thông minh. Vì vậy, .rpm
tệp của họ là tệp của chúng tôi .deb
, rpm
công cụ của họ là dpkg
công cụ của chúng tôi và của họ yum
là của chúng tôi apt-get
.
Từ bình luận của Paddy Landau dưới đây :
alien
là một công cụ chuyển đổi giữa .rpm
và .deb
các gói. Vì vậy, nếu bạn từng rơi vào tình huống có .rpm
gói và muốn cài đặt trên Ubuntu (hoặc bất kỳ bản phân phối dựa trên Debian nào khác), bạn có thể sử dụng lệnh alien rpm_packageName.rpm
để chuyển đổi thành gói .deb
, sau đó cài đặt nó bằng cách sử dụng dpkg
. Bạn có thể làm ngược lại (chuyển đổi .deb
sang .rpm
) bằng cách sử dụng alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
) mà trộn apt-get
/ aptitude
với dpkg
. Bạn gọi nó với gdebi some_package.deb
và nó sẽ phân tích các phụ thuộc của nó, gọi apt-get
để cài đặt những cái còn thiếu và khi tất cả các phụ thuộc được hoàn thành, sau đó gọi dpkg
để cuối cùng cài đặt gói của bạn.
alien
chuyển đổi các gói giữa .rpm
và .deb
. Điều này hữu ích cho các gói có sẵn cho RPM nhưng không phải cho DEB (hoặc ngược lại). Ví dụ, alien packagename.rpm
để làm cho nó có thể sử dụng được cho Ubuntu.
aptitude
không phải là tiền đề cho apt-get
. Cả hai chương trình đều là tiền đề cho libapt-pkg
thư viện.
Quản lý gói thông qua apt-get
chạy tay trong tay với /etc/apt/sources.list
tệp.
apt-get install <package_name>
cài đặt gói mới vào máy tính của bạn
apt-get build-dep <package_name>
Lệnh này tìm kiếm các kho lưu trữ và cài đặt các phụ thuộc xây dựng cho. Nếu gói không nằm trong kho thì nó sẽ trả về lỗi.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get cho phép cài đặt nhiều gói. tách các gói với một không gian.
auto-apt run <command_string>
Khi được gọi, lệnh auto-apt sẽ tự động cài đặt các gói khi truy cập tệp bị thiếu. Nếu một chương trình cố gắng truy cập một tệp được biết là thuộc gói đã gỡ cài đặt, auto-apt sẽ cài đặt gói đó bằng cách sử dụng apt-get
. Tính năng này yêu cầu apt và sudo để làm việc.
Truy cập trang hướng dẫn apt-get
aptitude
cung cấp chức năng dselect
và apt-get
cũng như nhiều tính năng bổ sung không có trong một trong hai chương trình.
aptitude
có vỏ của riêng nó là bàn phím hoặc chuột được kích hoạt và chạy trong cửa sổ đầu cuối
aptitude build-dep <package>
- Cài đặt các phụ thuộc xây dựng của các gói - có nghĩa là các gói cần thiết để biên dịch (hoặc xây dựng ) gói nguồn của nó. Ví dụ: nhiều gói cần debhelper
hoặc autotools
được xây dựng, nhưng không cần chúng để chạy.
Truy cập trang hướng dẫn năng khiếu
là một công cụ để cài đặt, xây dựng, gỡ bỏ và quản lý các gói Debian. liên kết
dpkg -i <package.deb>
cài đặt gói Debian vào máy tính của bạn. Nó không cài đặt bất kỳ phụ thuộc nào như tôi có thể tìm thấy từ các tập tin trợ giúp.
Để biết chi tiết gõ dpkg --help
vào một cửa sổ đầu cuối.
một hướng dẫn để quản lý tập tin có thể được tìm thấy ở đây
Tôi nghĩ điều quan trọng nhất và cũng có một điểm khác biệt là bạn nên sử dụng apt-get
công cụ để cài đặt các gói. ( apt
hoặc aptitude
là tốt như vậy).
Điều này là do dpkg
có nghĩa là để cài đặt các gói mà không cần cài đặt các gói phụ thuộc. Do đó chỉ cần cài đặt một gói với dpkg
, có thể dẫn đến một vấn đề sau này trong đó độ phân giải phụ thuộc có thể kết thúc với một hệ thống bị hỏng.
Bạn nên sử dụng dòng lệnh apt-get
hoặc apt
công cụ (kể từ 14.04) để cài đặt các gói. Các công cụ này đang sử dụng dpkg
cho bạn và đồng thời có cơ chế giải quyết phụ thuộc bên trong.