Người mới dùng distro Debian-based thường bối rối: một số hướng dẫn dùng "apt", số khác "apt-get", vài cái cũ dùng "aptitude". Đã đến lúc làm rõ "tại sao, ở đâu, cái gì, và như thế nào" của góc nhỏ nhưng rắc rối này trong Linux.
Làm rõ sự nhầm lẫn về APT
Dù có khác biệt nhỏ, apt, apt-get, aptitude đều chỉ là các "mặt" khác nhau của hệ thống quản lý gói Debian tương tác với kho online. Còn dpkg xử lý cài đặt file .deb cục bộ (tương tự .msi trên Windows). Mỗi distro có công cụ riêng: Solus (EOPKG), Fedora (RPM), Arch (AUR), Android (APK/Play Store). Cấu trúc Linux quen thuộc hơn bạn nghĩ.
Aptitude là gì?
Aptitude là "trung tâm thần kinh" của APT - giao diện front-end cho phép xem chi tiết mọi gói trong kho và đã cài. Cũng là một trong những GUI cũ chạy ngay trong terminal.
APT là gì?
Advanced Packaging Tool - giải pháp của Debian để chủstream hóa việc cài, gỡ, tìm kiếm, quản lý ứng dụng. Mọi distro base Debian đều dùng APT, nhưng không phải áp dụng y hệt. APT không phải là lệnh apt - nó bao gồm apt-get, apt-mark, apt-cache...
Distro nào dùng APT?
Mọi distro "Debian-based": Debian, Ubuntu, Linux Mint, MX Linux, Grml, Kali Linux, Tails, PureOS, Raspberry Pi OS, Elementary OS, SteamOS (chuyển sang Arch 2021). Nhiều distro khác nữa - test bằng lệnh apt-get trong terminal.
apt-get vs apt
Nhiều tutorial dùng xen kẽ apt-get và apt khi cài gói. Thực tế không khác gì nhau cho cài/gỡ. Nhưng đừng nhầm chúng là các phiên bản.
apt-get chỉ là một trong nhiều lệnh của APT. Người mới dễ bối rối phải nhớ lệnh nào thuộc apt-get, apt-mark, apt-cache. Ví dụ: tìm gói là apt-cache search.
Lệnh apt gom 3 lệnh trên thành một "wrapper" thống nhất, đơn giản hóa cho người dùng terminal hàng ngày. apt search cho kết quả gần như apt-cache search.
Về các flag APT
Output apt search hiển thị thêm trạng thái gói (flag) so với apt-cache search. Các flag phổ biến:
A- Cài tự động (dependency hoặc meta-package)B- Gói bị lỗi, cần cài lạiH- Cài dở dang (half-installed)c- Đã gỡ nhưng còn file config → dùngapt purgep- Đã purge hoặc chưa bao giờ càiv- Virtual package (cung cấp chức năng cho app khác)i- Đang cài trên hệ thốngh- Đã hold (chặn update)
Không phải apt nào cũng như nhau!
apt có thể có nhiều argument hơn trên distro này so với distro kia. Ubuntu thiếu "hold", Mint có đầy đủ. Mint có wrapper hoàn chỉnh nhất trong các distro Debian-based - do community Mint phát triển cho cả người mới và power user.
Hướng dẫn lệnh APT toàn tập
Danh sách lệnh APT kèm dạng rút gọn apt (nếu áp dụng). Nếu distro không hỗ trợ, dùng lệnh gốc.
add-apt-repository(apt add-repository) - Thêm repo mới (PPA). VD:sudo apt add-repository ppa:lutris-team/lutrisapt-get clean&apt-get autoremove(apt clean&apt autoremove) - Dọn rác: clean xóa cache cài đặt, autoremove gỡ package không dùng. VD:sudo apt autoremove && sudo apt cleanapt-get changelog(apt changelog) - Xem thay đổi mới của gói. VD:apt changelog brave-browserapt contains- Chỉ có Mint. Tìm file bị thiếu trong gói nào. VD:apt contains gettext.shapt-get install(apt install) - Cài gói. Flag--reinstallcài lại. VD:sudo apt reinstall firefoxapt-get remove(apt remove) - Gỡ gói (cài bằng APT hoặc DPKG). VD:sudo apt remove grub-customizerapt-get update(apt update) - Chỉ làm mới cache, so sánh version repo với cài đặt. KHÔNG cập nhật ứng dụng.apt-get upgrade(apt upgrade) - Tải và cài các update có sẵn. Không cần tắt app đang chạy.apt-mark hold/unhold/showhold(apt hold/unhold/showhold) - Quản lý hold package. Hold = chặn update. VD:sudo apt hold pulseaudio. Cảnh báo: Hold package mà package khác phụ thuộc có thể làm hỏng hệ thống.apt-cache search/show(apt search/show) - Cặp đôi hoàn hảo: search tìm gói, show xem chi tiết. VD:apt search gimp
Xem manual trong terminal: man apt, man apt-get...
Lỗi "apt-get command not found"
Nếu APT biến mất, không phải thế giới kết thúc. Kiểm tra lại distro có dùng APT không (Fedora=DNF, Arch=Pacman, openSUSE=zypper...).
Nếu chắc chắn dùng Debian-based mà thiếu APT: dùng dpkg (quản lý gói cục bộ) để cài lại. Tải file .deb phù hợp kiến trúc CPU từ repo chính thức → dpkg -I xem dependency → cài dependency → dpkg -i file.deb. Có thể phải thử nhiều version APT khác nhau cho phù hợp dependency hiện tại.
Câu hỏi thường gặp
1. Có lệnh APT không an toàn?
Cần hiểu rõ lệnh trước khi chạy. Trước update lớn (đặc biệt kernel mới), hãy backup đầy đủ. Cẩn trọng nhất với apt hold và apt full-upgrade/dist-upgrade. Hold có thể làm hỏng hệ thống nếu không biết mình làm gì. full-upgrade/dist-upgrade dùng khi nâng cấp phiên bản LTS mới, có thể gỡ package bạn đang dùng. An toàn hơn: apt upgrade rồi apt autoremove.
2. apt tốt hơn apt-get?
Tùy mục đích. Ngón tay mỏi gõ nhiều lệnh? Dùng apt nếu không cần tính năng đặc thù của apt-get. apt không chỉ rút gọn mà còn cung cấp thêm thông tin (như so sánh search). Nhưng nếu không dùng Mint (wrapper khổng lồ), apt-get vẫn là lựa chọn old-school đáng tin cậy.
3. Repository khác App Store như thế nào?
Người dùng thường không thấy khác biệt lớn. Khác biệt ở "tính thay thế" (fungibility) của phần mềm: Linux cho phép chọn lựa tự do, app store mobile thì cứng nhắc. PPAs trên Ubuntu có thể bị xâm nhập mã độc. Phi tập trung đi kèm trách nhiệm: chỉ thêm repo từ nguồn uy tín, dự án lâu đời.
Kết luận
Hy vọng bạn thấy sức mạnh của APT khi nắm vững bộ lệnh. Nó không chỉ cài/gỡ phần mềm - là framework phức tạp giúp khám phá và quyết định thông minh hơn. Tiếp theo: chạy lệnh Bash nền trên Linux và 15 lệnh LS cần biết.