Sådan fungerer softwareinstallatører på Windows, macOS og Linux

  • Brian Curtis
  • 0
  • 5229
  • 950
Reklame

Moderne operativsystemer giver dig nemme metoder til at konfigurere nye applikationer. Disse inkluderer automatiserede installationspakker såvel som kommandoer, der installerer mange bits software på én gang. Men hvad der faktisk sker, når du kører det installationsprogram eller udsteder den kommando?

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

Metoder til softwareinstallation

Der er nogle få forskellige måder, du kan få nye applikationer til at køre på din computer. For at øge kompleksiteten inkluderer disse:

  • Software Compilation - Opbygning af applikationen fra dens kildekode. Kun for de mest tekniske brugere.
  • Softwarearkiv - Udpakning af arkiver som ZIP-filer og kørsel af programmet, uanset hvor du udtrækkede det. Dette kan kræve noget ekstra finjustering.
  • Installationspakker - Find en installationsfil og (dobbelt-) klik for at starte installationen.
  • Softwareadministratorer / butikker - Valg af app fra en dejlig grænseflade og klik på en stor “Installere” knap. Det er magi!

I denne artikel undersøger vi installationspakkerne, da de fleste softwaremanagers / butikker i sidste ende beskæftiger sig med disse typer pakker bag kulisserne alligevel. Til dagens vigtigste desktopplatforme - Windows, macOS og Linux - skal vi se på, hvad der udgør en af ​​disse pakker, og hvad der sker, når du installerer dem.

Microsoft Windows

Installationspakkerne, som du sandsynligvis vil komme på tværs af til Windows, findes i en af ​​to hovedsmag. Eksekverbare filer (EXE) kan opsætte dit program ved at udføre den tunge løft af at placere filer på det rigtige sted og udføre Windows-registeropdateringer. Windows Installer-pakker (MSI) tilføjes til dette ved at levere standardiserede tjenester såsom afinstallationer.

Du kan inspicere indholdet af EXEs eller MSI'er ved at åbne arkivet med 7-Zip 7Zip: Et gratis program til at pakke ud almindelige arkivformater 7Zip: Et gratis program til at pakke usædvanlige arkivformater ud. Hvis du bruger det til at se på 7-Zips egen EXE installationsprogram, finder du et antal forskellige filer inden for:

Selvom disse filer ikke indeholder nogen mappe i installationsprogrammet, vil udvikleren have peget hver enkelt mod et målmappe. De fleste af dem ender i “standardinstallationsplacering” - det samme forslag, som du typisk ser for en mappe som “C: \ Programfiler \ [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 appudviklere tilpasse installationen. For eksempel kan de udpege, hvilke versioner af Windows det vil installere på, opsætte genveje, der skal oprettes i Start-menuen og / eller på skrivebordet, eller indsamle brugerinfo som navn, adresse osv. Eksemplet InstallShield-projekt i billedet herunder viser skærmen til indstilling af, om Windows-registernøgler skal oprettes eller opdateres.

Med InstallShield pakkes appfilerne og andre tilpasninger ind i en setup.exe fil. Åbning af den med 7-Zip viser, at indersiden 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.

Windows installationsproces

En installatør tager følgende trin for at konfigurere din app til brug (den nøjagtige rækkefølge kan variere afhængigt af udviklerens tilpasninger):

  1. Et installationsprogram kan indeholde andre arkiver, såsom ovennævnte MSI eller formater som CAB. Som et første trin vil installationsprogrammet udpakke disse til et midlertidigt sted.
  2. Dernæst kontrolleres det, om der er indstillet afhængighed, der er angivet. Hvis der mangler noget, vil det downloade det, hvis det er muligt, eller forlade installationsprogrammet med en fejl, hvis ikke.
  3. Hvis der er brug for nogen afhængigheder, installeres de først ved hjælp af det installationsprogram, de leveres med (nogensinde blev en installation afbrudt til .NET Framework? Microsoft. NET Framework: Hvorfor du har brug for det, og hvordan du installerer det på Windows Microsoft. NET Framework: Hvorfor Du har brug for det, og hvordan du installerer det på Windows Du skal enten installere eller opdatere det. Men ved du hvad .NET Framework er? Vi viser dig, hvorfor du har brug for det, og hvordan du kan få den seneste version.).
  4. Dernæst vil installationsprogrammet begynde at kopiere appens filer og placere dem på deres rigtige placering.
  5. Hvis udvikleren konfigurerede nogen genveje, opretter installationsprogrammet og peger dem på den faktiske installationssti (husk, du kan ændre denne Sådan opretter du Windows Desktop genveje på den nemme måde Sådan opretter du Windows Desktop genveje på Easy Way Smart desktop genveje kan redde dig sindeløs sigtning gennem menuer og mapper. Vi viser dig hurtige og lette måder at oprette dem på. Når installationsprogrammet køres).
  6. Ændringer i Windows-registreringsdatabasen 3-værktøjer til overvågning og undersøgelse af Windows-registreringsdatabasen 3-værktøjer til at overvåge og undersøge Windows-registreringsdatabasen Windows-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. , hvis nogen, udføres.
  7. Endelig kan installationsprogrammet bede brugeren om at indtaste oplysninger såsom navn eller webstedets adresse.

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

Apple macOS

Windows-installatører foregår meget under hætten. Men hvis du har brugt en Mac, ved du, at det ofte er så let at installere et program som at downloade en kopi af appen, åbne diskbilledet (DMG) og følge nogle lette instruktioner Sådan installeres og fjernes Mac-software: 5 enkle metoder Sådan installeres og fjernes Mac-software: 5 nemme metoder Skiftet til en Mac og fået fat i det grundlæggende? Spekulerer du på, hvordan du installerer software fra kommandolinjen? Har du gamle Windows-apps, som du simpelthen skal køre på din Apple-computer? . Nogle gange giver download endda en “Træk her!” ikon.

Lad os dykke ned i APP-bundtet såvel som dets 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 det ender med en “.APP” endelsen. Hvis du downloader en af ​​disse på Windows, ser du, at den vises, ligesom enhver anden filmappe ville gøre i Explorer. For det andet kræver APP-filer, at absolut alt, hvad programmet kræver, er inkluderet. Der er ingen bekymring for manglende afhængigheder med disse typer installatører.

Disse bundter skal indeholde tre ting i en kaldet mappe “Indhold”: 1) an “Info.plist” fil, der indeholder applikationsmetadata såsom navn, sprog, version nummer osv .; 2) a “MacOS” bibliotek, der har den vigtigste eksekverbare; og 3) a “Ressourcer” bibliotek, der indeholder aktiver, som applikationen skal fungere (f.eks. et programikon). Der er andre valgfri mapper som f.eks “rammer” (bundter af funktionalitet, der ikke er specifikke for appen), “Plug-Ins” (funktionalitet til den app, der ikke kræves for at køre den) og “SharedSupport” (fremmede data som skabeloner).

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 Linux 3 UNIX-lignende operativsystemer, der ikke er Linux For nylig begyndte folk at forvirre " 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 vide om. . 7-Zip-applikationen åbner også en PKG-fil, som er komprimeret i XAR format. Inden for er en eller flere payload filer, som også er et arkiv. For at udtrække dens indhold skal du bruge følgende kommandokæde (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 det er gjort, ser du et velkendt Unix-lignende bibliotekstræ.

I eksemplet nedenfor har jeg brugt dokumentkonverter, Pandoc. Det inkluderer en binær indgang / Usr / local / bin og noget dokumentation i / Usr / local / share / mand. Hvordan kommer disse ting faktisk på plads? Vi ser på, hvordan hver af disse faktisk installeres på din Mac.

Jeg har brugt Windows-versionen af ​​7-Zip til at illustrere dette i stedet for kun Linux-versionen på kommandolinjen.

macOS APP-installationsproces

Når du slipper denne APP-fil til din applikationsmappe, ændrer den ikke rigtig så meget. Husk, at alt, hvad der er nødvendigt for at køre programmet, er selvstændigt. Den eneste forskel fra en standard træk-og-slip er, at “Info.plist” filen bliver registreret med systemet.

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

macOS PKG-installationsproces

Åbning af en PKG-fil starter på den anden side en “guide-stil” installatør. For enkle programmer er dette typisk en komponentinstallatør, som typisk gennemgår de følgende trin:

  1. Kør forudinstallere manuskript.
  2. Pak ud “payload” indhold til maskinen.
  3. Kør postinstall manuskript.

Udviklere kan derefter kombinere flere komponenter i en enkelt produktarkiv installere. Dette tilføjer muligheder såsom visning af en EULA for brugeren at acceptere, indsamling af information fra brugeren og valg af komponenter, der skal installeres. I mellemtiden sørger Apple Installer for alle detaljer om installation af de nødvendige komponenter en-for-en i baggrunden.

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

Ubuntu og Fedora Linux

Ah, DEB versus RPM Sådan installeres software på Linux: Pakkeformater forklares Sådan installeres software på Linux: Pakkeformater forklares Du 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 ligger i forkortelserne. . En af de store flammekrig, bedst kun af lignende we imod emacs eller KDE versus GNOME. Alligevel er disse formater mere ens, end de er forskellige. Lad os se.

Linux-pakke filstruktur

For at se på indersiden af ​​en DEB-fil kan du prøve en GUI-arkivadministrator. Brug ellers ar kommando. Følgende kommando indtastet i terminalen 40+ Mest anvendte Linux-terminal-kommandoer 40+ Mest anvendte Linux-terminal-kommandoer Uanset om du lige er i gang eller bare er nysgerrig efter Linux-terminalen, her er de mest almindelige kommandoer, der fører dig gennem hele din tid på Linux. udtrækker indholdet af en Debian-pakke:

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

Tre filer kommer ud af dette:

  • control.tar.gz - Denne indeholder igen en primær fil, Kontrollere, 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 her, inklusive binære filer, dokumentation og standardkonfig er her. I eksemplet pakken kde-service-menu-encfs_0.5.2_all.deb indeholder den filer og mapper, som vist i nedenstående billede.
  • debian-binær - Dette er en fil, der definerer, hvilken version af Debian-pakkeformatet filen bruger. For moderne distributioner vil dette bare indeholde “2,0” på en enkelt linje.

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 det mindste ikke i binær pakke. Du bliver nødt til at downloade kilden RPM (.SRC.RPM), der svarer til din binære version, og brug derefter den samme kommando ovenfor på den fil. Inkluderet heri vil være en SPEC-fil, der indeholder mange af de samme emner som Kontrollere fil i en Debian-pakke.

Nu hvor vi har forståelse for strukturen i Linux-pakker, lad os undersøge, hvad der sker, når du rent faktisk installerer dem. Sådan installeres software på Linux: Pakkeformater forklaret Hvordan installeres software på Linux: Pakkeformater forklares Du 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 ligger i forkortelserne. .

Linux-pakkeinstallation

Når du installerer pakker i begge format, uanset frontend, sker der et lignende sæt trin:

  1. Pakkesystemet undersøger pakkens indhold for at bestemme, 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 scripts eller kommandoer, der er installeret i forvejen, kører de næste.
  3. Derefter trækker pakkesystemet faktisk ud pakkeens filer.
  4. Når filerne er på plads, kører scripts efter installation.
  5. Endelig registreres pakken i den interne database ved hjælp af dens metadata, så den kan afinstalleres senere.

At vide, hvordan software installeres, er en god ting

Fordi udviklere af operativsystemer og softwaren, der kører på dem, gør et godt stykke arbejde for at gøre softwareinstallation let, behøver du ikke rigtig at være opmærksom på detaljerne. Men at have en vis viden om, hvad der sker bag kulisserne, giver dig lidt ro i sindet om, hvad der installeres på dit system, såvel som at hjælpe med fejlfinding.

Hvor mange af ovenstående softwareinstallationsmetoder har du gjort? Foretrækker du DEB eller RPM? Eller repræsenterer Mac's APP-bundter toppen af ​​brugervenlighed? Har du nogensinde sket et mareridt installeret? Fortæl os det i kommentarerne herunder!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.