Annonse

Moderne operativsystemer gir deg enkle metoder for å sette opp nye applikasjoner. Disse inkluderer automatiserte installasjonspakker så vel som kommandoer som installerer mange programvarebiter samtidig. Men hva skjer egentlig når du kjører det installasjonsprogrammet eller gir den kommandoen?

La oss ta en titt på hvordan programvare blir installert på tre store skrivebordsplattformer: Windows, macOS og Linux.

Metoder for programvareinstallasjon

Det er noen forskjellige måter du kan få nye applikasjoner til å kjøre på datamaskinen din. I rekkefølge av økende kompleksitet inkluderer disse:

  • Programvarekompilering — Bygge applikasjonen fra kildekoden. Kun for de mest tekniske brukerne.
  • Programvarearkiver — Pakke ut arkiver som ZIP-filer og kjøre programmet uansett hvor du pakket det ut. Dette kan kreve litt ekstra justeringer.
  • Installasjonspakker — Finne en installasjonsfil og (dobbelt-)klikke for å starte installasjonen.
  • Programvareledere/butikker — Velge appen fra et fint grensesnitt og klikke på en stor "Installer"-knapp. Det er magisk!
instagram viewer

I denne artikkelen skal vi undersøke installasjonspakkene, ettersom de fleste programvareadministratorer/butikker til slutt håndterer denne typen pakker i kulissene uansett. For dagens viktigste skrivebordsplattformer - Windows, macOS og Linux - skal vi se på hva som utgjør en av disse pakkene, og hva som skjer når du installerer dem.

Microsoft Windows

Installasjonspakkene du sannsynligvis kommer over for Windows kommer i en av to hovedvarianter. Kjørbare filer (EXE) kan sette opp programmet ved å gjøre tunge løft ved å plassere filer på riktig plassering og utføre Windows-registeroppdateringer. Windows Installer-pakker (MSI) legger til dette ved å tilby standardiserte tjenester som avinstallasjoner.

Du kan inspisere innholdet i EXE-er eller MSI-er ved å åpne arkivet med 7-Zip 7Zip: Et gratis program for å pakke ut uvanlige arkivformater Les mer . Hvis du bruker den til å se på 7-Zips eget EXE-installasjonsprogram, finner du en rekke forskjellige filer i:

anatomi programvarepakke 7zip innhold

Selv om disse filene ikke har noen inneholdende mappe i installasjonsprogrammet, vil utvikleren ha pekt hver enkelt på en målkatalog. De fleste av dem ender opp på "standard installasjonssted" - det samme forslaget du vanligvis ser for en mappe som "C:\Program Files\[programnavn]" eller "C:\Program Files (x86)\[din nye app" ].”

Når du bruker et sofistikert verktøy som InstallShield for å lage installasjonspakker, kan apputviklere tilpasse installasjonen. For eksempel kan de angi hvilke versjoner av Windows den skal installeres på, sette opp snarveier opprettes i Start-menyen og/eller på skrivebordet, eller samle brukerinformasjon som navn, adresse, etc. Eksempelet InstallShield-prosjektet i bildet nedenfor viser skjermen for å angi om Windows-registernøkler skal opprettes eller oppdateres.

anatomy programvarepakke installshield-registeret

Med InstallShield blir appfilene og andre tilpasninger pakket inn i en setup.exe fil. Å åpne den med 7-Zip vil vise at inne er en MSI-pakke som, når den kjøres, ser ut akkurat som installasjonen vi alle er vant til. La oss gå gjennom hva som skjer under denne prosessen.

anatomy programvarepakken installshield install

Windows installasjonsprosess

En installatør vil ta følgende trinn for å konfigurere appen din for bruk (den nøyaktige rekkefølgen kan variere avhengig av utviklerens tilpasninger):

  1. Et installasjonsprogram kan inneholde andre arkiver, som den nevnte MSI eller formater som CAB. Som et første trinn vil installatøren trekke disse ut til et midlertidig sted.
  2. Deretter vil den sjekke for å se at eventuelle avhengigheter som er angitt er tilgjengelige. Hvis noe mangler, vil den laste det ned hvis mulig, eller avslutte installasjonsprogrammet med en feil hvis ikke.
  3. Hvis det kreves noen avhengigheter, vil de først installeres ved å bruke det installasjonsprogrammet de kommer med (noen gang hatt en installasjon avbrutt for .NET Framework? Microsoft .NET Framework: hvorfor du trenger det og hvordan du installerer det på WindowsDu må enten installere eller oppdatere den. Men vet du hva .NET Framework er? Vi viser deg hvorfor du trenger det og hvordan du kan få den nyeste versjonen. Les mer ).
  4. Deretter vil installasjonsprogrammet begynne å kopiere appens filer og plassere dem på riktig plassering.
  5. Hvis utvikleren har konfigurert noen snarveier, vil installasjonsprogrammet opprette og peke dem til den faktiske installasjonsbanen (husk, du kan endre dette Hvordan lage Windows Desktop-snarveier på den enkle måtenSmarte skrivebordssnarveier kan spare deg for tankeløs sikting gjennom menyer og mapper. Vi viser deg raske og enkle måter å lage dem på. Les mer når installasjonsprogrammet kjøres).
  6. Endringer i Windows-registeret 3 verktøy for å overvåke og undersøke Windows-registeretWindows-registeret er en av de mest dårlig forstått delene av Windows-operativsystemet. Vi viser deg verktøy som kan forenkle registeret og hjelpe deg med å identifisere problemer. Les mer , hvis noen, vil bli utført.
  7. Til slutt kan installasjonsprogrammet be brukeren om å skrive inn informasjon som navn eller nettsideadresse.

Denne prosessen kan virke kompleks sammenlignet med det neste operativsystemet på listen. La oss ta en titt på installering av programvare på macOS.

Apple macOS

Windows-installatører har mye som skjer under panseret. Men hvis du har brukt en Mac vet du at det å installere et program ofte er like enkelt som å laste ned en kopi av appen, åpne diskbildet (DMG) og følge noen enkle instruksjoner Hvordan installere og fjerne Mac-programvare: 5 enkle metoderByttet til Mac og bli kjent med det grunnleggende? Lurer du på hvordan du installerer programvare fra kommandolinjen? Har du gamle Windows-apper som du bare må kjøre på Apple-datamaskinen din? Les mer . Noen ganger gir nedlastingen deg til og med en "Dra hit!" ikon.

La oss dykke inn i APP-pakken så vel som dens motstykke, PKG-installasjonsprogrammet.

macOS-pakkestruktur

APP-filen på overflaten er faktisk enklere enn Windows av to hovedgrunner. For det første er det en standardmappe. Den eneste forskjellen er at den ender med et ".APP"-suffiks. Hvis du laster ned en av disse på Windows, vil du se at den vises akkurat som en hvilken som helst annen filmappe i Utforsker. For det andre krever APP-filer at absolutt alt programmet krever er inkludert. Det er ingen bekymring for manglende avhengigheter med denne typen installatører.

Disse pakkene må inneholde tre ting i en mappe kalt "Innhold": 1) en "Info.plist"-fil som inneholder applikasjonsmetadata som navn, språk, versjonsnummer osv.; 2) en "MacOS"-katalog som inneholder den kjørbare hovedfilen; og 3) en «Ressurs»-katalog som inneholder eiendeler applikasjonen trenger for å fungere (f.eks. et applikasjonsikon). Det er andre valgfrie mapper som "Frameworks" (bunter med funksjonalitet som ikke er spesifikke for appen), "Plug-Ins" (funksjonalitet for appen som ikke er nødvendig for å kjøre den) og "SharedSupport" (ekstra data som f.eks. maler).

mac app-mapper

Derimot er PKG-formatet en kombinasjon av Windows-lignende installasjonsprogram med en Unix-lignende struktur 3 UNIX-lignende operativsystemer som ikke er LinuxNylig begynte folk å forveksle «UNIX» med «Linux». Linux ble påvirket av UNIX, men UNIX-systemer har ingen relasjon til Linux. Her er noen viktige UNIX-baserte systemer som er verdt å vite om. Les mer . 7-Zip-applikasjonen vil også åpne en PKG-fil, som er komprimert xar format. Innenfor er en eller flere Nyttelast filer, som også er et arkiv. For å trekke ut innholdet, bruk følgende kjede med kommandoer (cpio er et arkivformat så vel som et program for å manipulere dem) i en Mac- eller Linux-terminal:

katt Nyttelast | gunzip -dc | cpio -i

Når du er ferdig, vil du se et kjent Unix-lignende katalogtre.

I eksemplet nedenfor har jeg brukt dokumentkonvertering, Pandoc. Den inkluderer en binær inn /usr/local/bin og litt dokumentasjon i /usr/local/share/man. Hvordan kommer egentlig disse tingene på plass? Vi tar en titt på hvordan hver av disse faktisk installeres på din Mac.

mac pkg struktur

Jeg har brukt Windows-versjonen av 7-Zip for å illustrere dette, i stedet for Linux-versjonen som bare er kommandolinje.

macOS APP installasjonsprosess

Når du slipper den APP-filen i Applications-mappen din, endrer den egentlig ikke så mye. Husk at alt som trengs for å kjøre programmet er selvstendig. Den eneste forskjellen fra en standard dra-og-slipp er at "Info.plist"-filen blir registrert i systemet.

mac app kopi

Dette vil konfigurere ting som hvilken kjørbar fil som kalles når du starter appen, hvilket ikon som vises, filtyper den støtter og mer. Men ellers er appen din (som APP-pakken for Atom Editor vist nedenfor) nå klar til bruk.

mac-appen installert

macOS PKG installasjonsprosess

Å åpne en PKG-fil, derimot, starter et installasjonsprogram i "veiviserstil". For enkle programmer er dette vanligvis en komponentinstallatør, som vanligvis går gjennom følgende trinn:

  1. Kjør forhåndsinstallere manus.
  2. Pakk ut "Nyttelast"-innholdet til maskinen.
  3. Kjør etterinstallasjon manus.
mac pkg installer

Utviklere kan deretter kombinere flere komponenter til en enkelt produktarkiv installere. Dette legger til alternativer som å vise en EULA som brukeren kan godta, samle inn informasjon fra brukeren og velge komponentene som skal installeres. I mellomtiden tar Apple Installer seg av alle detaljene for å installere de nødvendige komponentene én etter én i bakgrunnen.

Når vi snakker om Unix-baserte installatører, går vi videre til de to ledende Linux-pakkeformatene i neste seksjon.

Ubuntu og Fedora Linux

Ah, DEB versus RPM Hvordan installere programvare på Linux: Pakkeformater forklartDu har byttet til Linux og vil installere noe programvare. Men pakkeadministratorer varierer avhengig av distroen din. Så hvilke apper kan du laste ned og installere? Alt står i akronymene. Les mer . En av de store flammekrigene, kun overvunnet av slike som vi mot emacs eller KDE versus GNOME. Likevel er disse formatene mer like enn de er forskjellige. La oss ta en titt.

Linux-pakkefilstruktur

For å ta en titt på innsiden av en DEB-fil, kan du prøve en GUI-arkivbehandling. Ellers, bruk ar kommando. Følgende kommando angitt i terminalen 40+ mest brukte Linux-terminalkommandoerEnten du akkurat har begynt eller bare er nysgjerrig på Linux-terminalen, her er de vanligste kommandoene som tar deg gjennom hele tiden din på Linux. Les mer vil trekke ut innholdet i en Debian-pakke:

ar -x navn-på-pakken.deb

Tre filer vil komme ut av dette:

  • control.tar.gz — Denne inneholder igjen én primærfil, Kontroll, som inneholder metadata om pakken, for eksempel dens offisielle navn, versjon og avhengigheter. Den kan også inneholde andre filer som skript som skal kjøres under installasjonsprosessen eller standard konfigurasjonsfiler.
  • data.tar.gz — Filene som utgjør selve applikasjonen er i dette TAR.GZ-arkivet. Alt, inkludert binærfiler, dokumentasjon og standardkonfigurasjoner er her. I eksempelpakken kde-service-menu-encfs_0.5.2_all.deb inneholder den filer og kataloger som vist i bildet nedenfor.
  • debian-binær — Dette er en fil som definerer hvilken versjon av Debian-pakkeformatet filen bruker. For moderne distribusjoner vil dette bare inneholde "2.0" på en enkelt linje.
deb hovedkontroll

I Fedora kan du bruke rpm2cpio og cpio kommandoer for å trekke ut en RPM-pakke og bla gjennom filene deres:

rpm2cpio name-of-your-package.rpm | cpio -idvm

For pakken kde-cli-tools-5.9.4-2.fc26.x86_64.rpm vil du se et filtre som ligner på DEB-pakken. Men det gir ikke metadata, i hvert fall ikke i de binær pakke. Du må laste ned kilde-RPM (.SRC.RPM) som tilsvarer din binære versjon, og deretter bruke samme kommando ovenfor på den filen. Inkludert i det vil være en SPEC-fil som inneholder mange av de samme elementene som Kontroll fil i en Debian-pakke.

Nå som vi har en forståelse av strukturen til Linux-pakker, la oss utforske hva som skjer når du faktisk installerer dem Hvordan installere programvare på Linux: Pakkeformater forklartDu har byttet til Linux og vil installere noe programvare. Men pakkeadministratorer varierer avhengig av distroen din. Så hvilke apper kan du laste ned og installere? Alt står i akronymene. Les mer .

Installasjon av Linux-pakken

Når du installerer pakker av begge formatene, uavhengig av front-end, skjer et lignende sett med trinn:

  1. Pakkesystemet undersøker pakkens innhold for å finne ut om det mangler avhengigheter. Avhengig av verktøyet, vil det enten advare deg eller sette til å laste dem ned.
  2. Hvis pakkene inneholder forhåndsinstallerte skript eller kommandoer, kjører de neste.
  3. Da trekker pakkesystemet faktisk ut pakkens filer.
  4. Med filene på plass kjører skript etter installasjon.
  5. Til slutt blir pakken registrert i den interne databasen ved hjelp av dens metadata, slik at den kan avinstalleres senere.

Å vite hvordan programvaren er installert er en god ting

Fordi utviklere av operativsystemer og programvaren som kjører på dem gjør en god jobb med å gjøre programvareinstallasjonen enkel, trenger du egentlig ikke å være oppmerksom på detaljene. Men å ha litt kunnskap om det som skjer bak kulissene vil gi deg litt trygghet om hva som blir installert på systemet ditt, i tillegg til å hjelpe med feilsøking.

Hvor mange av de ovennevnte programvareinstallasjonsmetodene har du gjort? Foretrekker du DEB eller RPM? Eller representerer Macs APP-bunter toppen av brukervennlighet? Har du noen gang hatt en marerittinstallasjon? Gi oss beskjed i kommentarene nedenfor!

Aaron har vært albue-dyp i teknologi som forretningsanalytiker og prosjektleder i femten år, og har vært en lojal Ubuntu-bruker nesten like lenge (siden Breezy Badger). Hans interesser inkluderer åpen kildekode, småbedriftsapplikasjoner, integrasjon av Linux og Android og databehandling i ren tekstmodus.