Lệnh apt Linux là công cụ quản lý gói phần mềm quen thuộc trên các hệ điều hành Debian/Ubuntu, giúp người dùng dễ dàng cài đặt, cập nhật và gỡ bỏ ứng dụng chỉ với vài dòng lệnh đơn giản. Với khả năng tự động xử lý phụ thuộc và giao diện thân thiện hơn so với các công cụ cũ, apt trở thành lựa chọn phổ biến cho cả người mới lẫn quản trị viên hệ thống. Trong bài viết này, mình sẽ hướng dẫn chi tiết cách sử dụng lệnh apt trên Linux kèm theo các ví dụ thực tế để bạn có thể áp dụng nhanh chóng.
Những điểm chính
- Khái niệm: Hiểu rõ lệnh apt Linux là công cụ quản lý gói phần mềm trên Debian/Ubuntu, giúp tự động hóa việc cài đặt, cập nhật và gỡ bỏ phần mềm.
- Cách hoạt động: Nắm được cách APT xử lý gói, làm việc với kho phần mềm và cung cấp giao diện dòng lệnh, giúp hiểu rõ cơ chế hoạt động của công cụ.
- So sánh với apt-get: Phân biệt rõ sự khác biệt giữa apt (hiện đại, thân thiện) và apt-get (truyền thống, ổn định), giúp lựa chọn đúng công cụ cho từng tình huống.
- Các lệnh cần thiết: Nắm vững các lệnh cơ bản và nâng cao để cập nhật hệ thống, cài đặt, gỡ bỏ, dọn dẹp và quản lý gói, giúp bạn thực hiện các tác vụ quản trị một cách hiệu quả.
- Khắc phục sự cố: Biết cách xử lý các lỗi phổ biến như không lấy được lock hoặc gói bị hỏng, giúp bạn nhanh chóng giải quyết các vấn đề thường gặp.
- Câu hỏi thường gặp: Được giải đáp các thắc mắc về sự khác biệt với các trình quản lý gói khác và khả năng xử lý lỗi phụ thuộc, giúp củng cố kiến thức và làm rõ các vấn đề thực tế.
Lệnh apt trong Linux là gì?
Lệnh apt (Advanced Package Tool) là công cụ quản lý gói trên các hệ điều hành Linux Debian/Ubuntu, giúp tự động tải, cài đặt, cập nhật và gỡ bỏ phần mềm một cách nhanh chóng, an toàn và dễ sử dụng hơn so với các công cụ cấp thấp như apt-get.

Lệnh apt hoạt động như thế nào?
Lệnh apt hoạt động như sau:
- Xử lý gói phần mềm: APT đảm nhiệm toàn bộ quy trình tải xuống, giải nén, cấu hình và cài đặt các gói định dạng .deb, đồng thời tự động giải quyết phụ thuộc giữa các gói.
- Làm việc với kho phần mềm: Công cụ này giao tiếp với các kho lưu trữ (repositories) được khai báo trong hệ thống để truy vấn, lấy về và đồng bộ phiên bản gói phần mềm phù hợp cho hệ điều hành.
- Giao diện dòng lệnh: Lệnh apt cung cấp môi trường CLI hiện đại, có màu sắc và thanh hiển thị tiến trình, đồng thời gộp các chức năng thường dùng vốn tách rời trong apt-get và apt-cache vào một bộ lệnh thân thiện hơn với người dùng.

Sự khác nhau giữa lệnh apt và apt-get
Nhiều người dùng Linux lâu năm vẫn có thói quen sử dụng apt-get, nhưng trên các bản Ubuntu hiện đại (từ 16.04 trở đi), apt mới là lệnh được khuyến nghị dùng cho thao tác hằng ngày:
- Lệnh apt-get và apt-cache: Là các công cụ cấp thấp (low-level), mạnh nhưng tách rời nhau, nên người dùng cần ghi nhớ từng ngữ cảnh cụ thể để lựa chọn lệnh phù hợp.
- Lệnh apt: Là công cụ cấp cao (high-level) hướng đến người dùng cuối (end-user), kết hợp các chức năng thường dùng nhất của cả apt-get và apt-cache vào một lệnh thống nhất, đồng thời bổ sung màu sắc và thanh hiển thị tiến trình (progress bar) giúp việc theo dõi trực quan hơn.

Bảng so sánh:
| Hành động | Lệnh cũ (apt-get / apt-cache) | Lệnh mới (apt) |
|---|---|---|
| Làm mới danh sách gói | apt-get update | apt update |
| Cài đặt gói | apt-get install <tên> | apt install <tên> |
| Gỡ bỏ gói | apt-get remove <tên> | apt remove <tên> |
| Gỡ bỏ hoàn toàn | apt-get purge <tên> | apt purge <tên> |
| Cập nhật tất cả gói | apt-get upgrade | apt upgrade |
| Cập nhật nhân hệ thống | apt-get dist-upgrade | apt full-upgrade |
| Tìm kiếm gói | apt-cache search <tên> | apt search <tên> |
| Xem thông tin gói | apt-cache show <tên> | apt show <tên> |
| Dọn dẹp gói rác | apt-get <tên> | apt autoremove |
Theo kinh nghiệm cá nhân, mình ưu tiên sử dụng apt trong hầu hết các thao tác hằng ngày vì cú pháp gọn gàng, dễ nhớ và hiển thị trực quan hơn, đặc biệt hữu ích khi thao tác nhanh trên server. Tuy nhiên, khi viết script tự động hoặc triển khai trên môi trường production, mình vẫn lựa chọn apt-get để đảm bảo tính ổn định của đầu ra và tránh các thay đổi ngoài ý muốn giữa các phiên bản hệ điều hành.
Cách sử dụng lệnh apt trên Linux
Cập nhật hệ thống
Trước khi tiến hành cài đặt bất kỳ gói phần mềm nào, bạn nên chạy lệnh sau để tải về danh sách phiên bản mới nhất từ kho lưu trữ:
sudo apt updateTiếp theo, để nâng cấp các gói đã cài đặt lên phiên bản mới hơn, bạn có thể sử dụng lệnh:
sudo apt upgrade -y
Cài đặt phần mềm
Để cài đặt một gói (ví dụ: nginx), bạn dùng lệnh:
sudo apt install nginxBạn có thể cài đặt nhiều gói trong cùng một lệnh, ví dụ:
sudo apt install git curl vimGỡ bỏ phần mềm
Cách 1: Remove (giữ lại file cấu hình)
Bạn chỉ xóa các file thực thi, đồng thời giữ nguyên các file cấu hình trong /etc/, thích hợp khi dự định cài đặt lại gói sau này:
sudo apt remove nginxCách 2: Purge (xóa sạch sẽ)
Loại bỏ cả phần mềm lẫn các file cấu hình đi kèm, phù hợp khi cần đưa hệ thống về trạng thái như trước khi cài:
sudo apt purge nginxDọn dẹp hệ thống
Sau khi gỡ bỏ phần mềm, các gói phụ thuộc (dependencies) không còn được sử dụng vẫn có thể tồn tại trên hệ thống, vì vậy bạn cần dọn dẹp chúng bằng lệnh:
sudo apt autoremoveQuản lý nâng cao
Tìm kiếm gói
Khi muốn tìm gói Python mà không nhớ chính xác tên, bạn có thể dùng:
apt search python3 | grep interpreterLiệt kê các gói đã cài
Để liệt kê toàn bộ các gói hiện đang được cài đặt thì bạn có thể sử dụng lệnh:
apt list --installedBạn kiểm tra nhanh xem một gói cụ thể đã được cài hay chưa:
apt list --installed | grep curlGiữ gói không cho cập nhật (Hold)
Nếu cần giữ một gói ở phiên bản hiện tại và không muốn apt upgrade nâng cấp (ví dụ như một phiên bản driver hoặc kernel cũ), bạn cần sử dụng lệnh:
sudo apt-mark hold <tên_gói>Khi muốn cho phép gói đó tiếp tục được cập nhật trở lại, bạn hãy dùng lệnh sau:
sudo apt-mark unhold <tên_gói>/fKhắc phục sự cố thường gặp khi sử dụng lệnh apt trên Linux
Lỗi Could not get lock /var/lib/dpkg/lock
Thông báo lỗi này xuất hiện khi một tiến trình apt khác đang hoạt động ở chế độ nền (chẳng hạn cơ chế tự động cập nhật của Ubuntu) hoặc khi phiên làm việc với terminal bị đóng đột ngột trong lúc cài đặt gói. Cách xử lý:
- Trước hết, bạn nên chờ thêm vài phút để kiểm tra xem tiến trình đang chạy có hoàn tất hay không.
- Nếu tình trạng treo kéo dài, bạn có thể dừng các tiến trình liên quan bằng lệnh
sudo killall apt apt-get- Khi lỗi vẫn tiếp diễn, có thể xóa các file lock với mức độ thận trọng cao
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -aLỗi Broken packages
Khi quá trình cài đặt hoặc nâng cấp bị gián đoạn dẫn đến gói và phụ thuộc ở trạng thái không nhất quán, bạn có thể dùng lệnh sau để sửa các gói bị lỗi:
sudo apt --fix-broken install
Câu hỏi thường gặp
APT trong Linux có giống với các trình quản lý gói khác như YUM hay DNF không?
APT là trình quản lý gói dùng cho các distro dựa trên Debian và gói .deb, khác với YUM/DNF vốn dùng cho hệ Red Hat/Fedora và gói .rpm.
Có thể dùng APT để chỉ tải gói về mà không cài đặt ngay không?
APT hỗ trợ chỉ tải gói về máy (vào cache) mà chưa cài đặt ngay, phù hợp khi cần chuẩn bị gói trên máy có internet rồi dùng ở môi trường khác.
APT có hỗ trợ kiểm tra và sửa lỗi phụ thuộc gói không?
APT có các tùy chọn kiểm tra và tự sửa lỗi phụ thuộc, giúp xử lý tình trạng broken packages sau khi cài đặt hoặc nâng cấp bị gián đoạn.
APT Linux là công cụ quản lý gói không thể thiếu trên các bản phân phối dựa trên Debian, giúp cài đặt, cập nhật, nâng cấp và gỡ bỏ phần mềm một cách nhanh chóng và ổn định ngay từ dòng lệnh. Khi nắm vững các lệnh APT Linux cơ bản, việc quản trị hệ thống, tối ưu hiệu năng và giữ cho môi trường làm việc luôn ở trạng thái an toàn, cập nhật trở nên đơn giản và chủ động hơn rất nhiều.




