RPM Package Manager (RPM) (ban đầu là Red Hat Package Manager; bây giờ là một từ viết tắt đệ quy) là một trình quản lý gói. Tên gọi RPM đề cập đến: định dạng file.rpm, file có định dạng file.rpm, phần mềm đóng gói file, và chương trình quản lý gói của chính nó. RPM được thiết kế chủ yếu cho các bản phân phối Linux; định dạng tập tin là định dạng gói cơ bản của Linux Standard Base. Mặc dù nó đã được tạo ra để sử dụng trong Red Hat Linux, RPM hiện được sử dụng trong nhiều bản phân phối Linux. Nó cũng đã được chuyển sang một số hệ điều hành khác, chẳng hạn như Novell NetWare (các phiên bản 6.5 SP3) và AIX của IBM (các phiên bản 4). Một gói RPM có thể chứa một thiết lập tùy ý của các tập tin. Phần lớn các tập tin RPM gặp phải là “RPM nhị phân” (hay BRPMs) có chứa các phiên bản biên dịch của một số phần mềm. Ngoài ra còn có “source RPMs” (hay SRPMs) chưa các file mã nguồn được sử dụng để đóng gói. Chúng có một từ khóa thích hợp trong phần đầu tập mà phân biệt chúng với (B)RPM bình thường, khiến chúng bị tách ra vào /usr/src khi cài đặt. SRPMS có phần mở rộng file".src.rpm" (.spm trên hệ thống file giới hạn 3 ký tự mở rộng, ví dụ DOS FAT trước đây). Đối với một quản trị viên hệ thống thực hiện cài đặt phần mềm và bảo trì, việc sử dụng các phần mềm quản lý chứ không phải cài đặt  thủ công có những lợi thế như đơn giản, nhất quán và khả năng cho các quá trình này tự động và không tương tác. Các tính năng của RPM bao gồm: Gói có thể đến từ bên trong một phân phối cụ thể (ví dụ như Red Hat Enterprise Linux) hoặc được xây dựng cho nó bởi các bên khác (ví dụ RPM Fusion cho Fedora). Phụ thuộc chéo giữa các RPM phụ thuộc lẫn nhau (được gọi là "phụ thuộc địa ngục") có thể có vấn đề; trong trường hợp này là một lệnh cài đặt duy nhất cần phải xác định tất cả các gói có liên quan. RPM thường được thu gom tập trung về một hoặc nhiều kho lưu trữ trên internet. Một site thường có một kho lưu trữ RPM của riêng mình và có thể hoạt động như một mirrors địa phương của một kho lưu trữ trên internet hoặc là bộ sưu tập được duy trì tại địa phương của RPM hữu ích. Một số front-ends để RPM giảm bớt quá trình thu thập và cài đặt RPM từ kho và giúp đỡ trong việc giải quyết phụ thuộc của họ. Bao gồm các: Hoạt động phía sau người quản lý gói là cơ sở dữ liệu RPM, lưu trữ trong codice_10. Nó dùng  Berkeley DB làm back-end của nó. Nó bao gồm một cơ sở dữ liệu duy nhất (trọn gói) có chứa tất cả metadata của file cài đặt RPM. Nhiều cơ sở dữ liệu được tạo ra cho mục đích lập chỉ mục, sao chép dữ liệu để tăng tốc độ truy vấn. Các cơ sở dữ liệu được sử dụng để theo dõi tất cả các tập tin được thay đổi và tạo ra khi một người sử dụng (dùng RPM) cài đặt một gói, do đó cho phép người sử dụng (thông qua RPM) để đảo ngược những thay đổi và loại bỏ các gói sau đó.Nếu cơ sở dữ liệu bị hỏng (có thể nếu RPM client bị killed), các cơ sở dữ liệu chỉ mục có thể được tái tạo bằng lệnh codice_11. Thư viện được phân phối trong hai gói riêng biệt cho mỗi phiên bản. Một chứa mã biên dịch sẵn để sử dụng run-time, trong khi cái thứ hai có chứa các tập tin phát triển liên quan như tiêu đề... Những gói có "-devel" nối vào trong tên. Các quản trị viên hệ thống phải đảm bảo rằng các phiên bản của hệ nhị phân và các gói phát triển phù hợp. Các "Recipe" để tạo ra một gói RPM là một file spec. File Spec có phần mở rộng ".spec" và chứa tên gói, phiên bản, số RPM sửa đổi, các bước để xây dựng, cài đặt, và dọn dẹp một gói, và một changelog. Nhiều gói có thể được xây dựng từ một file RPM đặc tả duy nhất, nếu muốn. Gói RPM được tạo ra từ các tập tin RPM đặc tả bằng cách sử dụng công cụ rpmbuild. File Spec thường phân bố trong các tập tin SRPM, có chứa các file spec đóng gói cùng với mã nguồn. Một RPM điển hình là phần mềm tiền biên dịch sẵn sàng để cài đặt trực tiếp. Các mã nguồn tương ứng cũng có thể được phân phối. Điều này được thực hiện trong một SRPM, bao gồm cả các file "SPEC" mô tả các phần mềm và cách nó được xây dựng. Các SRPM cũng cho phép người sử dụng để biên dịch, và có thể sửa đổi, mã chính nó. Một gói phần mềm có thể chỉ chứa các script là kiến trúc độc lập. Trong một trường hợp như vậy chỉ có một SRPM có thể có sẵn; đây vẫn là một RPM cài đặt. Sửa đổi quan trọng đầu tiên của cộng đồng "rpm.org "là trong tháng" 7/"2007; phiên bản 4.8 phát hành tháng 1/2010, phiên bản 4.9 tháng 3/2011, 4.10 trong tháng 5/2012, 4.11 tháng 1/2013, 4.12 tháng 9/2014 và 4.13 tháng 7/2015. Phiên bản này được dùng trên các bản phân phối như Fedora, Red Hat Enterprise Linux, openSUSE và SUSE Linux Enterprise, Unity Linux, Mageia, Mandriva trước đây (trước 2010). Jeff Johnson, người bảo trì RPM từ năm 1999, tiếp tục nỗ lực phát triển cùng với sự tham gia của một số bản phân phối khác. RPM phiên bản 5 được phát hành tháng 5 năm 2007. Phiên bản này được sử dụng bởi các bản phân phối như Wind River Linux, Rosa Linux, và OpenMandriva Lx (Mandriva Linux trước đây đã chuyển sang rpm5 năm 2011) và cũng được dự án OpenPKG cung cấp các gói và công cụ cho các nền tảng UNIX khác. OpenMandriva Lx xem là chuyển trở lại rpm.org trước khi folding.