Khái niệm cơ bản về RPM - Quản lý gói Red Hat [Linux 101]
Trong các bài viết trước, chúng tôi đã khám phá hệ thống được sử dụng để cài đặt phần mềm trên các hệ thống dựa trên Debian, bao gồm cả Ubuntu trong số các hệ thống khác. RPM, hoặc “Red Hat Package Manager”, được ra mắt trong Red Hat Linux 2.0 vào năm 1995 và hiện là hệ thống quản lý gói ưa thích của các bản phân phối dựa trên Red Hat, bao gồm CentOS và bản phân phối Linux của Oracle, cũng như SuSE.
Bây giờ chúng ta sẽ thấy cách hệ thống này so sánh với “cách thức Ubuntu” của phần mềm quản lý.
Lưu ý : Nếu bạn đang sử dụng hệ thống dựa trên DEB, bạn có thể có lệnh rpm. Tuy nhiên, bạn có thể sẽ không có cơ sở dữ liệu gói, do đó một số lệnh dưới đây có thể hiển thị một số lỗi tham chiếu đến điều này.
Gói cơ bản về RPM
Gói RPM, như DEB, bao gồm tệp lưu trữ các tệp mà trình quản lý gói sẽ đặt trên máy tính của bạn khi được cài đặt. Nó cũng chứa cùng một loại thông tin về phần mềm khác mà nó cần, vì vậy hệ thống có thể tải xuống và cài đặt các phụ thuộc của bạn cho bạn. Nó chỉ kết thúc tốt đẹp tất cả điều này theo một cách khác.
Giống như các tệp DEB, gói RPM có thể chứa mã nhị phân (hoặc có thể thực thi), mã nguồn được biên dịch thành nhị phân trước khi cài đặt hoặc các tệp độc lập về kiến trúc (như tài liệu). Tệp RPM là một tệp lưu trữ cpio, là một định dạng lưu trữ ban đầu được sử dụng để sao lưu băng. RPM chứa ba loại dữ liệu chính:
- Dữ liệu nhận dạng tệp dưới dạng gói RPM
- Chữ ký sao cho hệ thống có thể xác minh rằng gói không bị giả mạo (ví dụ: mã băm MD5 của gói)
- "Tiêu đề" chứa thông tin về gói, chẳng hạn như tên, số phiên bản và tóm tắt
- "Tải trọng" hoặc các tệp mà gói sẽ cài đặt trên hệ thống của bạn
Không giống như các gói Debian, việc xem một số thông tin này không dễ dàng như việc hủy lưu trữ gói và xem một số tệp văn bản. Nếu chúng ta muốn xem xét chữ ký, giả sử so sánh nó với chữ ký trong cơ sở dữ liệu RPM của hệ thống, chúng ta cần sử dụng chương trình RPM dòng lệnh như sau:
sudo rpm --checksig rpm-4.9.1.3-6.fc17.x86_64.rpm
Để xem thông tin Header, bạn có thể truy vấn gói bằng lệnh sau:
sudo rpm -qip rpm-4.9.1.3-6.fc17.x86_64.rpm
Ở đây, cờ “-q” yêu cầu RPM truy vấn gói, “i” để nhận thông tin về nó và “p” mà bạn sẽ chỉ ra một tệp gói làm đối số. Vì vậy, để xem những tệp nào có trong gói, bạn sẽ muốn danh sách thay vì thông tin hoặc các thông tin sau:
sudo rpm -qlp rpm-4.9.1.3-6.fc17.x86_64.rpm
Bạn cũng có thể mở các tệp RPM trực tiếp trong nhiều trình quản lý lưu trữ để xem cách các tệp trong gói được sắp xếp.
Cơ sở dữ liệu RPM
Như đã đề cập ở trên, một trong những yếu tố chính của hệ thống gói Red Hat là cơ sở dữ liệu RPM. Được lưu trữ trong “/ var / lib / rpm”, thư mục này chứa một số thư mục con và các tệp chứa thông tin về các gói được cài đặt trên hệ thống. Cơ sở dữ liệu này thường được thiết lập trong khi cài đặt hệ thống. Khi được khởi tạo, bất kỳ gói nào được cài đặt trên hệ thống sẽ được ghi lại trong cơ sở dữ liệu này - ví dụ, phần lớn các gói được cài đặt với hệ thống được thực hiện bằng RPM, vì vậy các bản ghi của chúng sẽ được bao gồm.
Để truy vấn cơ sở dữ liệu RPM, bạn có thể sử dụng các lệnh tương tự như trên, để lại cờ “p” (vì chúng tôi không cung cấp đối số tệp gói). Ví dụ, lệnh sau sẽ tìm kiếm cơ sở dữ liệu RPM và liệt kê tất cả các tệp là một phần của gói rpm (nếu nó được cài đặt):
sudo rpm -ql rpm
Trong cùng một cách, lệnh sau đây sẽ liệt kê tất cả các gói được cài đặt trong hệ thống:
sudo rpm -qa
Có rất nhiều cờ và tùy chọn có thể được sử dụng với các công cụ RPM để quản lý phần mềm của bạn. Một tài liệu tham khảo tốt là tài liệu được duy trì bởi dự án Fedora.