Dette er hvordan programvareinstallatører jobber på Windows, MacOS og Linux
Moderne operativsystemer gir deg enkle metoder for å sette opp nye applikasjoner. Disse inkluderer automatiserte installasjonspakker samt kommandoer som installerer mange biter av programvare samtidig. Men hva skjer faktisk når du kjører installatøren eller utsteder den kommandoen?
La oss se på hvordan programvare blir installert på tre store skriveplattformer: Windows, MacOS og Linux.
Metoder for programvareinstallasjon
Det er noen forskjellige måter du kan få nye applikasjoner på på datamaskinen din. For å øke kompleksiteten inkluderer disse:
- Programvarekompilering - Bygg applikasjonen fra kildekoden. Kun for de mest tekniske brukerne.
- Programvarearkiver - Pakke ut arkiver som ZIP-filer og kjører programmet fra hvor du har hentet den. Dette kan kreve litt ekstra justering.
- Installer Pakker - Finne en installasjonsfil og (dobbeltklikk) for å starte installasjonen.
- Programvareforvaltere / Butikker - Velger appen fra et fint grensesnitt og klikker et stort “Installere” knapp. Det er magisk!
I denne artikkelen vil vi undersøke installasjonspakken, som de fleste programvareadministratorer / butikker i siste instans håndterer med disse typer pakker bak kulissene uansett. For dagens viktigste skrivebordsplattformer - Windows, MacOS og Linux - ser vi på hva som utgjør en av disse pakkene, og hva skjer når du installerer dem.
Microsoft Windows
Installer-pakkene du sannsynligvis kommer over for Windows, kommer i en av to hovedsmak. Utførbare filer (EXE) kan sette opp programmet ved å gjøre den tunge løftingen av å plassere filer på riktig sted og utføre Windows Registry-oppdateringer. Windows Installer-pakker (MSI) legger til dette ved å tilby standardiserte tjenester som uninstalls.
Du kan inspisere innholdet i EXE eller MSI ved å åpne arkivet med 7-Zip 7Zip: Et gratis program for å pakke ut uvanlige arkivformater 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 innenfor:
Mens disse filene ikke inneholder noen mapper i installasjonsprogrammet, vil utvikleren ha pekt hver på en målkatalog. De fleste av dem havner i “standard installasjonssted” - Det samme forslaget du vanligvis ser for en mappe som “C: \ Programmer \ [programnavn]” eller “C: \ Programfiler (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 den skal installeres på, sette opp snarveier som skal opprettes i Start-menyen og / eller på skrivebordet, eller samle brukerinformasjon som navn, adresse osv. Eksemplet InstallShield-prosjektet i bildet nedenfor viser skjermen for å angi om Windows-registernøkler skal opprettes eller oppdateres.
Med InstallShield blir appfilene og andre tilpasninger pakket inn i en setup.exe fil. Å åpne den med 7-Zip vil vise at innsiden er en MSI-pakke som når den kjøres, ser akkurat som installasjonen vi er vant til. La oss se gjennom hva som skjer under denne prosessen.
Windows installasjonsprosess
Et installasjonsprogram vil følge disse trinnene for å stille opp appen din til bruk (den nøyaktige rekkefølge som kan variere avhengig av utviklerens tilpasninger):
- Et installasjonsprogram kan inneholde andre arkiver, som nevnte MSI eller formater som CAB. Som et første skritt vil installatøren trekke ut disse til et midlertidig sted.
- Deretter kontrolleres det at eventuelle avhengigheter som er satt, er tilgjengelige. Hvis noe mangler, laster det ned det hvis det er mulig, eller avslutter installatøren med en feil hvis ikke.
- Hvis noen avhengighet kreves, vil de bli installert først ved hjelp av installasjonsprogrammet de følger med (noen gang har installasjonen avbrutt for. NET Framework? Microsoft. NET Framework: Hvorfor trenger du det og hvordan du installerer det på Windows Microsoft .NET Framework: Hvorfor Du trenger det og hvordan du installerer det på Windows Du må enten installere eller oppdatere det. Men vet du hva .NET Framework er? Vi viser deg hvorfor du trenger det og hvordan du kan få den nyeste versjonen. Les mer).
- Deretter begynner installasjonsprogrammet å kopiere appens filer og plassere dem på riktig sted.
- Hvis utvikleren konfigurerer noen snarveier, vil installatøren opprette og peke dem til den faktiske installasjonsbanen (husk, du kan endre dette. Slik lager du Windows Desktop Shortcuts den enkle måten. Slik lager du Windows Desktop Shortcuts. sinnløs sikting gjennom menyer og mapper. Vi viser deg raske og enkle måter å opprette dem på. Les mer når installasjonsprogrammet kjøres).
- Endringer i Windows-registret 3 Verktøy for å overvåke og undersøke Windows-registret 3 Verktøy for å overvåke og undersøke Windows-registeret Windows-registeret er en av de dårligst 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.
- Til slutt kan installasjonsprogrammet be om at brukeren oppgir informasjon som navn eller nettstedadresse.
Denne prosessen kan virke kompleks i forhold til det neste operativsystemet på listen. La oss ta en titt på å installere programvare på macOS.
Apple MacOS
Windows installatører har mye på gang under hetten. 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. Slik installerer og fjerner du Mac-programvare: 5 enkle metoder Slik installerer og fjerner du Mac-programvare: 5 enkle metoder Skiftet til en Mac og får tak i det grunnleggende? Lurer 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 til og med deg en “Dra her!” ikon.
La oss dykke inn i APP-pakken, så vel som dens motstykke til PKG-installatøren.
MacOS Pakke Struktur
APP-filen på overflaten er Faktisk enklere enn Windows for to hovedårsaker. For det første er det en standardmappe. Den eneste forskjellen er at den ender med en “.APP” suffiks. Hvis du laster ned en av disse på Windows, vil du se at den vises akkurat som en annen filmappe ville i Explorer. For det andre krever APP-filer at alt som programmet krever er inkludert. Det er ingen bekymring for manglende avhengigheter med disse typer installatører.
Disse buntene må inneholde tre ting i en mappe som heter “innhold”: 1) an “Info.plist” fil som inneholder applikasjonsmetadata som navn, språk, versjonsnummer osv .; 2) a “Mac os” katalog som har hovedkjøp og 3) a “ressurser” katalog som inneholder ressurser som programmet må fungere (for eksempel et applikasjonsikon). Det finnes andre valgfrie mapper som “rammer” (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” (fremmede data som maler).
I motsetning er PKG-formatet en kombinasjon av et Windows-lignende installasjonsprogram med en Unix-lignende struktur 3 UNIX-lignende operativsystemer som ikke er Linux 3 UNIX-lignende operativsystemer som ikke er Linux Nylig begynte folk å forvirre " UNIX "med" Linux. " Linux var påvirket av UNIX, men UNIX-systemer har ikke noe forhold til Linux. Her er noen viktige UNIX-baserte systemer som er verdt å vite om. Les mer . 7-Zip-programmet vil også åpne en PKG-fil, som er komprimert i xar format. Innenfor er en eller flere nyttelast filer, som også er et arkiv. For å pakke ut innholdet, bruk følgende kommandokjede (cpio er et arkivformat samt et program for å manipulere dem) i en Mac eller Linux-terminal:
kattens nyttelast | gunzip -dc | cpio -i
Når du er ferdig, ser du et kjent Unix-lignende katalogtre.
I eksemplet nedenfor har jeg brukt dokumentkonverter, Pandoc. Den inneholder en binær i / Usr / local / bin og litt dokumentasjon i / Usr / local / share / mann. Hvordan kommer disse tingene faktisk på plass? Vi tar en titt på hvordan hver av disse faktisk installeres på din Mac.
Jeg har brukt Windows-versjonen av 7-Zip for å illustrere dette, i stedet for kommandolinjens eneste Linux-versjon.
macOS APP installasjonsprosess
Når du slipper den APP-filen i mappen Programmer, endres det 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 hos systemet.
Dette vil konfigurere ting som det kjørbare kalles når du starter appen, hvilket ikon vises, filtyper det støtter og mer. Men ellers er appen din (for eksempel APP-pakken for Atom Editor, vist nedenfor) nå klar til bruk.
MacOS PKG Installasjonsprosess
Å åpne en PKG-fil, derimot, lanserer a “veiviser-stil” installatør. For enkle programmer er dette vanligvis en komponentinstallatør, som vanligvis går gjennom følgende trinn:
- Kjør forhåndsinstallere manus.
- Pakke ut “nyttelast” innhold til maskinen.
- Kjør postinstall manus.
Utviklere kan da kombinere flere komponenter til en enkelt produktarkiv installere. Dette legger til alternativer som å vise en EULA for brukeren å godta, samle inn informasjon fra brukeren og velge komponentene som skal installeres. I mellomtiden tar Apple Installer seg av alle detaljer om å installere de nødvendige komponentene en-i-ett i bakgrunnen.
Når vi snakker om Unix-baserte installatører, går vi videre til de to ledende Linux-pakkformatene i neste avsnitt.
Ubuntu og Fedora Linux
Ah, DEB versus RPM Slik installerer du programvare på Linux: Pakkeformater forklart Slik installerer du programvare på Linux: Pakkeformater forklart Du har byttet til Linux, og vil installere noe programvare. Men pakkeforvaltere varierer avhengig av distro. Så hvilke apper kan du laste ned og installere? Det er alt i akronymer. Les mer . En av de store flamme kriger, bested bare av liker VI mot emacs eller KDE versus GNOME. Likevel er disse formatene mer likte enn de er forskjellige. La oss ta en titt.
Linux Package File Structure
For å se på innsiden av en DEB-fil, kan du prøve en GUI-arkivbehandling. Ellers bruker du ar kommando. Følgende kommando er lagt inn i terminalen 40 + Mest brukte Linux Terminal Commands 40 + Mest brukte Linux Terminal Commands Uansett om du bare begynner eller bare nysgjerrig på Linux-terminalen, er de de vanligste kommandoene som vil bære deg gjennom hele tiden på Linux. Les mer vil trekke ut innholdet i en Debian-pakke:
ar -x navn-av-din-pakke.deb
Tre filer kommer ut av dette:
- control.tar.gz - Dette inneholder i sin tur en primærfil, Styre, som inneholder metadata om pakken, for eksempel det er offisielt navn, versjon og avhengigheter. Det kan også inneholde andre filer, for eksempel skript som skal kjøres under installeringsprosessen eller standardkonfigureringsfilene.
- data.tar.gz - Filene som utgjør selve applikasjonen, er i dette TAR.GZ-arkivet. Alt, inkludert binærfiler, dokumentasjon og standardkonfigurer er her. I eksempelpakken kde-service-meny-encfs_0.5.2_all.deb inneholder den filer og kataloger som vist i bildet under.
- debian-binære - Dette er en fil som definerer hvilken versjon av Debians pakkeformat filen bruker. For moderne distribusjoner vil dette bare inneholde “2.0” på en enkelt linje.
I Fedora kan du bruke rpm2cpio og cpio kommandoer for å pakke 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, ser du et filtre tilsvarende DEB-pakken. Men det gir ikke metadataene, i hvert fall ikke i binær pakke. Du må laste ned kilde RPM (. SRC.RPM) som svarer til din binære versjon, og bruk deretter samme kommando over på den filen. Inkludert i det vil være en SPEC-fil som inneholder mange av de samme elementene som Styre filen i en Debian-pakke.
Nå som vi har forståelse for strukturen av Linux-pakker, la oss undersøke hva som skjer når du faktisk installerer dem. Slik installerer du programvare på Linux: Pakkeformater forklart Slik installerer du programvare på Linux: Pakkeformater forklart Du har byttet til Linux, og vil installere noe programvare. Men pakkeforvaltere varierer avhengig av distro. Så hvilke apper kan du laste ned og installere? Det er alt i akronymer. Les mer .
Linux Package Installasjon
Når du installerer pakker med enten format, uansett frontend, skjer et lignende sett med trinn:
- Pakke systemet undersøker innholdet i pakken for å avgjøre om det mangler avhengigheter. Avhengig av verktøyet, vil det enten advare deg eller angi å laste dem ned.
- Hvis pakkene inneholder forhåndsinstallere skript eller kommandoer kjører de neste.
- Da pakker systemet ut pakkenes filer.
- Med filene på plass, kjøres post-installeringsskript.
- Endelig er pakken registrert med den interne databasen ved hjelp av metadata, slik at den kan avinstalleres senere.
Å vite hvordan programvare installeres er en god ting
Fordi utviklere av operativsystemer og programvaren som kjører på dem, gjør en god jobb med å lage programvareinstallasjon enkelt, trenger du ikke å være oppmerksom på detaljene. Men å ha litt kunnskap om det som skjer bak kulissene, gir deg litt fred i tankene om hva som blir installert på systemet ditt, samt å hjelpe deg med feilsøking.
Hvor mange av de ovennevnte programvareinstallasjonsmetodene har du gjort? Foretrekker du DEB eller RPM? Eller representerer Macs APP-bunter toppet av brukervennlighet? Har du noen gang hatt et mareritt installasjon skje? Gi oss beskjed i kommentarene nedenfor!
Utforsk mer om: Installer programvare, Linux, MacOS Sierra, Windows.