Reklaam

Kaasaegsed operatsioonisüsteemid pakuvad lihtsaid meetodeid uute rakenduste seadistamiseks. Nende hulka kuuluvad nii automaatsed installipaketid kui ka käsud, mis installivad korraga palju tarkvara. Aga mis tegelikult juhtub, kui käivitate installiprogrammi või väljastate selle käsu?

Vaatame, kuidas tarkvara installitakse kolmele suurele töölauaplatvormile: Windows, macOS ja Linux.

Tarkvara installimise meetodid

Uute rakenduste arvutis käivitamiseks on mitu erinevat viisi. Keerukuse suurendamise järjekorras on need järgmised:

  • Tarkvara koostamine — Rakenduse loomine selle lähtekoodist. Ainult kõige tehnilisematele kasutajatele.
  • Tarkvaraarhiivid — Arhiivide (nt ZIP-failide) lahtipakkimine ja programmi käivitamine sealt, kus te selle ekstraheerisite. See võib vajada täiendavat kohandamist.
  • Installeri paketid — Installifaili leidmine ja installimise alustamiseks (topelt)klõps.
  • Tarkvarahaldurid/poed - Rakenduse valimine kenast liidesest ja suurel nupul "Install" klõpsamine. See on maagia!

Selles artiklis uurime installipakette, kuna enamik tarkvarahaldureid/poode tegeleb lõppkokkuvõttes seda tüüpi pakettidega kulisside taga. Tänapäeva peamiste töölauaplatvormide – Windows, macOS ja Linux – puhul vaatame, mis neist pakettidest koosneb ja mis juhtub nende installimisel.

Microsoft Windows

Installeripakette, millega Windowsi jaoks tõenäoliselt kokku puutute, on üks kahest peamisest maitsest. Käivitatavad failid (EXE) saavad teie programmi seadistada, paigutades failid õigesse asukohta ja värskendades Windowsi registrit. Windows Installeri paketid (MSI) täiendavad seda, pakkudes standardteenuseid, näiteks desinstallimisi.

EXE-de või MSI-de sisu saate kontrollida arhiivi avamine 7-Zip-iga 7Zip: tasuta programm ebatavaliste arhiivivormingute lahtipakkimiseks Loe rohkem . Kui kasutate seda 7-Zipi enda EXE-installeri vaatamiseks, leiate siit mitmeid erinevaid faile:

anatoomia tarkvarapaketi 7zip sisu

Kuigi need failid ei sisalda installimiskausta, on arendaja suunanud igaüks neist sihtkataloogi. Enamik neist jõuab "vaikeinstalli asukohta" – sama soovitus, mida tavaliselt näete selliste kaustade puhul nagu "C:\Program Files\[programmi nimi]" või "C:\Program Files (x86)\[teie uus rakendus ].”

Kui kasutate installipakettide loomiseks keerukat tööriista, nagu InstallShield, saavad rakenduste arendajad installimist kohandada. Näiteks saavad nad määrata, millistesse Windowsi versioonidesse see installitakse, ja seadistada otseteid luua menüüs Start ja/või töölaual või koguda kasutajateavet, nagu nimi, aadress, jne. Alloleval pildil olev InstallShieldi näidisprojekt näitab ekraani, kus saab määrata, kas Windowsi registrivõtmed tuleks luua või värskendada.

anatoomia tarkvarapaketi installshield register

InstallShieldiga pakitakse rakenduste failid ja muud kohandused a setup.exe faili. Selle 7-Zipiga avamine näitab, et sees on MSI pakett, mis käivitamisel näeb välja nagu installimine, millega me kõik oleme harjunud. Vaatame üle, mis selle protsessi käigus juhtub.

anatoomia tarkvarapakett installshield install

Windowsi installiprotsess

Installer teeb teie rakenduse kasutamiseks seadistamiseks järgmised toimingud (mille täpne järjekord võib olenevalt arendaja kohandustest erineda).

  1. Installer võib sisaldada muid arhiive, nagu ülalmainitud MSI või vorminguid, nagu CAB. Esimese sammuna eraldab installija need ajutisse asukohta.
  2. Järgmisena kontrollib see, kas kõik määratud sõltuvused on saadaval. Kui midagi on puudu, laadib see võimalusel selle alla või kui mitte, väljub installijast veaga.
  3. Kui on vaja mingeid sõltuvusi, installitakse need esmalt kaasasoleva installiprogrammi abil (Kas .NET Frameworki installimine on kunagi katkestatud? Microsoft .NET Framework: miks seda vaja on ja kuidas seda Windowsi installidaPeate selle kas installima või värskendama. Kuid kas teate, mis on .NET Framework? Näitame teile, miks seda vajate ja kuidas saate uusima versiooni hankida. Loe rohkem ).
  4. Järgmisena hakkab installija kopeerima rakenduse faile ja paigutama need õigesse asukohta.
  5. Kui arendaja konfigureeris otseteed, loob installija need ja suunab need tegelikule installiteele (pidage meeles, saate seda muuta Kuidas luua lihtsal viisil Windowsi töölaua otseteidNutikad töölaua otseteed säästavad teid mõtlematust menüüde ja kaustade vahel sõelumisest. Näitame teile kiireid ja lihtsaid viise nende loomiseks. Loe rohkem kui installija käivitatakse).
  6. Muudatused Windowsi registris 3 tööriista Windowsi registri jälgimiseks ja uurimiseksWindowsi register on üks Windowsi operatsioonisüsteemi kõige vähem mõistetavaid osi. Näitame teile tööriistu, mis võivad registrit lihtsustada ja probleeme tuvastada. Loe rohkem , kui see on olemas, siis hukatakse.
  7. Lõpuks võib installija paluda kasutajal sisestada teave, näiteks nimi või veebisaidi aadress.

See protsess võib loendis järgmise operatsioonisüsteemiga võrreldes tunduda keeruline. Vaatame tarkvara installimist macOS-i.

Apple macOS

Windowsi installijatel toimub kapoti all palju. Kuid kui olete kasutanud Maci, teate, et rakenduse installimine on sageli sama lihtne kui rakenduse koopia allalaadimine, ketta kujutise (DMG) avamine ja järgides mõningaid lihtsaid juhiseid Maci tarkvara installimine ja eemaldamine: 5 lihtsat meetoditKas lülitusite Macile ja saite põhitõdedega hakkama? Kas soovite teada, kuidas installida tarkvara käsurealt? Kas teil on vanu Windowsi rakendusi, mida peate lihtsalt oma Apple'i arvutis käivitama? Loe rohkem . Mõnikord pakub allalaadimine teile isegi käsku "Lohistage siia!" ikooni.

Sukeldume nii APP komplekti kui ka selle analoogi PKG installijasse.

macOS-i paketi struktuur

APP-fail pinnal on tegelikult lihtsam kui Windows kahel peamisel põhjusel. Esiteks on see tavaline kaust. Ainus erinevus on see, et see lõpeb järelliitega „.APP”. Kui laadite ühe neist Windowsi alla, kuvatakse see samamoodi nagu mis tahes muu failikaust Exploreris. Teiseks nõuavad APP-failid, et kaasas oleks absoluutselt kõik, mida programm nõuab. Seda tüüpi installijate puhul pole vaja muretseda sõltuvuste puudumise pärast.

Need paketid peavad kaustas „Sisu” sisaldama kolme asja: 1) fail „Info.plist”, mis sisaldab rakenduse metaandmeid, nagu nimi, keel, versiooninumber jne; 2) "MacOS" kataloog, mis sisaldab peamist täitmisfaili; ja 3) kataloog „Ressursid”, mis sisaldab varasid, mida rakendus vajab toimimiseks (nt rakenduse ikoon). On ka teisi valikulisi kaustu, näiteks „Frameworks” (funktsioonide komplektid, mis pole rakendusele spetsiifilised). "Plug-Ins" (rakenduse funktsioon, mis pole selle käitamiseks vajalik) ja "SharedSupport" (kõrvad andmed, nagu mallid).

maci rakenduse kaustad

Seevastu PKG-vorming on kombinatsioon Windowsi-laadsest vormingust Unixi-laadse struktuuriga paigaldaja 3 UNIX-i sarnast operatsioonisüsteemi, mis pole LinuxHiljuti on inimesed hakanud segamini ajama "UNIX" ja "Linux". Linuxit mõjutas UNIX, kuid UNIX-süsteemidel pole Linuxiga mingit seost. Siin on mõned olulised UNIX-põhised süsteemid, millest tasub teada. Loe rohkem . Rakendus 7-Zip avab ka PKG-faili, mis on tihendatud xar vormingus. Sees on üks või mitu Kasulik koormus failid, mis on ühtlasi arhiiv. Selle sisu eraldamiseks kasutage järgmist käsuahelat (cpio on arhiivivorming ja programm nendega manipuleerimiseks) Maci või Linuxi terminalis:

kassi kandevõime | gunzip -dc | cpio -i

Kui see on tehtud, näete tuttavat Unixi-laadset kataloogipuud.

Allolevas näites olen kasutanud dokumendimuundurit, Pandoc. See sisaldab kahendkoodi /usr/local/bin ja mõned dokumendid sisse /usr/local/share/man. Kuidas need asjad tegelikult paika saavad? Vaatame, kuidas need kõik teie Maci installitakse.

mac pkg struktuur

Olen kasutanud selle illustreerimiseks 7-Zipi Windowsi versiooni, mitte ainult Linuxi käsurea versiooni.

macOS APP installiprotsess

Kui viskate selle APP-faili oma rakenduste kausta, ei muutu see tegelikult nii palju. Pidage meeles, et kõik programmi käitamiseks vajalik on iseseisev. Ainus erinevus tavalisest pukseerimisest on see, et fail Info.plist registreeritakse süsteemis.

maci rakenduse koopia

See konfigureerib näiteks seda, millist käivitatavat faili rakenduse käivitamisel kutsutakse, milline ikoon kuvatakse, failitüübid, mida see toetab, ja palju muud. Kuid muidu on teie rakendus (nt allpool näidatud Atom Editori APP pakett) nüüd kasutamiseks valmis.

maci rakendus installitud

macOS PKG installiprotsess

PKG-faili avamine seevastu käivitab viisardi stiilis installiprogrammi. Lihtsate programmide puhul on see tavaliselt a komponentide paigaldaja, mis tavaliselt läbib järgmised etapid:

  1. Käivitage eelinstallida stsenaarium.
  2. Pakkige "Payload" sisu masinasse lahti.
  3. Käivitage pärast installimist stsenaarium.
mac pkg installimine

Seejärel saavad arendajad ühendada mitu komponenti üheks tootearhiiv installida. See lisab valikud, nagu EULA kuvamine kasutajale vastuvõtmiseks, kasutajalt teabe kogumine ja installitavate komponentide valimine. Samal ajal hoolitseb Apple Installer kõigi vajalike komponentide taustal ükshaaval installimise üksikasjade eest.

Unixi-põhistest installijatest rääkides liigume järgmises jaotises edasi kahe juhtiva Linuxi paketivormingu juurde.

Ubuntu ja Fedora Linux

Ah, DEB versus RPM Tarkvara installimine Linuxi: paketivormingute selgitamineOlete üle läinud Linuxile ja soovite installida tarkvara. Kuid paketihaldurid erinevad olenevalt teie distributsioonist. Milliseid rakendusi saate alla laadida ja installida? See kõik on akronüümides. Loe rohkem . Üks suurimaid leegisõdasid, mida on parimaks saanud ainult sellised nagu vi versus emacs või KDE versus GNOME. Kuid need vormingud on rohkem sarnased kui erinevad. Heidame pilgu peale.

Linuxi paketi failistruktuur

DEB-faili sisemuse vaatamiseks võite proovida GUI arhiivihaldurit. Vastasel juhul kasutage ar käsk. Terminali sisestati järgmine käsk 40+ enimkasutatavat Linuxi terminali käskuOlenemata sellest, kas olete alles alustamas või olete lihtsalt Linuxi terminali vastu uudishimulik, siin on kõige levinumad käsud, mis viivad teid kogu Linuxi kasutamise aja. Loe rohkem ekstraktib Debiani paketi sisu:

ar -x-teie-paketi-nimi.deb

Sellest tuleb välja kolm faili:

  • control.tar.gz — see omakorda sisaldab ühte peamist faili, Kontroll, mis sisaldab paketi metaandmeid, nagu selle ametlik nimi, versioon ja sõltuvused. See võib sisaldada ka muid faile, näiteks installiprotsessi ajal käivitatavaid skripte või vaikekonfiguratsioonifaile.
  • data.tar.gz — Rakenduse enda moodustavad failid on selles TAR.GZ arhiivis. Siin on kõik, sealhulgas binaarfailid, dokumentatsioon ja vaikekonfiguratsioonid. Näidispaketis kde-service-menu-encfs_0.5.2_all.deb sisaldab see faile ja katalooge, nagu on näidatud alloleval pildil.
  • debian-binaarne — See on fail, mis määrab, millist Debiani paketivormingu versiooni fail kasutab. Kaasaegsete distributsioonide puhul sisaldab see ühel real lihtsalt "2.0".
deb põhijuht

Fedoras saate kasutada rpm2cpio ja cpio käsud RPM-paketi ekstraktimiseks ja nende failide sirvimiseks:

rpm2cpio-oma-paketi nimi.rpm | cpio -idvm

Paketi kde-cli-tools-5.9.4-2.fc26.x86_64.rpm puhul näete failipuud, mis sarnaneb DEB-paketiga. Kuid see ei paku metaandmeid, vähemalt mitte a binaarne pakett. Peate alla laadima binaarversioonile vastava lähtekoodi RPM (.SRC.RPM) ja seejärel kasutama selle faili puhul sama ülaltoodud käsku. See sisaldab SPEC-faili, mis sisaldab paljusid samu üksusi, mis Kontroll fail Debiani paketis.

Nüüd, kui oleme Linuxi pakettide struktuurist aru saanud, teeme uurige, mis juhtub, kui need tegelikult installite Tarkvara installimine Linuxi: paketivormingute selgitamineOlete üle läinud Linuxile ja soovite installida tarkvara. Kuid paketihaldurid erinevad olenevalt teie distributsioonist. Milliseid rakendusi saate alla laadida ja installida? See kõik on akronüümides. Loe rohkem .

Linuxi paketi installimine

Kummagi vormingu pakettide installimisel, olenemata esiotsast, toimub sarnane toimingute komplekt:

  1. Paketisüsteem uurib paketi sisu, et teha kindlaks, kas sõltuvusi pole puudu. Olenevalt tööriistast hoiatab see teid või seab need alla laadima.
  2. Kui paketid sisaldavad eelinstallitud skripte või käske, käitatakse need järgmisena.
  3. Seejärel ekstraktib paketisüsteem tegelikult paketi failid.
  4. Kui failid on paigas, käitatakse installijärgsed skriptid.
  5. Lõpuks registreeritakse pakett selle metaandmete abil sisemises andmebaasis, nii et seda saab hiljem desinstallida.

Tarkvara installimise teadmine on hea

Kuna operatsioonisüsteemide ja nendel töötava tarkvara arendajad teevad tarkvara installimise hõlbustamiseks suurepärast tööd, ei pea te tegelikult detailidele tähelepanu pöörama. Kuid teadmine kulisside taga toimuva kohta annab teile meelerahu selle kohta, mida teie süsteemi installitakse, ja aitab ka tõrkeotsingul.

Mitu ülaltoodud tarkvara installimeetodit olete teinud? Kas eelistate DEB-d või RPM-i? Või esindavad Maci APP-paketid kasutuslihtsuse tippu? Kas olete kunagi õudusunenägu installinud? Andke meile allolevates kommentaarides teada!

Aaron on olnud viisteist aastat ärianalüütiku ja projektijuhina tehnoloogia vallas ning on olnud peaaegu sama kaua lojaalne Ubuntu kasutaja (alates Breezy Badgerist). Tema huvide hulka kuuluvad avatud lähtekoodiga, väikeettevõtete rakendused, Linuxi ja Androidi integreerimine ning lihtteksti režiimis andmetöötlus.