PočetnaHelpdeskKako zapravo rade programske instalacije na Windowsu i Linuxu

Kako zapravo rade programske instalacije na Windowsu i Linuxu


Moderni operacijski sustavi pružaju vam jednostavne i lagane načine za instaliranje novih programa, igrica i aplikacija, a to zahvaljujući dobrim razvojnim programerima. Sama instalacija novog programa, uključuje automatizirane instalacijske pakete, kao i nužne naredbe koje instaliraju veliku količinu programskih kodova na vaše računalo.

Ali što se zapravo događa “iza kulisa”, kada pokrenete instalaciju tj. izdate naredbu za instaliranje određenog programa? Probat ćemo to objasniti na najjednostavniji način, uzimajući u obzir i same razlike mežu operativnim sustavima.

 

instaliranje softvera

 

Pogledajmo kako se softver instalira na dvije glavne platforme: Windows i Linux.

 

Metode instalacije softvera

Postoji nekoliko različitih načina na koje možete pokrenuti nove aplikacije na računalu. Kako bi se povećala složenost, one uključuju:

  • Kompilacija softvera – Instalacija aplikacije direktno iz izvornog koda. Ovo je samo za tehnički napredne korisnike.
  • Arhiva softvera – Raspakirajte arhive kao što su ZIP ili RAR datoteke i pokrenite program s bilo kojeg mjesta gdje ste ga raspakirali. To može zahtijevati dodatna podešavanja, kao npr. putanji instalacije, odabiru jezika sučelja i slično.
  • Instalacijski paketi – Pronalaženje instalacijske datoteke, koju pokrećemo jednostavnim dvostrukim klikom.
  • Softverske trgovine / App store – Jednostavno odaberete aplikaciju s lijepog sučelja poput Google play trgovine i klikom na veliki gumb “Instaliraj”, instalirate željenu aplikaciju, igricu ili program.

 

google play trgovina

 

U ovom članku ćemo ispitati sve vrste instalacija, budući da većina današnjih softverskih instalacija rješava ovakve vrste instalacija iza kulisa, gdjem mi zapravo niti neznamo, što se sve dešava nakon klika “instaliraj”. Uzet ćemo u obzir dvije glavne desktop platforme: Windows i Linux. I pogledat ćemo što čini jedan takav instalacijski paket i što se događa kada pokrenete samu instalaciju.

 

Microsoft Windows

Pakete za instalaciju na Windows operativnom sustavu, najčešće će te pronaći u jednom od dva glavna oblika. Izvršne datoteke “Executable files” ili EXE, rade tako da prilikom instalacije vašeg programa, smještaju sve potrebne programe na prave lokacije unutar Windows operativnog sustava i izvršavaju ažuriranje “Windows Registry”-a.

Drugi najčešći oblik instalacijskih datoteka je “Windows Installer” ili MSI, koji rade istu stvar kao i EXE datoteke stime da podržavaju i opciju buduće deinstalacije programa. Uvijek možete pregledati sadržaj EXE ili MSI instalacija otvaranjem arhive sa 7-Zip programom.

 

kako instalirati softver

 

Većina instalacijskih programa će vas pitati gdje želite instalirati novi program, uz prijedloge poput “Default” mjesta, takav prijedlog koji obično vidite, radi instalaciju u mape poput “C:\Program Files\[naziv programa]” ili “C:\Program Files (x86)\[nova aplikacija ] „.

Kada koristite sofisticirani alat poput InstallShield za izradu instalacijskih paketa, programeri aplikacija mogu prilagoditi instalaciju. Na primjer, oni mogu odrediti na koje će se verzije sustava Windows instalirati, postaviti prečace koji će se stvoriti u izborniku Start, i/ili na radnoj površini, ili prikupljati informacije o korisnicima kao što su ime, adresa itd.

Primjer projekta InstallShield (dole na slici), prikazuje opciju dali će se dodatne informacije kreirati u “Windows Registry”-u, ili samo ažurirati postojeće.

 

install shield

 

Uz pomoć InstallShield programa, datoteke u aplikaciji i sve ostale prilagodbe, spremaju se u glavnu instalacijsku datoteku setup.exe. Otvaranje s 7-Zipom pokazat će da je unutra MSI paket koji, kada se pokreće, izgleda baš kao i EXE instalacija na koju smo navikli. Pogledajmo što se događa tijekom tog postupka.

 

Proces instalacije na Windows sustavu

Instalacija programa ili aplikacije će poduzeti sljedeće korake za finalno postavljanje programa za uporabu, (čiji se precizni redoslijed može razlikovati ovisno o prilagodbama razvojnog programera):

 

  • Instalacijski program može sadržavati i druge arhive, poput gore navedenih MSI ili formata CAB. Kao prvi korak, instalacijski program će ih izdvojiti na privremenu lokaciju.
  • Zatim će provjeriti jesu li dostupne sve potrebne instalacijske datoteke. Ako nešto nedostaje, on će ih, ako je moguće, preuzeti ili izaći iz programa najavljujući pogrešku ako ih nemože preuzeti.
  • Ako su potrebne ikakve dodatne datoteke o kojima ovisi cijeli program, kao npr. .NET Framework, bit će instalirane pomoću osnovnog instalatera s kojim dolaze.
  • Zatim će instalater početi kopirati datoteke aplikacije i stavljati ih na već pred određene lokacije.
  • Ako programer konfigurira bilo koji prečac, instalacijski će ga program izraditi i usmjeriti ih na stvarnu instalacijsku stazu (zapamtite, to možete promijeniti u toku instalacijskog procesa).
  • Izmjene u Windows Registry, ako ih ima, bit će izvršene.
  • Na kraju, instalacijski program može zatražiti od korisnika da unese podatke kao što su ime ili email adresa i slično.

 

Ovaj se proces može činiti kompliciran, ali pogledajmo kako je sve to rješeno kod još “kompliciranijeg” operativnog sustava Linuxa. 

 

deb-vs-rpm

 

Ubuntu i Fedora Linux

Dok kod Windowsa imamo EXE I MSI instalacijske pakete, kod Linuxa je također slična stvar, DEB i RPM, uz vječito pitanje koji je format bolji, slično kao i kod odnosa KDE u odnosu na GNOME. Ipak, ti ​​su formati sličniji nego što mnogi misle na prvi pogled. Uzmimo naprimjer, prebacili ste se na Linux i želite instalirati neki softver. Ali nailazite na situaciju da se instalacijski paketi razlikuju, ovisno o vrsti distirbucije Linuxa, tj. vašem distro-u. Pa koje aplikacije možete preuzeti i instalirati? Sve je u akronimima. Da bi to pojasnili moramo krenuti sa strukturom datoteka na Linuxu.

 

Struktura datoteka kod Linux instalacijskih paketa

Da biste pogledali unutrašnjost DEB datoteke, možete pokušati sa GUI archive managerom. Ili na drugi način da upotrijebite naredbu “ar”. Sljedeća naredba koja je unesena u terminal izvlači sadržaj Debian paketa:

Ar-x ime-of-your-package.deb

Tri datoteke će izaći iz ove:

  • control.tar.gz – Ova primarna datoteka “Control”, sadrži u sebi metapodatke o samom paketu, kao što je službeni naziv, verzija i drugi potrebni parametri. Može sadržavati i druge datoteke, kao što su skripte, koje će se izvoditi tijekom postupka instalacije programa, ili “default config files”.
  • data.tar.gz – Datoteke koje čine samu aplikaciju nalaze se u ovoj TAR.GZ arhivi. Sve što je potrebno nalazi se unutar ovog paketa, uključujući datoteke, dokumentaciju i zadane konfiguracijske postavke. U primjeru paketa “kde-service-menu-encfs_0.5.2_all.deb”, vidimo da sadrži datoteke i direktorije kao što je prikazano na donjoj slici.
  • debian-binary – Ovo je datoteka koja definira verziju Debian paketa tj. oblik datoteke koju koristi. Za moderne distribucije to će samo sadržavati “2.0” na jednoj liniji.

 

instalacije programa kod linuxa

 

U Fedori možete upotrijebiti naredbe rpm2cpio i cpio za izdvajanje RPM paketa i pregledavanje njihovih datoteka:

Rpm2cpio ime-of-your-package.rpm | Cpio-idvm

Za paket “kde-cli-tools-5.9.4-2.fc26.x86_64.rpm”, vidjet ćete stablo slično DEB paketu. No, to ne pruža metapodatke, barem ne u binarnom paketu. Morat ćete preuzeti izvorni RPM paket (.SRC.RPM) koji odgovara binarnoj verziji, a zatim upotrijebiti istu naredbu (kao gore), na taj izvorni paket. U izvornom (“source”) paketu, biti će SPEC datoteka koja sadrži mnoge iste stavke kao i Control datoteka u Debian paketu.

Sada kada razumijemo strukturu Linux paketa, istražimo dalje, što se događa kada ih instalirate, tj. u samom procesu instalacije.

 

linux-mint-software-manager

 

Instalacija Linux paketa

Kada instalirate pakete bilo kojeg formata, bez obzira na front-end, dešavaju se vrlo slični procesi:

  • Sustav paketa ispituje cijeli sadržaj paketa kako bi utvrdio dali su sve potrebne datoteke dostupne i ispravne i dali su pronađene neophodne datoteke u sustavu, bez kojih program nemože pravilno funkcionirati. Ovisno o paketu, on će vas sam upozoriti što nedostaje ili će ih sam počet preuzimati sa službenih web stranica.
  • Ako paketi sadrže predinstalirane skripte ili naredbe, tada su one slijedeće na redu za izvršenje.
  • Sada instalacijski paket započinje raspakiravanje datoteka i instalirava ih na zadana mjesta.
  • Sa instaliranim datotekama na zadanim mjestima, pokreću se završne instalacijske skripte.
  • Konačno, paket se prijavljuje i registrira unutarnjom bazom operativnog sustava pomoću metapodataka, tako da se kasnije može deinstalirati.

 

Zaključak

Budući da se razvojni programeri operacijskih sustava i softvera koji će raditi na njemu, brinu o tome da instalacije novih programa budu lagane i krajnje jednostavne, vi se nemorate brinuti oko svih ovih navedenih detalja. Ali znanje o tome što se događa iza “kulisa”, kada radite novu instalaciju nekog programa ili aplikacije, svakako neće škoditi, već naprotiv, znat ćete kakvi se procesi odvijaju i moglo bi vam biti od pomoći u rješavanju eventualnih instalacijskih problema.

Jeste li Vi ikada imali problema sa instalacijom novih programa? Napišite nam u komentarima!

Piše: V.V.


RELATED ARTICLES

Komentiraj

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular