Trong bài viết này, chúng ta sẽ khám phá những gì quản lý gói và khám phá hai trình quản lý phổ biến nhất cho hệ thống Linux: APT (Công cụ gói nâng cao) và YUM (Yellowdog Updater, đã được sửa đổi). Chúng ta sẽ nghiên cứu các nguyên tắc cơ bản về cách thức hoạt động của trình quản lý gói Linux, so sánh các tính năng và ưu điểm của chúng và xem xét các ví dụ về ứng dụng thực tế, bao gồm các lệnh và chức năng cơ bản để quản lý các gói.
Người quản lý gói là các công cụ trong hệ điều hành được thiết kế để quản lý việc cài đặt, cập nhật và gỡ bỏ các thành phần phần mềm, được gọi là các gói. Nói một cách đơn giản, các trình quản lý gói giúp cài đặt, xóa và cập nhật phần mềm trên máy tính. Trong Hệ điều hành Linux, trình quản lý gói đặc biệt quan trọng vì chúng tự động hóa quy trình, đảm bảo rằng tất cả các chương trình trong hệ thống hoạt động cùng nhau một cách chính xác và không có xung đột.
Trình quản lý gói APT
Thông tin chung
APT là trình quản lý gói cho các hệ điều hành dựa trên Debian như Debian và Ubuntu, cũng bao gồm apt-get và apt-cache. Nó được sử dụng để cài đặt, gỡ bỏ và quản lý các gói phần mềm. Giống như bất kỳ tiện ích nào khác trên Linux, apt có cú pháp trực quan:
apt command option package_name
Các lệnh phổ biến nhất bao gồm:
update
– làm mới danh sách góiupgrade
– nâng cấp các gói đã cài đặtinstall
– cài đặt các gói mớiremove
– xóa một góipurge
– xóa một gói cùng với các tập tin cấu hình của nóautoremove
– xóa các gói không sử dụngsearch
– tìm kiếm các gói
Bạn có thể lấy thông tin về các lệnh cơ bản bằng cách sử dụng giúp đỡ phần:

Hoặc bằng cách mở một hướng dẫn toàn diện:
man apt
Trong hướng dẫn, bạn có thể làm quen với tất cả các lệnh có sẵn và mô tả chi tiết về từng lệnh. Ví dụ hiển thị:

Bên cạnh các lệnh cơ bản, người dùng cũng có thể sử dụng một đối số bổ sung – một tùy chọn. Sau đây là một số trong số chúng:
-y, --yes
– được sử dụng để tự động xác nhận tất cả các lời nhắc mà APT có thể đưa ra-q, --quiet
– làm cho đầu ra yên tĩnh hơn, nghĩa là giảm lượng thông tin hiển thị trên màn hình-t, --target-release
– cho phép chỉ định phiên bản hệ điều hành mục tiêu để cài đặt hoặc cập nhật các gói-f
– buộc cài đặt các gói, ngay cả khi có các phụ thuộc chưa được thỏa mãn-c
– chỉ định tệp cấu hình để sử dụng.
Ví dụ về việc sử dụng
Chúng ta hãy xem xét một số lệnh và tùy chọn trong thực tế. Ví dụ, chúng ta sẽ sử dụng Python3. Để bắt đầu, bạn cần cập nhật danh sách gói:
apt update
Sau đó, bạn có thể tiến hành cài đặt:
apt install python3
Nếu cần xóa công cụ này trong tương lai, bạn có thể sử dụng lệnh để xóa gói:
apt remove python3
Hoặc xóa gói cùng với các tệp cấu hình của nó. Lệnh này xóa hoàn toàn hệ thống khỏi gói và tất cả dữ liệu liên quan:
apt purge python3
Đối với việc sử dụng hàng ngày, bạn nên thực hiện cập nhật các gói đã cài đặt. Có thể thực hiện việc này bằng lệnh:
apt upgrade
Một lệnh hữu ích khác là lệnh xóa các gói được cài đặt làm gói phụ thuộc nhưng không còn cần thiết cho bất kỳ gói nào:
apt autoremove
Hãy xem xét những ví dụ tương tự nhưng sử dụng các tùy chọn.
Tự động cập nhật danh sách gói:
apt-get update -y
Cập nhật thầm lặng tất cả các gói đã cài đặt:
apt-get upgrade -q
Cài đặt gói chỉ định phiên bản đích của hệ điều hành (ví dụ: Ubuntu 22.04):
apt-get install <package_name> -t jammy
Kết luận
Khi kết thúc phần về trình quản lý gói APT, cần lưu ý cả ưu điểm và nhược điểm của nó. Các ưu điểm bao gồm:
- Nhiều gói lựa chọn: truy cập vào kho lưu trữ chính thức và của bên thứ ba;
- Dễ sử dụng: các lệnh trực quan để cài đặt, cập nhật và gỡ bỏ;
- Quản lý tự động các mối phụ thuộc: giải quyết các mối phụ thuộc mà không cần sự can thiệp của người dùng;
- Bảo mật: sử dụng chữ ký mật mã để xác minh tính xác thực của các gói hàng.
Trong số những nhược điểm, cần phải đề cập đến:
- Hỗ trợ hạn chế cho các gói của bên thứ ba;
- Cập nhật chậm hơn so với một số trình quản lý gói khác;
- Thiếu hỗ trợ cho một số kiến trúc.
Bất chấp những nhược điểm này, APT vẫn là một trong những công cụ quản lý gói phổ biến và đáng tin cậy nhất trong thế giới Linux, mang đến cho người dùng sự tiện lợi và hiệu quả trong việc cài đặt và cập nhật phần mềm.
Trình quản lý gói YUM
Thông tin chung
YUM là trình quản lý gói cho hệ điều hành Linux, được phát triển bởi Red Hat để quản lý việc cài đặt, cập nhật và gỡ bỏ phần mềm. Nó đóng vai trò là công cụ quản lý gói tiêu chuẩn trong các bản phân phối như RHEL, CentOSvà Fedora.
Cú pháp của lệnh khá đơn giản và trực quan. Nó chủ yếu bao gồm các từ khóa và tham số xác định hành động được thực hiện bởi trình quản lý gói. Chúng ta hãy xem xét các lệnh chính chi tiết hơn.
Cài đặt một gói:
yum install <package_name>
Cập nhật gói:
yum update <package_name>
Xóa một gói:
yum remove <package_name>
Tìm kiếm gói theo từ khóa:
yum search <keyword>
Liệt kê các gói đã cài đặt:
yum list
Bạn có thể làm quen với danh sách đầy đủ các lệnh có sẵn trong giúp đỡ phần:

Ngoài bộ lệnh chuẩn, công cụ này còn hỗ trợ các tùy chọn và cờ bổ sung. Sau đây là một số ví dụ về các tham số này:
-C
– sử dụng tệp cấu hình-q
– hạn chế tiếng ồn để có thêm sự yên tĩnh-y
– vô hiệu hóa tương tác-v
– cho phép xuất ra chi tiết-e
– cho phép mở rộng đầu ra
Các loại cờ phổ biến nhất bao gồm:
--installroot
– cài đặt các gói trong một thư mục được chỉ định--releasever
– cài đặt các gói từ phiên bản phát hành đã chỉ định--exclude
– loại trừ các gói được chỉ định khỏi quá trình cài đặt--allowerasing
– cho phép xóa các gói đã cài đặt trong quá trình cài đặt các gói mới--nogpgcheck
– vô hiệu hóa kiểm tra GPG trong quá trình cài đặt gói
YUM được cấu hình thông qua các tập tin cấu hình:
- /etc/yum.conf – tệp này chứa các thiết lập chung cho chương trình.
- /etc/yum.repos.d – thư mục này lưu trữ các tệp cấu hình cho mỗi kho lưu trữ mà YUM tải xuống các gói.
Ví dụ sử dụng
Chúng ta hãy sử dụng Nginx làm cơ sở cho các ví dụ của chúng ta. Để cài đặt gói, hãy sử dụng lệnh:
yum install nginx
Hiển thị thông tin gói:
yum info nginx

Hiển thị danh sách các bản cập nhật có sẵn cho Nginx:
yum check-update nginx
Thực hiện cập nhật lên phiên bản mới nhất:
yum update nginx
Gỡ bỏ chương trình khỏi hệ thống:
yum remove nginx
Cập nhật tất cả các gói đã cài đặt bằng lệnh sau:
yum update
Nếu bạn chỉ muốn kiểm tra các bản cập nhật khả dụng mà không cần cài đặt chúng:
yum check-update
Chúng ta hãy chuyển sang các ví dụ phức tạp hơn, bao gồm các tham số và cờ đã thảo luận trước đó.
Cài đặt gói nginx mà không cần xuất ra và xác nhận, bằng cách sử dụng tệp cấu hình /etc/yum.conf:
yum -q -y -C install nginx
Cập nhật tất cả các gói, ngoại trừ hạt nhân, với đầu ra chi tiết:
yum -v --exclude=kernel update
Xóa gói Apache và tất cả các gói phụ thuộc của nó, cho phép xóa các gói đã cài đặt trong quá trình này:
yum -y remove httpd --allowerasing
Tổng kết
Giống như bất kỳ công cụ nào, YUM có những điểm mạnh và điểm yếu. Ưu điểm của nó bao gồm:
- YUM cung cấp giao diện đơn giản và trực quan để quản lý các gói.
- Nó tự động quản lý các phụ thuộc trong quá trình cài đặt hoặc gỡ bỏ các gói.
- Nó cho phép truy cập vào kho lưu trữ tập trung chứa hàng nghìn gói sẵn sàng sử dụng.
- Nó hỗ trợ tính năng cập nhật tự động.
Những bất lợi bao gồm:
- Tốc độ. Thời gian thực hiện có thể chậm, đặc biệt khi xử lý khối lượng dữ liệu lớn hoặc mạng chậm.
- Cập nhật cơ sở dữ liệu. Một số thao tác yêu cầu cập nhật cơ sở dữ liệu gói, điều này có thể làm chậm quá trình quản lý gói.
- Hỗ trợ hạn chế cho các phiên bản gói. YUM đôi khi chỉ cung cấp các phiên bản gói cũ hơn, điều này có thể gây ra vấn đề nếu bạn cần phiên bản mới nhất của phần mềm.
- Cấu hình kho lưu trữ. Đôi khi cần thiết lập thêm kho lưu trữ để truy cập một số gói hoặc phiên bản nhất định.
Nhìn chung, YUM là một công cụ mạnh mẽ và tiện lợi để quản lý các gói trong hệ thống dựa trên Red Hat, nhưng giống như bất kỳ phần mềm nào, nó có ưu điểm và nhược điểm cần cân nhắc khi sử dụng.
Trình quản lý gói là cần thiết
Cả APT và YUM đều đóng vai trò quan trọng trong việc quản lý phần mềm trên Linux, cung cấp quyền truy cập thuận tiện vào các gói và bản cập nhật. Mặc dù có sự khác biệt về cú pháp và tính năng, các trình quản lý gói này đảm bảo quản lý hiệu quả các phụ thuộc và bản cập nhật phần mềm. Bất kể lựa chọn nào, mỗi trình quản lý gói vẫn là một công cụ không thể thiếu để cài đặt nhiều ứng dụng, cho dù Trình soạn thảo văn bản Linux hoặc bất kỳ phần mềm nào khác.