Trong Linux, việc quản lý phần mềm và các gói cần thiết rất quan trọng trong việc đảm bảo hệ thống hoạt động ổn định và hiệu quả. YUM là một công cụ rất hữu ích được sử dụng rộng rãi trong các bản phân phối dựa trên Red Hat, như CentOS và Fedora. Bài viết này sẽ giúp bạn hiểu rõ hơn về YUM là gì và cách sử dụng lệnh YUM để quản lý gói phần mềm trên hệ thống Linux của bạn.
Tổng quan về YUM
YUM là gì?
YUM (Yellowdog Updater Modified) là một công cụ quản lý gói phần mềm được sử dụng trong hệ thống Linux. Chức năng chính của YUM là đơn giản hóa quá trình cài đặt, cập nhật và quản lý các gói phần mềm trên hệ thống Linux.
Công cụ cho phép người dùng dễ dàng tìm kiếm các gói phần mềm có sẵn, cài đặt phần mềm mới, cập nhật các gói phần mềm hiện có lên phiên bản mới nhất và gỡ bỏ các gói phần mềm khi chúng không còn cần thiết nữa.
Ngoài ra, YUM còn xử lý các phụ thuộc của gói phần mềm (những thành phần cần thiết để gói phần mềm hoạt động đúng cách). YUM có thể tự động giải quyết và cài đặt các phụ thuộc này, đảm bảo rằng phần mềm bạn cài đặt sẽ hoạt động một cách mượt và ổn định.
Các thành phần chính của YUM
Repositories (Kho lưu trữ)
Đây là nơi chứa các gói phần mềm và thông tin về chúng. Mỗi kho lưu trữ là một thư mục chứa các tệp RPM (Red Hat Package Manager) chứa mã nguồn của phần mềm cũng như thông tin về phiên bản, phụ thuộc và các thông tin khác.
Metadata (Siêu dữ liệu)
Mỗi kho lưu trữ chứa các tệp siêu dữ liệu (metadata), chẳng hạn như tệp repodata, chứa thông tin về các gói có sẵn, phụ thuộc và các phiên bản. Siêu dữ liệu giúp YUM biết chính xác các gói nào có sẵn và cách chúng liên quan đến nhau.
Commands (Lệnh)
Bạn sẽ sử dụng các lệnh YUM để tương tác với hệ thống quản lý gói. Các lệnh này bao gồm install, update, remove, search,… Mỗi khi bạn chạy một lệnh YUM, hệ thống sẽ kiểm tra các kho lưu trữ và metadata để thực hiện các tác vụ tương ứng.
Dependency Resolution (Giải quyết phụ thuộc)
Một trong những tính năng quan trọng của YUM là khả năng giải quyết các phụ thuộc. Khi bạn yêu cầu cài đặt một gói, YUM sẽ tự động kiểm tra các phụ thuộc của gói đó và cài đặt chúng nếu cần thiết, đảm bảo rằng phần mềm hoạt động đúng cách.
Transactions (Giao dịch)
YUM thực hiện các thao tác cài đặt, cập nhật và gỡ bỏ gói theo dạng các transactions . Trong mỗi transactions, YUM xác định các gói cần thay đổi và thực hiện chúng một cách an toàn. Nếu một transactions gặp vấn đề, YUM có khả năng quay trở lại trạng thái trước đó, tránh gây hại cho hệ thống.
Cache (Bộ nhớ cache)
YUM cũng duy trì một bộ nhớ cache, chứa các tệp RPM đã tải về từ kho lưu trữ. Điều này giúp tăng tốc quá trình cài đặt và cập nhật sau này, vì bạn không cần phải tải lại các tệp đó.
Các tính năng nổi bật của YUM
Quản lý gói phần mềm
YUM cho phép người dùng dễ dàng tìm kiếm, cài đặt, cập nhật và gỡ bỏ các gói phần mềm trên hệ thống Linux của họ. Điều này giúp đơn giản hóa quá trình quản lý phần mềm và duy trì tính ổn định của hệ thống.
Giải quyết phụ thuộc tự động
YUM có khả năng tự động giải quyết các phụ thuộc (dependencies) khi cài đặt gói phần mềm. Khi bạn cài đặt một gói, YUM sẽ kiểm tra và cài đặt các phụ thuộc cần thiết để đảm bảo rằng phần mềm hoạt động ổn định.
Hệ thống kho lưu trữ (repositories)
YUM sử dụng các kho lưu trữ (repositories) để lưu trữ các gói phần mềm. Người dùng có thể dễ dàng thêm, xóa và quản lý các kho lưu trữ, cho phép họ tùy chỉnh nguồn cài đặt các gói phần mềm.
Dễ dàng cập nhật phần mềm
YUM cho phép người dùng dễ dàng cập nhật tất cả các gói phần mềm đã cài đặt trên hệ thống bằng cách sử dụng lệnh yum update. Điều này giúp đảm bảo rằng hệ thống luôn được cập nhật với các phiên bản mới nhất của phần mềm.
Duyệt qua lịch sử gói phần mềm
YUM cho phép người dùng xem lịch sử các giao dịch với gói phần mềm, giúp họ theo dõi các thay đổi và biết được khi nào đã cài đặt, cập nhật hoặc gỡ bỏ gói.
Tích hợp với script và tự động hóa
YUM có thể được tích hợp vào các tập lệnh (scripts) và quá trình tự động hóa, giúp quản trị viên hệ thống thực hiện các nhiệm vụ quản lý phần mềm một cách hiệu quả và liên tục.
So sánh YUM và RPM
Giống nhau
- Đều liên quan đến việc quản lý gói phần mềm trên hệ thống Linux.
- Đều sử dụng giao diện dòng lệnh để tương tác với hệ thống quản lý gói.
- Đều cho phép người dùng cài đặt và gỡ bỏ các gói phần mềm. RPM cung cấp các lệnh như rpm -i để cài đặt và rpm -e để gỡ bỏ, trong khi YUM cung cấp các lệnh như yum install và yum remove.
- Đều hỗ trợ việc quản lý phụ thuộc (dependencies)
- Đều liên quan đến việc sử dụng kho lưu trữ (repositories) để lưu trữ các gói phần mềm
Khác nhau
Tham số | RPM | YUM |
Nguồn gốc | Được giới thiệu vào năm 1997 bởi Red Hat. | Được nâng cấp từ YUP lên YUM vào năm 2003. |
Định nghĩa | Trình quản lý gói cấp thấp với chức năng cơ bản. | Trình quản lý gói giao diện người dùng với chức năng nâng cao. |
Phụ thuộc | Không giải quyết các phụ thuộc. | Tự động giải quyết và cài đặt các gói phụ thuộc. |
Cài đặt gói | Cho phép cài đặt nhiều phiên bản gói. Tuy nhiên, mỗi lần chỉ có thể cài đặt một gói duy nhất. | Không cho phép cài đặt nhiều phiên bản gói. Chỉ hỗ trợ các gói có sẵn trong kho lưu trữ và hiển thị các gói đã được cài đặt. Mặt khác, YUM có thể cài đặt đồng thời nhiều gói. |
Nâng cấp | RPM không hỗ trợ nâng cấp tự động. | YUM cho phép nâng cấp tự động lên phiên bản mới nhất hiện có. |
Hỗ trợ kho lưu trữ | RPM không sử dụng kho lưu trữ trực tuyến để cài đặt gói. Thay vào đó, công cụ yêu cầu đường dẫn gói .rpm cục bộ chính xác để hoàn tất quá trình cài đặt. | YUM dựa vào một kho lưu trữ trực tuyến để cài đặt các gói. Tiện ích chỉ yêu cầu tên gói. |
Quyền tự trị | RPM sử dụng cơ sở dữ liệu riêng để lưu giữ thông tin về các gói trên hệ thống. | YUM sử dụng trình quản lý RPM để quản lý gói. |
Dễ sử dụng | Việc quản lý và xử lý gói RPM đôi khi trở nên phức tạp. | Đây là cách dễ nhất để quản lý các gói RPM. |
Rollback | Việc quản lý và xử lý gói RPM đôi khi trở nên phức tạp. | Đây là cách dễ nhất để quản lý các gói RPM. |
Hướng dẫn cách sử dụng YUM trên Unbuntu
Cài đặt YUM trên Ubuntu
Bước 1: Cập nhật hệ thống bằng lệnh: $ sudo apt update
Bước 2: Cài đặt YUM bằng lệnh: $ sudo apt-get install yum
Các lệnh YUM phổ biến
Lưu ý: Cần sử dụng quyền root hoặc sử dụng sudo trước mỗi lệnh YUM để có quyền truy cập quản lý gói phần mềm.
Cài đặt gói phần mềm:
yum install tên_gói
Ví dụ: yum install nginx
Cập nhật toàn bộ hệ thống:
yum update
Lệnh này cập nhật tất cả các gói phần mềm đã cài đặt lên phiên bản mới nhất.
Cập nhật một gói cụ thể:
yum update tên gói
Ví dụ: yum update nginx
Gỡ bỏ gói phần mềm:
yum remove tên_gói
Ví dụ: yum remove nginx
Tìm kiếm gói phần mềm:
yum search tên_gói
Ví dụ: yum search mysql
Hiển thị thông tin chi tiết về gói phần mềm:
yum info tên_gói
Ví dụ: yum info nginx
Liệt kê các kho lưu trữ đã thêm:
yum repolist
Thêm kho lưu trữ:
yum-config-manager –add-repo đường_dẫn_kho_lưu_trữ
Ví dụ: yum-config-manager –add-repo https://example.com/repo.repo
Xóa kho lưu trữ:
yum-config-manager –disable tên_kho_lưu_trữ
Ví dụ: yum-config-manager –disable example-repo
Kiểm tra xem một gói đã được cài đặt hay chưa:
yum list installed tên_gói
Ví dụ: yum list installed nginx
Kiểm tra xem một gói có sẵn để cài đặt hay không:
yum list available tên_gói
Ví dụ: yum list available nginx
Cài đặt một nhóm gói:
yum groupinstall tên_nhóm
Ví dụ: yum groupinstall “Development Tools”
Các tùy chọn bổ sung:
- –assumeyes hoặc -y: Tự động đồng ý tất cả các câu hỏi xác nhận.
- –exclude: Loại trừ một hoặc nhiều gói phần mềm khỏi các thao tác.
- –enablerepo và –disablerepo: Cho phép hoặc vô hiệu hóa các kho lưu trữ cụ thể.
Với những tính năng vượt trội, YUM là một công cụ quan trọng giúp đẩy mạnh hiệu suất và khả năng của các hệ thống Linux hiện đại. Hy vọng qua bài viết này, bạn sẽ hiểu rõ hơn về YUM cũng như cách sử dụng công cụ này để quản lý gói phần mềm trên Linux.
Những câu hỏi thường gặp
YUM có phải là phần mềm độc lập?
Không phải là một phần mềm độc lập, YUM là một công cụ quản lý gói phần mềm được tích hợp vào các hệ thống Linux.
Làm thế nào để tìm kiếm một gói phần mềm bằng YUM?
Bạn có thể sử dụng lệnh yum search tên_gói để tìm kiếm một gói phần mềm. Ví dụ: yum search mysql
Có những công cụ nào thay thế YUM ngoài RPM?
Một số công cụ tương tự YUM gồm: DNF (Dandified YUM), APT (Advanced Package Tool), Portage,…
Sử dụng các lệnh YUM thông qua đâu?
Để sử dụng các lệnh YUM, bạn cần mở một cửa sổ dòng lệnh (terminal) trên hệ thống của mình và nhập các lệnh cụ thể.
Trên Windows có công cụ nào tương tự YUM?
Trên hệ điều hành Windows, có một số công cụ tương tự YUM và được sử dụng để quản lý phần mềm như: Chocolatey, Scoop.