Wat is het RUN-bestandsformaat?
Een .run-bestand is een uitvoerbaar bestand dat code en instructies bevat voor het installeren van softwaretoepassingen op het Linux-platform. De meeste .run-bestanden worden gegenereerd met Makeself (door Stéphane Peter) en volgen een structuur uit twee delen: een shellscript-header in platte tekst die begint met een #!/bin/sh shebang, met een gecomprimeerde TAR-archief payload direct daarna toegevoegd. De script-header verifieert een ingebedde CRC (en optioneel MD5 of SHA-256) checksum, pakt de payload uit in een tijdelijke map en voert vervolgens automatisch een ingebed installatiecommando uit.
Het .run-formaat wordt veel gebruikt voor het distribueren van apparaatstuurprogramma's, SDK's en grote applicatie-installatieprogramma's - met name NVIDIA GPU-stuurprogramma's en CUDA-toolkits. Om een installatieprogramma te starten, moet eerst de uitvoerbare toestemming worden ingesteld als deze nog niet aanwezig is (chmod +x file.run), en vervolgens worden uitgevoerd met ./file.run of sh file.run.
Je kunt een Makeself .run-archief ook veilig inspecteren of uitpakken zonder het installatieprogramma uit te voeren:
- Inhoud weergeven:
./file.run --list - Alleen uitpakken:
./file.run --noexec --target /een/map
Voor Linux-systemen met pakketbeheer hebben formaten zoals .deb of .rpm over het algemeen de voorkeur, maar .run blijft gebruikelijk voor distributie-onafhankelijke en propriëtaire softwarelevering.
Beveiliging & veiligheid
RISICO: HIGHEen .run is uitvoerbare code: het uitvoeren ervan voert willekeurige shell-commando's uit met jouw rechten, en veel installatieprogramma's vragen om sudo, waardoor ze root-toegang krijgen. Dat maakt een kwaadaardige of gemanipuleerde .run net zo gevaarlijk als elk ander installatieprogramma. Veiligheidsregels: (1) download .run-bestanden alleen van de officiële leverancier via HTTPS (bijv. NVIDIA, de eigen site van de SDK); (2) aangezien het een shellscript is, lees de header in een editor en gebruik „./file.run --list” / „--check” om te inspecteren en de checksum te verifiëren voordat je het uitvoert; (3) voer nooit een .run uit via een pipe of met sudo als je deze niet vertrouwt. De Makeself-wrapper verifieert zelf de integriteit (CRC/MD5/SHA256) tegen corruptie, maar dat staat niet garant voor de bron.
Formaatdetails
in een notendopProgramma's die RUN-bestanden openen
Technische details
diepe specificaties| Formaat type | Uitvoerbaar shellscript met een gecomprimeerde binaire payload toegevoegd na de script-body (platte tekst header + binaire staart) |
| MIME-type | application/x-makeself; ook application/x-shellscript, text/x-sh, of application/octet-stream |
| Bestandssignatuur | Begint met #!/bin/sh shebang (hex 23 21 2F 62 69 6E 2F 73 68) op byte-offset 0; geen vast binair magisch getal |
| Codering | Platte tekst UTF-8 shellscript-header gevolgd door een binair gecomprimeerd archief toegevoegd zonder vaste scheiding |
| Compressie | gzip standaard; Makeself ondersteunt ook bzip2, xz, zstd, lzo, of ongecomprimeerde payloads |
| Containerstructuur | Shell-stub die een ingebed TAR-archief uitpakt in een tijdelijke map en vervolgens een ingebed installatiecommando uitvoert |
| Integriteitsverificatie | CRC-checksum altijd ingebed in de Makeself-header; optioneel MD5 of SHA-256; zelf-geverifieerd voordat de extractie begint |
| Uitvoering | chmod +x file.run && ./file.run, of sh file.run - geen pakketbeheerder of installatietool vereist |
| Inspecteren / uitpakken zonder uitvoeren | ./file.run --list om inhoud te tonen; ./file.run --noexec --target MAP om de payload uit te pakken zonder setup uit te voeren |
| Dominante generator | Makeself door Stéphane Peter (makeself.io); Makeself-versienummer is ingebed in de archiefheader |
| Geassocieerde platforms | Linux (primair doel); BSD, Solaris en andere Unix-achtige systemen worden ook ondersteund |
| Typische bestandsgrootte | Enkele honderden KB tot verscheidene GB; grote stuurprogramma- of SDK-installatieprogramma's (NVIDIA, CUDA, GOG-games) kunnen groter zijn dan 10 GB |
| Versleutelingsondersteuning | Geen standaard; Makeself ondersteunt optioneel GPG-versleutelde payloads voor veilige distributie |
| Payload-offset | De binnenste TAR-payload heeft geen vaste offset - het shellscript berekent deze dynamisch tijdens runtime op basis van ingebedde header-metadata |
| Uitgebracht | Makeself first released ~1998; the .run convention popularized by NVIDIA/3rd-party Linux installers (2000s) |
| Laatste versie | Makeself 2.7.1 (2025) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | makeself.io |
RUN conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over RUN-bestanden.