✨RPM (phần mềm)

RPM (phần mềm)

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).

Lịch sử

RPM ban đầu được viết vào năm 1997 bởi Erik Troan và Marc Ewing, dựa trên các kinh nghiệm pms, rpp, và pm experiences. pm được viết bởi Rik Faith và Doug Hoffman tháng 5/1995 cho Red Hat Software, thiết kế và triển khai thực hiện của nó ảnh hưởng rất lớn từ pms, một hệ thống quản lý gói được viết bởi Faith và Kevin Martin vào mùa thu năm 1993 cho Bogus Linux Distribution. pm bảo tồn mô hình "Pristine Sources + patches"của pms, trong khi bổ sung các tính năng và loại bỏ những hạn chế có mặt trong việc thực hiện. pm cung cấp nhiều hỗ trợ tăng cường cơ sở dữ liệu để theo dõi và kiểm tra các gói cài đặt

Tính năng

 Đố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:

  • Các gói RPM có thể được xác minh mã hóa với GPG và MD5
  • Lưu trữ mã nguồn gốc(e.g. .tar.gz, .tar.bz2) có trong SRPMS,khiến dễ xác minh hơn
  • PatchRPMs và DeltaRPMs, RPM tương đương với một tập tin vá lỗi, từng bước có thể cập nhật phần mềm được cài đặt RPM
  • Automatic build-time dependency evaluation.

Local operations

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.

Kho lưu trư

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.

Front ends

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:

  • yum dùng trên Fedora, CentOS 5, Red Hat Enterprise Linux 5 và mới hơn, Scientific Linux, Yellow Dog Linux và Oracle Linux
  • DNF, giới thiệu trên Fedora 18, mặc định từ phiên bản 22.
  • up2date dùng trong Red Hat Enterprise Linux, CentOS 3 và 4, và Oracle Linux
  • Zypper dùng trên MeeGo, openSUSE và SUSE Linux Enterprise
  • urpmi dùng trên Mandriva Linux, ROSA Linux và Mageia
  • apt-rpm, một port  Advanced Packaging Tool (APT) của Debian dùng trên Ark Linux, PCLinuxOS và ALT Linux
  • Smart Package Manager, dùng trên Unity Linux, có sẵn cho nhiều bản phân phối bao gồm Fedora.
  • rpmquery, một tiện ích dòng lện tích hợp sẵn trên (làm ví dụ) Red Hat Enterprise Linux

Cơ sở dữ liệu cài đặt RPM cục bộ

Hoạt động phía sau người quản lý gói là cơ sở dữ liệu RPM, lưu trữ trong /var/lib/rpm. 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 rpm --rebuilddb.

Miêu tả

Trong khi định dạng RPM là như nhau trên các bản phân phối Linux khác nhau, quy ước chi tiết và hướng dẫn có thể khác nhau giữa chúng.

Tên file và nhãn của các gói

Một RPM được phân phối trong một tập tin duy nhất, thường là trong các định dạng: : --..rpm ví dụ như: : libgnomeuimm-2.0-2.0.0-3.i386.rpm where is libgnomeuimm, is 2.0, is 2.0.0-3, and is i386.

Mã nguồn cũng có thể được phân phối trong các gói RPM trong trường hợp đó được quy định như src as in, libgnomeuimm-2.0-2.0.0-3.src.rpm

RPM với phần mở rộng noarch.rpm tham khảo các gói mà không phụ thuộc vào kiến trúc của một máy tính nào đó. Chúng bao gồm đồ họa và văn bản cho một chương trình khác để sử dụng, và các chương trình viết bằng ngôn ngữ lập trình thông dịch như các chương trình Python và shell scripts.

Nội dung RPM cũng bao gồm một package label, chứa các mảnh thông tin sau đây:

  • tên phần mềm
  • phiên bản phần mềm (phiên bản lấy từ nguồn ngược dòng gốc của phần mềm)
  • phát hành gói (số lần các gói đã được built lại bằng cách sử dụng cùng một phiên bản của phần mềm). Trường này cũng thường được sử dụng để chỉ ra sự phân bố cụ thể các gói cho bằng cách thêm các chuỗi như "mdv" (trước đây là, "mdk") (Mandriva Linux), "mga" (Mageia), "fc4" (Fedora Core 4), "rhl9" (Red Hat Linux 9), "suse100" (SUSE Linux 10.0)...
  • kiến trúc của gói khi built (i386, i686, x86_64, ppc,...) Các trường label không cần phải phù hợp với tên tập tin.

Thư viện đóng gói

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.

Định dạng

Định dạng nhị phân và bao gồm bốn phần:

  • Lead, trong đó xác định các tập tin như một tập tin RPM và chứa nhiều header dư thừa.
  • Chữ ký, có thể được sử dụng để đảm bảo tính toàn vẹn và/hoặc tính xác thực.
  • Header, chứa metadata bao gồm tên gói, phiên bản, kiến trúc, danh sách tập tin...
  • Một kho lưu trữ tập tin (payload), mà thường là ở định dạng cpio, nén với gzip. Các công cụ rpm2cpio cho phép thu hồi các tập tin cpio mà không cần phải cài đặt gói RPM. Các phiên bản gần đây của RPM cũng có thể sử dụng kiểu nén bzip2, lzip, lzma, hoặc xz.. Định dạng RPM 5.0 hỗ trợ sử dụng  chuẩn nén xar.

SPEC file

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.

SRPM

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.

Phân nhánh

, có hai phiên bản của RPM đang phát triển: một dẫn dắt bởi dự án Fedora và Red Hat, và phiên bản kia bởi một nhóm riêng biệt được dẫn dắt bởi một nhà bảo trì trước của RPM, một cựu nhân viên của Red Hat.

RPM.org

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).

RPM v5

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.

👁️ 2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**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,
**SUSE Linux** ( or ; ) là một hệ điều hành máy tính. Nó được xây dựng từ mã nguồn của Linux kernel và phân phối cùng với các phần mềm hệ thống và và
**7-Zip** là một trình lưu trữ tập tin chủ yếu dùng cho hệ điều hành Windows. Nó có thể hoạt động bằng dòng lệnh hoặc với giao diện đồ họa người dùng. Nó cũng có
**Red Hat, Inc.** () là một công ty phần mềm Mỹ cung cấp sản phẩm phần mềm mã nguồn mở cho cộng đồng doanh nghiệp. Thành lập năm 1993, Red Hat có trụ sở tại
nhỏ|Hackday với [[Jolla, Mer và Nemo Mobile tháng 8/2012]] **Sailfish OS** (cũng được viết là **SailfishOS** Hệ điều hành được phát hành cùng với máy tính bảng và smartphone Jolla (dừng bán năm 2016 nhưng
nhỏ|[[Ubuntu Software Center,ví dụ cho trình quản lý gói tin]] **Hệ thống quản lý gói tin **hay** Trình quản lý gói tin** là một bộ sưu tập các công cụ phần mềm để tự động
**Advanced Packaging Tool**, hay **APT**, là phần mềm tự do dùng để quản lý việc cài đặt phần mềm trên Linux. APT làm đơn giản các thủ tục quản lý phần mềm trên các máy
**Linspire**, trước đây là **LindowsOS** là bản phân phối linux dựa trên Debian, và sau này là Ubuntu. Linspire được phát hành bởi Linspire, Inc. và tập trung vào tính dễ sử dụng, nhắm mục
**CentOS** (, từ **Community Enterprise Operating System**) là một Bản phân phối Linux. Nó có nguồn gốc hoàn toàn từ bản phân phối Red Hat Enterprise Linux (RHEL). Tháng 1/2014, CentOS đã tuyên bố chính
**OCaml** là dòng ngôn ngữ lập trình phổ dụng trong ngôn ngữ **Caml** (một dạng của ngôn ngữ lập trình ML), bắt đầu được Viện Nghiên cứu Khoa học Máy tính Quốc gia ở Pháp
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
**Seagate Technology PLC** (gọi tắt là **Seagate**) (), là một trong những nhà sản xuất thiết bị lưu trữ lớn nhất thế giới. Được thành lập năm 1978 với tên gọi là _Shugart Technology_, Từ
:_Xem các nghĩa có tên ổ đĩa tại bài định hướng: Ổ đĩa _ nhỏ|phải|Một ổ đĩa mềm 3,5" dành cho [[máy tính cá nhân để bàn]] **Ổ đĩa mềm** (_floppy disk drive_, viết tắt:
**Red Hat Linux**, được phát triển bởi công ty RedHat, là hệ điều hành dựa trên Linux phổ biến cho đến khi ngừng phát triển trong năm 2004. Red Hat Linux 1.0 được phát hành
phải|nhỏ|Trục cân bằng (_khung màu đen_) trong động cơ Ford Taunus V4. **Trục cân bằng** (tiếng Anh: _balance shaft_, _balancer shaft_ thiết kế này được mang tên ông, "trục cân bằng Lanchester" (_Lanchester balancer_). Trục
Cam kết hàng chính hãng 100%Son , Son filler Khử Thâm Collagen Son Chuối Banana fliller Lipstick Tặng 01 Son Kem Siêu Lì P.A.R.E.A THÔNG TIN SẢN PHẨM :✅ Mẫu Son : Son Dưỡng Khử
Trang thiết bị công nghệ cao là 1 trong những yếu tố rất quan trọng góp phần nên sự thành công và chất lượng dịch vụ nha khoa.Nha Khoa Sài Gòn B.H hiểu được tầm
**SciTE** đang mở file mã nguồn viết bằng [[ngôn ngữ lập trình|ngôn ngữ Lua. ]] **SciTE** (_Scintilla-based Text Editor_ - trình soạn thảo văn bản dựa trên Scintilla) là trình soạn thảo văn bản tự
**MCNLive** là một bản phân phối Linux dạng Live CD và Live USB dựa trên Mandriva Linux. MCNLive là hệ thống cho máy để bàn. Bản phân phối chứa trình thuật sĩ đồ họa để
"**Believe**" là một bài hát của nghệ sĩ thu âm người Mỹ Cher nằm trong album phòng thu thứ 23 cùng tên của bà (1998). Nó được phát hành ở hầu hết những quốc gia
**Ổ đĩa cứng**, hay còn gọi là **ổ cứng** (tiếng Anh: **_H**ard **D**isk **D**rive_, viết tắt: **HDD**) là thiết bị dùng để lưu trữ dữ liệu trên bề mặt các tấm đĩa hình tròn phủ
, viết tắt là SANYO, là một công ty điện tử Nhật Bản và trước đây là thành viên của _Fortune_ Global 500, trụ sở chính đặt tại Moriguchi, tỉnh Osaka, Nhật Bản. **Sanyo** có
Bối cảnh ngành y tế - chăm sóc sức khỏe tại Việt Nam đang trải qua một quá trình chuyển đổi đáng chú ý. Với hơn 50 năm xây dựng và phục hồi kinh tế
Bối cảnh ngành y tế - chăm sóc sức khỏe tại Việt Nam đang trải qua một quá trình chuyển đổi đáng chú ý. Với hơn 50 năm xây dựng và phục hồi kinh tế
Mắt môi bị thâm bạn không còn nổi ám ảnh nữa hãy đến với chúng tôi cùng sản phẩm giải pháp kết hợp công nghệ cao cùng với kinh nghiệm lâm sàng tạo ra cường
"**Imagine**" là một ca khúc do nam ca sĩ kiêm sáng tác nhạc người Anh John Lennon thể hiện. Đây là đĩa đơn bán chạy nhất trong sự nghiệp solo của ông, lời bài hát
**urpmi** là một công cụ hệ thống quản lý gói cho Mandriva Linux để cài đặt, gỡ bỏ, cập nhật và truy vấn các gói phần mềm trên máy cục bộ hoặc mạng. Nó sử
**Quảng cáo trực tuyến**, còn được gọi là **tiếp thị trực tuyến**, quảng cáo Internet, **quảng cáo** **kỹ thuật số** hoặc **quảng cáo web**, là một hình thức tiếp thị và quảng cáo sử dụng
alt=antifa|nhỏ|300x300px|Hàng loạt máy đánh bạc dựa trên kỹ thuật số bên trong một sòng bạc tại [[Las Vegas]] **Máy đánh bạc** (Tiếng Anh Mỹ), **máy trái cây** (Tiếng Anh Anh), **máy poker** hoặc **pokies** (Tiếng
**7z** là một định dạng nén dữ liệu có hỗ trợ một số thuật toán nén dữ liệu, mã hóa và tiền xử lý khác nhau. Định dạng 7z xuất hiện đầu tiên từ phần
"**Something**" là ca khúc của ban nhạc The Beatles nằm trong album của họ vào năm 1969, _Abbey Road_. Ca khúc được phát hành cùng năm dưới dạng đĩa đơn A-kép cùng với "Come Together".
"**Woman in Love**" là một bài hát của nghệ sĩ thu âm người Mỹ Barbra Streisand nằm trong album phòng thu thứ 22 của bà, _Guilty_ (1980). Nó được phát hành vào ngày 16 tháng
"**Goodbye Yellow Brick Road**" là bản ballad nằm trong album cùng tên năm 1973 của ca sĩ người Anh Elton John. Ca khúc được John sáng tác cùng Bernie Taupin, lấy cảm hứng từ con
"**Head over Feet**" là một bài hát của nghệ sĩ thu âm người Canada gốc Mỹ Alanis Morissette nằm trong album phòng thu thứ ba của cô, _Jagged Little Pill_ (1995). Nó được phát hành
**Phụ gia bê tông** là các vật liệu dạng bột, dạng hạt hoặc chất lỏng được thêm vào bê tông để mang lại những đặc tính cụ thể mà không thể đạt được bằng cách
**Lamborghini Gallardo** là một chiếc xe hơi thể thao được sản xuất bởi Lamborghini. Cho đến nay, Gallardo là mẫu xe được sản xuất nhiều nhất của Lamborghini, với 10 000 chiếc trong 7 năm