Ubuntu: Tarkvara installimine lähtekoodist käsuga „make install” – Samm-sammuline juhend

1. Sissejuhatus

Kui kasutad Ubuntu’t, võid tarkvara installimisel kohata sammu nimega „make install”. Tavaliselt piisab rakenduse paigaldamiseks „apt” käsust, kuid mitte kogu tarkvara ei ole ametlikus repositooriumis saadaval. Kui soovid kasutada uusimat versiooni või jooksutada ise kirjutatud programmi, tuleb allikas alla laadida, see kompileerida (buildida) ja ise installida.

Siin tulebki appi „make install”.

„make install” on käsk, mis paigutab kompileeritud programmid õigesse kohta süsteemis. See ei automatiseeri ainult programmi ehitamist („make”), vaid ka failide kopeerimist süsteemikataloogidesse. Linuxi keskkonnas on see üks põhilisi töövõtteid, mida sageli kasutatakse.

Selles artiklis selgitan algajatele arusaadavalt, kuidas ehitada lähtekoodist ja installida tarkvara Ubuntu’s, kasutades „make install” käsku. Samuti käsitleme tüüpilisi vigu ja nende lahendusi.

Alustame arendustööriistade paigaldamisega.

2. Vajalikud arendustööriistad

Lähtekoodi ehitamiseks ja installimiseks tuleb Ubuntu’sse esmalt paigaldada vajalikud arendustööriistad. Ilma nendeta ei pruugi „make” käsk üldse toimida ja build-vead on tavalised. Sujuvaks tööks loo esmalt sobiv arenduskeskkond.

Vajalik pakett „build-essential”

Ubuntu pakub „build-essential” paketti, mis sisaldab C kompilaatorit (gcc), build-tööriistu (make) ja vajalikke teeke. Selle paketi installimisel saad kõik põhivahendid lihtsasti kätte.

Installi käsud on järgmised:

sudo apt update
sudo apt install build-essential

Alusta süsteemi paketiinfo uuendamisest, seejärel paigalda build-essential. Nii saad kõik põhivahendid buildimiseks.

Kontroll pärast installi

Kas kõik paigaldus õnnestus, saad kontrollida järgmiste käskudega:

gcc --version
make --version

Kui näed gcc (C kompilaator) ja make (build-tööriist) versiooninumbreid, on kõik korras. Kui tuleb viga, kontrolli paigaldusprotsessi ja proovi vajadusel uuesti.

Nüüd on Ubuntu valmis lähtekoodi ehitamiseks. Järgmise sammuna saad lähtekoodi alla laadida ja lahti pakkida.

3. Lähtekoodi allalaadimine ja lahtipakkimine

Kui arendustööriistad on olemas, võid hakata hankima ehitatavat lähtekoodi. See tähendab tarkvara arendaja kodulehelt või koodihoidlast allalaadimist ning töökausta lahtipakkimist. Selgitan, kuidas seda teha.

Lähtekoodi hankimise viisid

Üldjuhul saab lähtekoodi järgmistel viisidel:

Ametlikult kodulehelt allalaadimine

Paljud avatud lähtekoodiga projektid pakuvad allalaadimiseks „tar.gz” või „tar.bz2” pakette. Näiteks võib kasutada järgmist käsku:

wget https://example.com/software-1.2.3.tar.gz

Asenda URL vastava tarkvara allalaadimislingiga.

Kloonimine GitHubist vms

Paljud projektid kasutavad koodihoidlaid nagu GitHub. Sel juhul saad koodi kloonida git käsuga.

Kui git pole paigaldatud, tee seda esmalt:

sudo apt install git

Seejärel klooni hoidla:

git clone https://github.com/username/repository.git

URL leia alati projekti ametlikult lehelt.

Tihendatud failide lahtipakkimine

Kui lähtekood on tihendatud failis, kasuta sobivat lahtipakkimiskäsku.

Levinumad formaadid ja nende lahtipakkimine:

  • .tar.gz puhul:
  tar -xvzf software-1.2.3.tar.gz
  • .tar.bz2 puhul:
  tar -xvjf software-1.2.3.tar.bz2
  • .zip puhul:
  unzip software-1.2.3.zip

Pärast lahtipakkimist tekib kataloog tarkvara nime ja versiooniga. Liigu sinna kataloogi:

cd software-1.2.3

Nüüd oled valmis tarkvara buildimiseks. Järgmise sammuna ehitad ja installid programmi.

4. Build ja installatsioon

Lähtekood on olemas – nüüd saad asuda buildima ja installima. Siin peatükis kirjeldan Ubuntu tavalist buildi ja installatsiooni protsessi samm-sammult.

Enne buildi: ./configure

Paljudel projektidel on seadistusskript, mida tuleb enne buildimist käivitada. Tavaliselt tehakse see käsuga:

./configure

See kontrollib süsteemi ja loob Makefile’i. Kui mõni vajalik teek või tööriist puudub, saad veateate. Paigalda vajalikud paketid vastavalt teatele.

Kui configure skripti pole, loe README või INSTALL faili täpsete juhiste saamiseks.

Tarkvara buildimine: make

Pärast seadistust käivita build:

make

See kompileerib programmi vastavalt Makefile’ile. See võib võtta aega – jälgi veateateid!

Kui build ebaõnnestub, loe veateadet ja lahenda sõltuvusprobleemid.

Installatsioon: sudo make install

Kui build on edukas, installi programm süsteemi:

sudo make install

See kopeerib failid õigesse kohta ja muudab need Ubuntu süsteemis kättesaadavaks.

Levinumad vead ja lahendused

Buildi või installi käigus võib ette tulla järgmisi vigu:

  • Permission denied (õiguste viga)
    → Kontrolli, kas „sudo” oli make install ees.
  • Missing dependencies (puuduvad sõltuvused)
    → Loe veateadet ja paigalda vajalikud teegid või paketid.
  • configure: command not found
    → Kontrolli, kas configure skript on olemas ja täidetav. Vajadusel anna käsk chmod +x configure või loe buildi juhiseid.

Vigade puhul loe veateated rahulikult läbi ja lahenda need järk-järgult.

5. Kontroll pärast installi

Pärast „sudo make install” käsu käivitamist kontrolli alati, kas programm paigaldus õigesti. Kui install ei õnnestunud, võib käsk puududa või programm ei tööta ootuspäraselt. Siin on põhilised kontrollmeetodid.

Paigaldatud programmi asukoht

Kasuta „which” käsku, et kontrollida, kuhu programm paigaldati.

which programmi_nimi

Näiteks, kui paigaldasid programmi nimega sample:

which sample

Kui näed näiteks /usr/local/bin/sample või /usr/bin/sample, oli paigaldus edukas. Kui mitte, kontrolli installi või PATH seadistust.

Versiooniinfo kontroll

Enamik programme kuvab versiooniteabe käsuga --version või -v. Kontrolli programmi tööd näiteks nii:

sample --version

Kui näed õiget versiooniinfot, oli paigaldus edukas. Kui tuleb viga või käsku pole, kontrolli installisamme uuesti.

PATH keskkonnamuutuja kontroll

make install poolt paigaldatud programmid satuvad tihti /usr/local/bin kataloogi. Kui see pole PATH-is, ei pruugi käsud töötada.

Kontrolli oma PATH-i:

echo $PATH

Kui /usr/local/bin on olemas, on kõik hästi. Kui ei ole, lisa see näiteks faili ~/.bashrc või ~/.zshrc:

export PATH=/usr/local/bin:$PATH

Muudatuse jõustamiseks taaskäivita terminal või anna käsk:

source ~/.bashrc

Nüüd peaksid programmid käsurealt käivituma.

6. Desinstallimine

Lähtekoodist installitud programme apt või muu paketihaldur ei halda. Seega tuleb eemaldamine teha käsitsi. Selles peatükis räägin, kuidas Ubuntu’s „make install” kaudu paigaldatud tarkvara eemaldada.

Desinstallimine „make uninstall” käsuga

Kui tarkvara Makefile pakub uninstall target’it, kasuta:

sudo make uninstall

See eemaldab paigaldatud failid. Aga kõik tarkvarad ei toeta seda – kontrolli enne README või INSTALL failist.

Märkus

  • Käivita käsk alati samas lähtekoodikataloogis, kust installisid.
  • Kui lähtekood on kustutatud, ei saa make uninstall’i kasutada.

Failide käsitsi kustutamine

Kui „make uninstall” pole saadaval, tuleb programmid käsitsi kustutada. Tavaliselt on need /usr/local/bin või /usr/local/lib kataloogis.

Leia ja kustuta vastavad failid ettevaatlikult. Näiteks:

sudo rm /usr/local/bin/programmi_nimi

Käsitsi eemaldades kontrolli, et kõik failid saaks kustutatud.

checkinstall abil haldamine

Kui soovid lihtsamat eemaldamist, kasuta tööriista „checkinstall”. See võimaldab „make install” asemel luua deb-paketi, mida saad hiljem apt või dpkg abil eemaldada.

Paigalda checkinstall:

sudo apt install checkinstall

Pärast buildi kasuta:

sudo checkinstall

Nii on installi ja eemaldamise haldamine lihtsam. Kui tihti teed lähtekoodist installimisi, kasuta kindlasti checkinstall’i.

7. Offline installatsioon

Mõnikord tuleb Ubuntu’s tarkvara paigaldada internetiühenduseta arvutisse. Kuigi enamasti eeldatakse online installi, saab teatud töövõtete abil edukalt kasutada „make install” meetodit ka offline-keskkonnas. Selles peatükis selgitan seda lähemalt.

build-essential ettevalmistamine offline’s

Lähtekoodi buildimiseks on vaja arendustööriistu (build-essential). Selleks kasuta teist Ubuntu masinat, mis on internetis, ja laadi vajalikud paketid alla.

apt-offline kasutamine

„apt-offline” tööriist võimaldab paketid koos sõltuvustega korraga alla laadida ja USB või muu andmekandjaga üle kanda.

Paigalda apt-offline online-masinas:

sudo apt install apt-offline

Offline-masinas loo taotlusfail, online-masinas laadi vajalikud paketid, seejärel paigalda need offline-masinas.

Ubuntu installimeedia kasutamine APT allikana

Alternatiivina võid kasutada Ubuntu installiplaati (DVD/USB) APT allikana. Seal on olemas baaspaketid nagu build-essential.

Mounti installimeedia ja lisa APT-i allikana:

sudo mount /dev/sdb1 /mnt
sudo apt-cdrom -d=/mnt add

Seejärel kasuta tavalisi paigalduskäske:

sudo apt update
sudo apt install build-essential

Nii saad build-keskkonna ka ilma internetita üles seada.

Lähtekoodi ülekandmine ja lahtipakkimine

Kui build-tööriistad on olemas, laadi vajalik lähtekood varem alla ja kanna USB-ga üle. Seejärel paki see lahti ja jätka tavaliste sammudega.

tar -xvzf software-1.2.3.tar.gz
cd software-1.2.3

Edasi jätka tavapäraselt: ./configuremakesudo make install.

Märkus

Offline installi puhul tekib tihti sõltuvusprobleeme – kontrolli enne kõigi vajalike raamatukogude olemasolu. Kui võimalik, testi buildi online-keskkonnas ja koosta vajalike pakettide nimekiri ette.

8. KKK

Ubuntu „make install” kasutamisel tekib algajatel ja edasijõudnutelgi mitmeid küsimusi ja probleeme. Siin on olulisemad küsimused ja vastused.

K1. „make install” annab „Permission denied” veateate. Mida teha?

V1.
„make install” paigutab faile süsteemi kataloogidesse (nt /usr/local/bin), seega on vaja administraatoriõigusi. Kasuta kindlasti „sudo”:

Õige näide:

sudo make install

Nii toimib install õigesti.

K2. „./configure” annab „No such file or directory”. Mis on põhjus?

V2.
See tähendab, et configure skripti pole praeguses kaustas. Põhjused võivad olla:

  • Lähtekood pole täielik (allalaadimine ebaõnnestus)
  • Projekt ei kasuta autotools-i (võib kasutada CMake’i vms)
  • „configure” skriptil puuduvad täitmisõigused

Kontrolli faili olemasolu ja loe README või INSTALL juhendeid täpsemate sammude jaoks.

K3. „make” käsku ei leitud. Mida teha?

V3.
See tähendab, et build-tööriistad puuduvad. Paigalda need järgmise käsuga:

sudo apt update
sudo apt install build-essential

„build-essential” sisaldab kõiki põhilisi tööriistu, sh make.

K4. Kuidas installida build-essential offline’is?

V4.
Offline installiks laadi paketid internetiga arvutis alla. Põhilised viisid:

  • Kasutada „apt-offline” tööriista koos sõltuvustega
  • Lisada Ubuntu installiplaat APT allikaks

Installiplaadi meetod töötab ka täiesti ilma internetita arvutis.

9. Kokkuvõte

„make install” on oluline viis tarkvara lähtekoodist paigaldamiseks Ubuntu’s. See annab võimaluse kasutada viimast tarkvara ja teha omaenda muudatusi – just Linuxi paindlikkus!
Selles juhendis selgitasin arendustööriistade ettevalmistamist, lähtekoodi hankimist, buildi ja installatsiooni, samuti eemaldamist ja offline-võimalusi. Kui need sammud selged, saad julgesti katsetada uusi programme.
Levinumad vead ja lahendused on FAQ peatükis. Buildimine võib esmapilgul tunduda keeruline, kuid kui põhialused on selged, pole see midagi hullu.
Soovin edu Ubuntu’s tarkvara paigaldamisel „make install” abil ja loodan, et juhend aitab sul nautida vabamat ja paindlikumat arenduskeskkonda!

年収訴求