Tại sao các bản phân phối Linux dựa trên Debian lại có apt
cũng như apt-get
? Làm apt
thay thế apt-get
hay chúng có những mục đích khác nhau? Chúng tôi giải thích mối quan hệ giữa hai lệnh này.
Hệ thống quản lý gói Debian
Một nỗ lực chính trong việc tạo bản phân phối Linux là thiết kế và tạo ra một hệ thống quản lý gói. Người dùng của bạn cần có cách cài đặt và gỡ cài đặt các gói phần mềm. Điều đó yêu cầu phần mềm truy xuất các tệp gói từ kho phần mềm của bạn và cài đặt chúng một cách chính xác trên máy tính của người dùng.
Đây là một công việc không hề nhỏ. Ngay cả khi đặt kỹ thuật phần mềm sang một bên, lưu trữ các kho phần mềm cũng tốn thời gian, công sức và chi phí. Đó là một trong những lý do tại sao rất nhiều bản phân phối Linux “mới” là nguồn gốc của bản phân phối Linux hiện có.
Điều này dẫn đến các gia đình hoặc phả hệ của các bản phân phối Linux, chẳng hạn như các bản phân phối dựa trên Debian, các bản phân phối dựa trên Red Hat, các bản phân phối dựa trên Arch, v.v.
Dòng bản phân phối Debian — bao gồm Ubuntu và tất cả các bản phân phối có nguồn gốc từ Ubuntu — sử dụng Trình quản lý gói Debian. Điều này sử dụng các tệp gói có phần mở rộng tệp “.deb”, được gọi là tệp DEB. Tệp DEB là tệp nén chứa các tệp lưu trữ khác. Các tệp lưu trữ chứa các tệp thực thi của ứng dụng, trang người dùng, thư viện, v.v.
Cài đặt phần mềm từ tệp DEB có nghĩa là giải nén tất cả các tệp thành phần này và đặt chúng vào đúng vị trí trên máy tính của bạn. Nó cũng yêu cầu tương tác với hệ điều hành và môi trường màn hình để ứng dụng hiển thị trong các tìm kiếm ứng dụng và biểu tượng của nó có thể được thêm vào bến tàu hoặc menu hệ thống.
Các apt-get
và apt
cả hai lệnh đều làm điều đó. Nhưng tại sao chúng ta có hai lệnh cho cùng một thứ?
Chuỗi mệnh lệnh
Gói thực sự thực hiện cài đặt được gọi là dpkg
. Nó thực sự là một họ lệnh bao gồm dpkg-split
, dpkg-trigger
và dpkg-divert
. Chúng được gọi, nếu và theo yêu cầu, bởi các công cụ trong bộ Công cụ Gói Nâng cao, hoặc APT. APT là một bộ sưu tập các công cụ khác, bao gồm apt-get
, apt-cache
và apt
.
Các dpkg
lệnh được coi là lệnh cấp thấp. Ngoài những tương tác đơn giản nhất, nó trở nên rất phức tạp với rất nhiều tùy chọn. Các apt-get
lệnh hoạt động như một giao diện người dùng cho dpkg
bộ lệnh. Điều này đơn giản hóa vấn đề đáng kể. apt-get
được thiết kế như một lệnh hướng tới người dùng chứ không phải lệnh nền cấp thấp. Mặc dù vậy, bất chấp vai trò đối mặt với con người, một lệnh khác được gọi là apt-cache
được sử dụng để hiển thị thông tin cho người dùng.
Các apt
lệnh cung cấp một cách khác để “nói chuyện” với dpkg
thông qua một công cụ dòng lệnh thân thiện với người dùng và dễ tiếp cận hơn. Nó cung cấp một tập hợp con các tính năng của apt-get
nhưng nó là một tập hợp con lớn và nó cung cấp tất cả các tính năng thường được sử dụng và nó cũng bao gồm chức năng từ apt-cache
.
Linux Mint cần một đề cập đặc biệt ở đây. Các nhà bảo trì Linux Mint đã phát triển phiên bản của riêng họ apt
là một trình bao bọc Python cho apt-get
. Đó không phải là apt
chúng tôi đang nói về ở đây. Chúng tôi đang đề cập đến Debian chính thống apt
được phát hành vào năm 2014, và đã thu hút được sự chú ý và thu hút từ người dùng khi nó được đưa vào Ubuntu 16.04 vào năm 2016.
Sự khác biệt giữa apt và apt-get
Vì thế, dpkg
là ứng dụng nền cấp thấp. Các apt-get
lệnh là một giao diện đầy đủ tính năng nhưng được đơn giản hóa để dpkg
và apt
là một phiên bản thân thiện với người dùng hơn nhưng hơi bị tước bỏ apt-get
.
Nhưng mà apt-get
và apt
cung cấp nhiều hơn chỉ là một giao diện dễ dàng dpkg
. Họ làm những điều mà dpkg
không làm. Họ sẽ truy xuất các tệp từ kho lưu trữ và sẽ cố gắng hỗ trợ các phần phụ thuộc và xung đột bị thiếu.
Đổi lại, apt
lệnh thực hiện một số việc apt-get
không. Nó cung cấp thêm thông tin về loại mà người dùng bình thường muốn xem trong quá trình cài đặt và loại bỏ một số thông tin khó hiểu hơn apt-get
các màn hình. apt
cung cấp phản hồi trực quan vượt trội và sử dụng các điểm nổi bật màu sắc và thanh tiến trình trong cửa sổ đầu cuối.
Có một số lệnh phổ biến giữa apt
và apt-get
. Tất cả các lệnh này có thể được đặt trước apt
hoặc apt-get
và sẽ hành xử giống nhau:
- Tải về tên gói hàng: Cài đặt một gói.
- gỡ bỏ tên gói hàng: Gỡ bỏ (gỡ cài đặt) một gói.
- thanh trừng tên gói hàng: Loại bỏ một gói và các tệp cấu hình của nó.
- cập nhật tên gói hàng: Cập nhật thông tin kho.
- nâng cấp: Cập nhật tất cả các gói.
- autoremove: Loại bỏ các thư viện và các gói khác không còn cần thiết.
Các apt full-upgrade
tùy chọn thay thế apt-get dist-upgrade
quyền mua.
Đây là các lệnh mới cho apt
:
-
tìm kiếm apt: Tìm kiếm tên gói trong kho. Điều này cũng giống như
apt-cache search
-
apt show: Hiển thị thông tin về một gói. Điều này cũng giống như
apt-cache show
. - danh sách apt quyền mua: Hiển thị danh sách các gói đã cài đặt hoặc có thể nâng cấp.
-
apt chỉnh sửa-nguồn: Trực tiếp chỉnh sửa danh sách các kho lưu trữ
apt
tìm kiếm các gói.
Cài đặt ứng dụng
Bạn có thể dùng apt search
để xem liệu một gói có tồn tại trong kho lưu trữ hay không hoặc để kiểm tra xem bạn đã đặt đúng tên cho gói đó chưa. Giả sử bạn muốn cài đặt Scribus nhưng bạn không biết tên gói. Bạn có thể thử tìm kiếm scribus-desktop
.
apt search scribus-desktop
Lần tìm kiếm đó không tìm thấy gì cả. Chúng tôi sẽ thử lại với manh mối tìm kiếm ngắn hơn, chung chung hơn.
apt search scribus
Điều này trả về một số lượt truy cập và chúng ta có thể thấy rằng có một lượt truy cập được gọi là “scribus” và chắc chắn có vẻ như nó là gói cốt lõi cho ứng dụng xuất bản trên máy tính để bàn Scribus. Các apt show
lệnh sẽ cung cấp cho chúng tôi chi tiết hơn.
apt show scribus
Chúng tôi nhận được một kết xuất thông tin về gói, bao gồm những gì sẽ được cài đặt và mô tả về phần mềm.
Nó cũng gợi ý các gói khác có thể được yêu cầu, tùy thuộc vào nhu cầu của chúng tôi.
Để cài đặt gói chúng ta cần sử dụng sudo
.
sudo apt install scribus
Các tệp được truy xuất từ các kho lưu trữ. Tệp hiện đang được truy xuất được đánh dấu bằng màu nâu.
Khi các tệp đã được truy xuất, chúng sẽ được cài đặt. Tiến trình thông qua cài đặt được hiển thị dưới dạng phần trăm hiển thị bằng chữ số và dưới dạng thanh tiến trình.
Các lệnh khác
Các apt list
và apt edit-sources
các lệnh là các tùy chọn trong apt
điều đó không tồn tại trong apt-get
.
Các apt list
lệnh có thể được sử dụng với --installed
hoặc --upgradeable
các tùy chọn để xem các gói trên máy tính của bạn đã được cài đặt và những gói nào có thể được nâng cấp.
Để xem danh sách các ứng dụng được cài đặt trên máy tính của bạn, hãy sử dụng:
apt list --installed
Cuộn qua đầu ra, chúng ta có thể thấy hai mục nhập cho ứng dụng Scribus mới được cài đặt của chúng tôi.
Để xem có thể nâng cấp bất kỳ ứng dụng nào đã cài đặt hay không, hãy sử dụng --upgradeable
quyền mua.
apt list --upgradeable
Các apt
lệnh cũng cung cấp một cách để bạn chỉnh sửa thông tin được lưu trữ về kho apt
tìm kiếm các gói. Chỉ làm điều này nếu bạn biết mình đang làm gì.
sudo apt edit-sources
Lệnh này mở trình chỉnh sửa mặc định của bạn và tải tệp chứa thông tin kho lưu trữ.
Tôi nên sử dụng apt hoặc apt-get?
Các apt-get
lệnh không được cập nhật thường xuyên và đó là một điều tốt. Nó phải duy trì khả năng tương thích ngược. Khả năng tương thích ngược không phải là mối quan tâm đối với apt
. Nó được coi và coi như một lệnh hướng tới người dùng.
Để sử dụng hàng ngày, hãy sử dụng apt
.
Nếu bạn viết bất cứ điều gì liên quan đến cài đặt gói, hãy sử dụng apt-get
. Điều đó mang lại cho bạn cơ hội lớn nhất về tính di động và khả năng tương thích trong các tập lệnh của bạn.