Instalacija i uklanjanje softvera

Izvor: HrOpenWiki
Inačica od 21:54, 16. prosinca 2009. koju je unio/unijela 4ndY (razgovor | doprinosi)

Skoči na: orijentacija, traži
Paket
Paket (en. package) je, u kontekstu distribucije softvera, arhiva koja sadrži datoteke i naputke kako te datoteke rasporediti u hijerarhiji sustava. U većini slučajeva paket već sadrži pripremljene datoteke i njegova "instalacija" se svodi na otpakiravanje i kopiranje datoteka na predviđena mjesta, no u nekim slučajevima paket može sadržavati i izvorni kod kojem je potrebno prevođenje.

Instalaciju novog softvera na GNU/Linux distribucijama moguće je provesti na više načina (poredano od najjednostavnijeg do najkompliciranijeg načina):

  • preko paketnog upravitelja iz repozitorija distribucije;
  • ručnim skidanjem pripremljenog paketa koji je namijenjen za specifičnu distribuciju;
  • pokretanjem generičke instalacije (najčešće vlasnički programi);
  • skidanjem izvornog koda i prevođenjem (kompajliranjem) istog u izvršni program.

Prvi je način preporučljiv svima, pogotovo početnicima, i vjerojatno bi sve bilo idealno da nekad nema potrebe za drugim načinima.

Instalacija iz repozitorija

Danas sve moderne GNU/Linux distribucije imaju riješen sustav jednostavne instalacije i deinstalacije softvera iz repozitorija. To konkretno znači da je dovoljno odabrati željeni paket (npr. program) iz liste softvera ili tražilice, označiti ga za instalaciju i kliknuti na određeni gumb (obično "Install"). Nakon toga će paketni upravitelj pronaći taj program u online bazi softvera koja se naziva repozitorij, skinuti ga i instalirati na računalo. Paketni će upravitelj samostalno pronaći i sve dodatne programe i pakete koje treba željeni program i instalirati ih.

Budući da se softver skida s online baza (repozitorija) nužna je veza računala na Internet, no moguće je dodati i repozitorije s lokalne mreže ili napraviti repozitorij iz npr. DVD medija.

Instalacija softvera iz repozitorija donosi mnoge prednosti:

  • sav softver iz repozitorija je vrlo siguran i pouzdan, jer je prošao mnoge revizije prije nego je postao dostupan u službenom repozitoriju distribucije;
  • kad se u repozitoriju pojavi novija inačica paketa, moguća je jednostavna (automatska) nadogradnja, što znači da se sav softver instaliran preko repozitorija lako i brzo ažurira na najnovije inačice;
  • kao što je već navedeno, paketni se sustav brine i za sve pakete o kojima određeni paket ovisi, tako da nije potrebna nikakva briga oko rješavanja problema ovisnosti;
  • sustav sav softver instaliran iz repozitorija uredno evidentira, tako da je moguće lako uklanjanje (deinstalacija) svakog paketa;
  • pretraga softvera koji se nalazi u repozitoriju je izuzetno brza (u usporedbi s pretraživanjem Interneta).

Uklanjanje softvera svodi se na obrnuti proces od ovoga: označivanjem paketa u listi instaliranih paketa i odabiranjem opcije "Uklanjanje" (obično "Remove").

Različite distribucije koriste različite formate paketa, paketne upravitelje i paketne sustave koji redovito nisu međusobno kompatibilni. No korištenje paketnih upravitelja na jednoj distribuciji je analogno ostalima tako da prijelazi s korištenja jednog na drugi ne bi trebali biti problematični za korisnika. Detaljni opisi korištenja bit će obrađeni po distribucijama.

Gotovo svaka veća distribucija ima svoje tzv. "službene" repozitorije koji su uključeni u samu distribuciju i koje održava sama distribucija. Međutim, nekad službeni repozitoriji ne sadrže potreban softver. No prije nego se krene u ručnu instalaciju, dobro je pogledati i u "neslužbene" repozitorije koji nadopunjuju ono što nedostaje u službenim. Nose naziv "neslužbeni" jer distribucija ne garantira za njih, niti snosi ikakvu odgovornost za korištenje istih.

Neslužbeni repozitoriji postoje iz više razloga, a neki od njih su:

  • često je za dodavanje novih paketa u službeni repozitorij potrebno slijediti striktna pravila što može otežati i usporiti dodavanje softvera, tako da neslužbeni repozitorij služi kao prečac za nestrpljive;
  • neke Linux distribucije (kao Fedora) u svojim službenim repozitorijima sadrže isključivo slobodan softver (zbog problema s distribucijom vlasničkog softvera), što može biti prepreka u svakodnevnom radu (npr. slušanje glazbe u mp3 formatu ili gledanje YouTubea), tada tu uskaču neslužbeni repozitoriji koji sadrže softver (npr. kodeke) koji te radnje omogućuje;
  • nekad autori softvera nude vlastite (neslužbene) repozitorije za distribucije kako ne bi ovisili o politici koju vodi sama distribucija;
  • nestabilne, razvojne verzije softvera nisu pogodne za službeni repozitorij, pa se distribuiraju neslužbenim.


Neslužbeni se repozitoriji, ovisno o distribuciji, kriju i pod drugim nazivima, npr. community repository (repozitorij zajednice), 3rd party repozitory (repozitorij treće strane), User Repository (korisnički repozitorij), Personal Package Archives (PPA) itd.

Instalacija samostalnih paketa

Moguće je instalirati i pripremljene pakete koji su neovisno od paketnog upravitelja skinuti s Interneta ili nekog drugog medija. Takvi se paketi jednostavno instaliraju klikom miša, ali se u tom slučaju gubi sigurnost (i stabilnost), jer je paket nije prošao službenu reviziju distribucije, nego ga je napravila treća strana koja namjerno ili nenamjerno može ugroziti sigurnost i stabilnost vašeg sustava, pored toga, ako se paket u međuvremenu ne pojavi u repozitorijima, gubi se mogućnost automatske nadogradnje.

Ukloniti takav paket moguće je iz paketnog upravitelja: treba ga prvo naći u listi instaliranog softvera i zatim odabrati za uklanjanje.

Generička instalacija

Ovlasti
I za generičku instalaciju potrebne su administratorske ovlasti na sustavu, pa je tako u CLI slučaju potrebno upisati "sudo" ili "su -c" ispred naredbe (ovisno o distribuciji) i unijeti zaporku ili biti prijavljen kao root korisnik.

Kad određeni softver ne može osigurati svoje mjesto u repozitorijima distribucija (npr. vlasnički softver), a stvaranje paketa za svaku moguću distribuciju i inačicu je prevelik posao za distributera tog softvera, pribjegava se generičkim instalacijama. Datoteke takvih instalacija u pravilu imaju nastavak ".bin" i pokreću se "dvoklikom" ili upisivanjem njihovog imena iz CLI-a:

./ime_instalacije.run

ili

sh ime_instalacije.run

Ako korisnik u tom trenu u CLI-u nije root, naredbe su ovakve:

sudo ./ime_instalacije.run

ili

sudo sh ime_instalacije.run

za npr. Ubuntu, dok bi za Fedoru isto glasilo:

su -c'./ime_instalacije.run'

ili

su -c'sh ime_instalacije.run'

Nastavak ".run" nije nužan, pa je pitanje kako prepoznati instalacijsku datoteku. Odgovor daje naredba "file" bez obzira na nastavak, i to na ovaj način:

[user@localhost ~]$ file AdbeRdr9.2-1_i486linux_enu.bin
AdbeRdr9.2-1_i486linux_enu.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped

gdje je ključna riječ executable ili u ovom primjeru

[user@localhost ~]$ file Install-Crossover-Pro-6.1.0.sh
Install-Crossover-Pro-6.1.0.sh: POSIX shell script text executable

gdje su ključne riječi script text executable.

Uklanjanje, odnosno deinstalacija tako instaliranog softvera svodi se na traženje i pokretanje datoteke "uninstall" u direktoriju u kojem je softver/aplikacija instalirana, a to je najčešće, za takav softver, direktorij "/opt". Ako rečena datoteka ne postoji, tada preostaje ručno uklanjanje - što u najblažem slučaju znači uklanjanje direktorija željenog softvera iz "/opt" (s administratorskim ovlastima). U svim drugim slučajevima proces uklanjanja bez datoteke "uninstall" može predstavljati noćnu moru zbog čega se i izbjegavaju u pravilu generičke instalacije.

Prevođenje izvornog koda

Skidanje izvornog koda (en. source) i prevođenje istog nije jednostavan zadatak i ne preporuča se početnicima. Srećom, katkad je sam proces prilično jednostavan, pogotovo za programe koji imaju malo ovisnosti ili ih uopće nemaju.

Za početak potreban je prevoditelj/kompajler (en. compiler) koji prevodi izvorni kod u izvršni, računalu razumljiv kod. U pravilu je to gcc kojeg treba instalirati iz repozitorija distribucije (paketi se obično zovu "gcc" i "gcc-c++"). Paketni upravitelj će vjerojatno povući i ostale potrebne programe za prevođenje izvornog koda (kao "make" i sl.)

Nakon toga potrebno je ući u direktorij u kojem se otpakirala arhiva s izvornim kodom i pokrenuti:

1. konfiguracijsku datoteku koja ispituje dostupnost ovisnosti i postavke sustava te stvara datoteku "makefile" ako je sve prošlo uspješno
./configure
2. naredbu "make" koja će s uputstvima iz datoteke "makefile" započeti proces prevođenja
make
3. te na kraju sama instalacija koja će rasporediti datoteke po sustavu:
sudo make install
(pažnja: za uspješno izvršavanje "make install" potrebne su administratorske ovlasti!)

Za više detalja i kako ukloniti tako instaliran softver pogledajte zaseban članak Prevođenje izvornog koda.

Ostalo

Na Linuxu je moguća instalacija i aplikacija namijenjenih za operacijski sustav Windows, ali to već spada u temu programa Wine.

Instalacija i deinstalacija softvera po distribucijama

U gornjem su tekstu navedeni općeniti postupci kako instalirati i deinstalirati softver na GNU/Linux distribucijama. Kako to napraviti na specifičnoj distribuciji pogledajte u zasebnim tekstovima:

Daljnje čitanje i literatura