Hvad er RPM-filformatet?
Filer med filtypenavnet .rpm er pakkefiler, der bruges på Linux-baserede operativsystemer. Oprindeligt blev .rpm-formatet udviklet af Red Hat til deres egen Linux-distribution, men i dag bruges det bredt på tværs af Fedora, RHEL, CentOS, openSUSE, Mageia og mange andre distributioner.
En .rpm-fil er en softwarepakke, der indeholder alt, hvad der er nødvendigt for at installere en specifik applikation på et kompatibelt Linux-system. RPM stod oprindeligt for Red Hat Package Manager; projektet vedligeholdes nu af open source-fællesskabet på RPM.org, og kommandolinjeværktøjet kaldes slet og ret rpm. Formatet blev designet til at gøre installation og distribution af Linux-applikationer ligetil, så slutbrugeren ikke behøver at administrere de enkelte filer, der kræves til installationen.
Internt har en .rpm en binær struktur bestående af en lead-sektion, en GPG-signaturheader, en tagget metadata-header og en komprimeret .cpio-payload, der indeholder de faktiske filer. Moderne pakker komprimerer denne payload med XZ/LZMA; gzip, bzip2 og Zstd understøttes også. Pakker installeres via dnf (Fedora/RHEL) eller zypper (openSUSE), som løser afhængigheder automatisk. En .src.rpm-variant indeholder kildekode og byggeinstruktioner i stedet for køreklar binær kode. På Windows eller macOS kan værktøjer som 7-Zip udpakke .rpm-indhold til inspektion, selvom installationsscripts ikke kan køre uden for et indfødt RPM-baseret Linux-system. Den nærmeste ækvivalent på Debian-baserede systemer er .deb-formatet.
Sikkerhed og tryghed
RISIKO: MEDIUMRPM-pakker kører installations- og afinstallationsscripts som root, så en ondsindet .rpm kan kompromittere et system fuldstændigt. Installer kun RPM-filer fra betroede leverandører/arkiver, og verificer GPG-signaturen først: rpm --checksig package.rpm (og importer leverandørens nøgle). Distributioner advarer før installation af usignerede pakker. På Windows/macOS kan en .rpm ikke køre, så inspektion her er harmløs. Undgå tilfældige „rpm to exe“ eller „rpm opener“-sider - de er vildledende (RPM'er kører ikke på Windows) og indeholder ofte adware.
Formatdetaljer
kort fortaltProgrammer der åbner RPM-filer
rpm2cpio package.rpm | cpio -idmv for at udpakke filer fra pakken på macOS til inspektion. sudo alien -i package.rpm konverterer og installerer som .deb. Brug med forsigtighed - indfødt .deb foretrækkes. sudo dnf install ./package.rpm - installerer pakken og løser afhængigheder automatisk. Foretrækkes frem for rå rpm. sudo zypper install ./package.rpm - installerer med afhængighedsløsning på SUSE-systemer. sudo rpm -ivh package.rpm for at installere, rpm -qlp for at liste filer, rpm --checksig for at verificere. Løser ikke afhængigheder automatisk. Tekniske detaljer
dyb specifikation| MIME-type | application/x-rpm (også accepteret: application/x-redhat-package-manager) |
| Fil-magic bytes | ED AB EE DB ved offset 0 - „edabeedb“ RPM lead-signaturen |
| Intern struktur | Lead-sektion → GPG-signaturheader → tagget metadata-header → komprimeret cpio-payload |
| Payload-komprimering | XZ/LZMA (moderne standard på Fedora/RHEL), gzip, bzip2 eller Zstd; kan vælges per pakkebygning |
| Header byte-orden | Big-endian; hver tag-indgang gemmer en 4-byte type, 4-byte antal og offset i datalageret |
| Pakkesignering | GPG-signatur indlejret i signaturheaderen; verificeres med `rpm --checksig` |
| Metadata for afhængigheder | Requires, Provides, Conflicts og Obsoletes tags gemt i hovedheaderen til automatisk løsning |
| Installations-scriptlets | Pre- og post-install (%pre/%post) samt pre- og post-uninstall (%preun/%postun) scripts indlejret i pakken |
| Integritet per fil | SHA-256-aftryk per fil gemt i headeren (MD5 på ældre pakker); kontrolleres efter installation |
| Pakkens formatversion | v4 (nuværende, RPM 4.x værktøjskæde); RPM v6-format er under aktiv udvikling hos RPM.org |
| Tilknyttede pakkehåndteringsværktøjer | `dnf` (Fedora, RHEL, CentOS Stream), `zypper` (openSUSE/SUSE), `rpm` (lavniveaus-kommando) |
| Variant af kildepakke | `.src.rpm` (SRPM) indeholder kildekode-tarball og `.spec`-byggeopskrift i stedet for kompilerede binære filer |
| Understøttede installationsplatforme | RPM-baserede Linux-distributioner: Red Hat, Fedora, RHEL, CentOS, openSUSE, Rocky Linux, AlmaLinux, Mageia |
| Typisk filstørrelse | Fra få KB (små værktøjer) til flere hundrede MB (store applikationer, udviklingsværktøjer eller firmware) |
| Relokerbarhed | Pakker kan markeres som relokerbare, hvilket tillader installation til en brugerdefineret sti |
| Udgivet | 1997 (RPM, with Red Hat Linux 5.0; rpm-software-management is the current upstream) |
| Seneste version | RPM v4 package format (RPM 4.20.x, 2024); RPM v6 format in development |
| Åben standard | Ja · royaltyfri |
| Specifikation | rpm-software-management.github.io |
RPM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om RPM-filer.
Ofte stillede spørgsmål
Hvordan installerer jeg en .rpm-fil på Linux?
sudo dnf install ./file.rpm; på openSUSE: sudo zypper install ./file.rpm. Disse løser afhængigheder automatisk. Det lavniveaus-værktøj sudo rpm -ivh file.rpm virker også, men vil ikke hente manglende afhængigheder.Hvordan åbner jeg en .rpm-fil på Windows?
Hvordan installerer jeg en .rpm på Ubuntu/Debian?
sudo alien -i file.rpm, men det er sikrere at lede efter en indfødt .deb, Flatpak eller AppImage af det samme program.Hvad er forskellen på RPM og DEB?
Hvordan ser jeg, hvad der er indeni en .rpm uden at installere den?
rpm -qlp file.rpm viser dens filer, og rpm -qip file.rpm viser dens info; eller kør rpm2cpio file.rpm | cpio -idmv for at udpakke dem. På Windows kan du åbne den med 7-Zip.Hvorfor får jeg „failed dependencies“, når jeg installerer en RPM?
dnf install ./file.rpm (eller zypper) i stedet for rå rpm, så pakkehåndteringen henter afhængighederne fra dine arkiver.