Reklame

Moderne operativsystemer giver dig nemme metoder til at opsætte nye applikationer. Disse inkluderer automatiserede installationspakker samt kommandoer, der installerer mange stykker software på én gang. Men hvad sker der egentlig, når du kører det installationsprogram eller udsteder den kommando?

Lad os tage et kig på, hvordan software bliver installeret på tre store desktop-platforme: Windows, macOS og Linux.

Metoder til softwareinstallation

Der er et par forskellige måder, du kan få nye programmer til at køre på din computer. I rækkefølge af stigende kompleksitet omfatter disse:

  • Software kompilering — Opbygning af applikationen fra dens kildekode. Kun for de mest tekniske brugere.
  • Softwarearkiver — Udpakning af arkiver såsom ZIP-filer og kørsel af programmet, uanset hvor du har pakket det ud. Dette kan kræve nogle ekstra justeringer.
  • Installationspakker — Find en installationsfil og (dobbelt-)klik for at starte installationen.
  • Softwaremanagere/butikker — Vælg appen fra en god grænseflade og klik på en stor "Installer"-knap. Det er magi!

I denne artikel vil vi undersøge installationspakkerne, da de fleste softwareadministratorer/butikker alligevel i sidste ende håndterer disse typer pakker bag kulisserne. For nutidens vigtigste desktopplatforme - Windows, macOS og Linux - vil vi se på, hvad der udgør en af ​​disse pakker, og hvad der sker, når du installerer dem.

Microsoft Windows

Installationspakkerne, du sandsynligvis vil støde på til Windows, kommer i en af ​​to hovedvarianter. Eksekverbare filer (EXE) kan konfigurere dit program ved at gøre det tunge løft ved at placere filer på den rigtige placering og udføre Windows Registry-opdateringer. Windows Installer-pakker (MSI) tilføjer til dette ved at levere standardiserede tjenester såsom afinstallationer.

Du kan inspicere indholdet af EXE'er eller MSI'er ved åbning af arkivet med 7-Zip 7Zip: Et gratis program til at udpakke usædvanlige arkivformater Læs mere . Hvis du bruger det til at se på 7-Zips eget EXE-installationsprogram, finder du en række forskellige filer i:

anatomi softwarepakke 7zip indhold

Selvom disse filer ikke har nogen indeholdende mappe i installationsprogrammet, vil udvikleren have peget hver enkelt på en målmappe. De fleste af dem ender på "standardinstallationsplaceringen" - det samme forslag, som du typisk ser for en mappe som "C:\Program Files\[programnavn]" eller "C:\Program Files (x86)\[din nye app ].”

Når du bruger et sofistikeret værktøj som InstallShield til at oprette installationspakker, kan app-udviklere tilpasse installationen. For eksempel kan de udpege, hvilke versioner af Windows den vil installere på, opsætte genveje oprettes i startmenuen og/eller på skrivebordet, eller indsamle brugeroplysninger såsom navn, adresse, etc. Eksemplet på InstallShield-projektet på billedet nedenfor viser skærmen til indstilling af, om Windows registreringsdatabasenøgler skal oprettes eller opdateres.

anatomi softwarepakke installshield registreringsdatabasen

Med InstallShield bliver appfilerne og andre tilpasninger pakket ind i en setup.exe fil. Åbning af den med 7-Zip vil vise, at der indeni er en MSI-pakke, der, når den køres, ligner den installation, vi alle er vant til. Lad os gennemgå, hvad der sker under denne proces.

anatomi softwarepakke installshield installation

Windows installationsproces

Et installatør vil tage følgende trin for at indstille din app til brug (den præcise rækkefølge kan variere afhængigt af udviklerens tilpasninger):

  1. Et installationsprogram kan indeholde andre arkiver, såsom den førnævnte MSI eller formater som CAB. Som et første trin vil installationsprogrammet udpakke disse til en midlertidig placering.
  2. Dernæst vil den kontrollere, at eventuelle afhængigheder, der er blevet indstillet, er tilgængelige. Hvis noget mangler, vil det downloade det, hvis det er muligt, eller afslutte installationsprogrammet med en fejl, hvis ikke.
  3. Hvis der kræves afhængigheder, installeres de først ved hjælp af det installationsprogram, de kommer med (nogensinde haft en installation afbrudt for .NET Framework? Microsoft .NET Framework: Hvorfor har du brug for det, og hvordan du installerer det på WindowsDu skal enten installere eller opdatere den. Men ved du, hvad .NET Framework er? Vi viser dig, hvorfor du har brug for det, og hvordan du kan få den nyeste version. Læs mere ).
  4. Dernæst vil installationsprogrammet begynde at kopiere appens filer og placere dem på deres korrekte placering.
  5. Hvis udvikleren har konfigureret nogen genveje, vil installationsprogrammet oprette og pege dem til den faktiske installationssti (husk, du kan ændre dette Sådan opretter du Windows-skrivebordsgenveje på den nemme mådeSmarte skrivebordsgenveje kan spare dig for en tankeløs gennemgang af menuer og mapper. Vi viser dig hurtige og nemme måder at skabe dem på. Læs mere når installationsprogrammet køres).
  6. Ændringer i Windows-registreringsdatabasen 3 værktøjer til at overvåge og undersøge Windows-registreringsdatabasenWindows-registreringsdatabasen er en af ​​de mest dårligt forståede dele af Windows-operativsystemet. Vi viser dig værktøjer, der kan forenkle registreringsdatabasen og hjælpe dig med at identificere problemer. Læs mere , hvis nogen, vil blive udført.
  7. Endelig kan installationsprogrammet bede brugeren om at indtaste oplysninger såsom navn eller webstedsadresse.

Denne proces kan virke kompleks sammenlignet med det næste operativsystem på listen. Lad os tage et kig på installation af software på macOS.

Apple macOS

Windows-installatører sker meget under motorhjelmen. Men hvis du har brugt en Mac, ved du, at det ofte er lige så nemt at installere et program som at downloade en kopi af appen, åbne diskbilledet (DMG) og efter nogle nemme anvisninger Sådan installeres og fjernes Mac-software: 5 nemme metoderSkiftet til en Mac og få styr på det grundlæggende? Gad vide, hvordan man installerer software fra kommandolinjen? Har du gamle Windows-apps, som du simpelthen skal køre på din Apple-computer? Læs mere . Nogle gange giver overførslen dig endda et "Træk her!" ikon.

Lad os dykke ned i APP-pakken såvel som dens modstykke, PKG-installationsprogrammet.

macOS-pakkestruktur

APP-filen på overfladen er faktisk enklere end Windows af to hovedårsager. For det første er det en standardmappe. Den eneste forskel er, at den ender med et ".APP"-suffiks. Hvis du downloader en af ​​disse på Windows, vil du se, at den vises ligesom enhver anden filmappe ville gøre det i Stifinder. For det andet kræver APP-filer, at absolut alt, hvad programmet kræver, er inkluderet. Der er ingen bekymring om manglende afhængigheder med disse typer installatører.

Disse bundter skal indeholde tre ting i en mappe kaldet "Indhold": 1) en "Info.plist" fil, der indeholder applikationsmetadata såsom navn, sprog, versionsnummer osv.; 2) en "MacOS"-mappe, der indeholder den primære eksekverbare; og 3) en "Ressource"-mappe, der indeholder aktiver, som applikationen skal bruge for at fungere (f.eks. et applikationsikon). Der er andre valgfri mapper såsom "Frameworks" (bundter af funktionalitet, der ikke er specifikke for appen), "Plug-Ins" (funktionalitet for appen, der ikke er påkrævet for at køre den) og "SharedSupport" (eksterne data som f.eks. skabeloner).

mac app mapper

I modsætning hertil er PKG-formatet en kombination af et Windows-lignende installationsprogram med en Unix-lignende struktur 3 UNIX-lignende operativsystemer, der ikke er LinuxFor nylig begyndte folk at forveksle "UNIX" med "Linux." Linux var påvirket af UNIX, men UNIX-systemer har ingen relation til Linux. Her er nogle vigtige UNIX-baserede systemer, der er værd at kende til. Læs mere . 7-Zip-applikationen åbner også en PKG-fil, som er komprimeret i xar format. Indenfor er en eller flere Nyttelast filer, som også er et arkiv. For at udtrække dets indhold, brug følgende kæde af kommandoer (cpio er et arkivformat såvel som et program til at manipulere dem) i en Mac- eller Linux-terminal:

kat Nyttelast | gunzip -dc | cpio -i

Når du er færdig, vil du se et velkendt Unix-lignende mappetræ.

I eksemplet nedenfor har jeg brugt dokumentkonverter, Pandoc. Det inkluderer en binær in /usr/local/bin og noget dokumentation i /usr/local/share/man. Hvordan kommer disse ting egentlig på plads? Vi tager et kig på, hvordan hver af disse faktisk installeres på din Mac.

mac pkg struktur

Jeg har brugt Windows-versionen af ​​7-Zip til at illustrere dette, snarere end den eneste kommandolinje-version af Linux.

macOS APP installationsproces

Når du slipper den APP-fil i din Applications-mappe, ændrer den sig ikke så meget. Husk, at alt det nødvendige for at køre programmet er selvstændigt. Den eneste forskel fra en standard træk-og-slip er, at filen "Info.plist" bliver registreret i systemet.

mac app kopi

Dette vil konfigurere ting, såsom hvilken eksekverbar, der kaldes, når du starter appen, hvilket ikon der vises, filtyper den understøtter og mere. Men ellers er din app (såsom APP-pakken til Atom Editor vist nedenfor) nu klar til brug.

mac app installeret

macOS PKG installationsproces

Åbning af en PKG-fil starter på den anden side et "wizard-style" installationsprogram. For simple programmer er dette typisk en komponent installatør, som typisk gennemgår følgende trin:

  1. Kør forudinstaller manuskript.
  2. Pak "Payload"-indholdet ud til maskinen.
  3. Kør efterinstallation manuskript.
mac pkg installation

Udviklere kan derefter kombinere flere komponenter til en enkelt produktarkiv installere. Dette tilføjer muligheder såsom at vise en slutbrugerlicensaftale, som brugeren kan acceptere, indsamle oplysninger fra brugeren og vælge de komponenter, der skal installeres. I mellemtiden tager Apple Installer sig af alle detaljerne for at installere de nødvendige komponenter en efter en i baggrunden.

Når vi taler om Unix-baserede installationsprogrammer, går vi videre til de to førende Linux-pakkeformater i næste afsnit.

Ubuntu og Fedora Linux

Ah, DEB versus RPM Sådan installeres software på Linux: Pakkeformater forklaretDu har skiftet til Linux og vil installere noget software. Men pakkeadministratorer er forskellige afhængigt af din distro. Så hvilke apps kan du downloade og installere? Det hele står i akronymerne. Læs mere . En af de store flammekrige, kun slået af folk som vi imod emacs eller KDE versus GNOME. Alligevel er disse formater mere ens, end de er forskellige. Lad os se.

Linux-pakkefilstruktur

For at tage et kig på indersiden af ​​en DEB-fil, kan du prøve en GUI-arkivhåndtering. Ellers skal du bruge ar kommando. Følgende kommando indtastet i terminalen 40+ mest brugte Linux-terminalkommandoerUanset om du lige er begyndt eller blot er nysgerrig efter Linux-terminalen, er her de mest almindelige kommandoer, der vil føre dig gennem hele din tid på Linux. Læs mere vil udtrække indholdet af en Debian-pakke:

ar -x navn-på-din-pakke.deb

Der kommer tre filer ud af dette:

  • kontrol.tar.gz — Denne indeholder igen én primær fil, Styring, som indeholder metadata om pakken, såsom dets officielle navn, version og afhængigheder. Det kan også indeholde andre filer, såsom scripts, der skal køres under installationsprocessen eller standardkonfigurationsfiler.
  • data.tar.gz — Filerne, der udgør selve applikationen, er i dette TAR.GZ-arkiv. Alt, inklusive binære filer, dokumentation og standardkonfigurationer er her. I eksempelpakken kde-service-menu-encfs_0.5.2_all.deb indeholder den filer og mapper som vist i billedet nedenfor.
  • debian-binær — Dette er en fil, der definerer, hvilken version af Debian-pakkeformatet filen bruger. For moderne distributioner vil dette kun indeholde "2.0" på en enkelt linje.
deb hovedkontrol

I Fedora kan du bruge rpm2cpio og cpio kommandoer til at udpakke en RPM-pakke og gennemse deres filer:

rpm2cpio navn-på-din-pakke.rpm | cpio -idvm

For pakken kde-cli-tools-5.9.4-2.fc26.x86_64.rpm vil du se et filtræ, der ligner DEB-pakken. Men det giver ikke metadataene, i hvert fald ikke i det binær pakke. Du skal downloade kilde-RPM (.SRC.RPM), der svarer til din binære version, og derefter bruge den samme kommando ovenfor på den fil. Inkluderet i det vil være en SPEC-fil, der indeholder mange af de samme elementer som Styring fil i en Debian-pakke.

Nu hvor vi har en forståelse af strukturen af ​​Linux-pakker, lad os udforske, hvad der sker, når du rent faktisk installerer dem Sådan installeres software på Linux: Pakkeformater forklaretDu har skiftet til Linux og vil installere noget software. Men pakkeadministratorer er forskellige afhængigt af din distro. Så hvilke apps kan du downloade og installere? Det hele står i akronymerne. Læs mere .

Installation af Linux-pakke

Når du installerer pakker af begge formater, uanset front-end, sker der et lignende sæt trin:

  1. Pakkesystemet undersøger pakkens indhold for at afgøre, om der mangler afhængigheder. Afhængigt af værktøjet vil det enten advare dig eller indstille til at downloade dem.
  2. Hvis pakkerne indeholder forudinstallerede scripts eller kommandoer, kører de derefter.
  3. Så udpakker pakkesystemet faktisk pakkens filer.
  4. Med filerne på plads kører scripts efter installation.
  5. Endelig er pakken registreret i den interne database ved hjælp af dens metadata, så den kan afinstalleres senere.

Det er en god ting at vide, hvordan software installeres

Fordi udviklere af operativsystemer og den software, der kører på dem, gør et godt stykke arbejde med at gøre softwareinstallation let, behøver du ikke rigtig at være opmærksom på detaljerne. Men at have noget viden om, hvad der sker bag kulisserne, vil give dig ro i sindet om, hvad der bliver installeret på dit system, samt hjælpe med fejlfinding.

Hvor mange af ovenstående softwareinstallationsmetoder har du udført? Foretrækker du DEB eller RPM? Eller repræsenterer Macs APP-bundter toppen af ​​brugervenlighed? Har du nogensinde oplevet en mareridtsinstallation? Fortæl os det i kommentarerne nedenfor!

Aaron har været albuedyb inden for teknologi som forretningsanalytiker og projektleder i femten år, og har været en loyal Ubuntu-bruger i næsten lige så lang tid (siden Breezy Badger). Hans interesser omfatter open source, applikationer til små virksomheder, integration af Linux og Android og computer i almindelig teksttilstand.