Namestitev naredi ubuntu. Prevajanje in nameščanje programov iz izvorne kode. Nimam časa, da bi se zajebal s tem, bolje, da naredim namestitev znova, vse je preprosto in jasno

Bistvo je, da tega ukaza v obliki "make install" ali "sudo make install" ni mogoče uporabiti v sodobnih distribucijah.

Toda avtorji programov v priročnikih za namestitev pišejo, da morate uporabiti ta ukaz, bi lahko rekli. Da, pišejo. Toda to samo pomeni, da ne vedo, kakšno distribucijo imate, ali je sploh distribucija, morda ste se pridružili sekti in kadili branje LFS in se zdaj odločili, da njihovo stvaritev sestavite za svoj htonski sistem. In make install je univerzalen, čeprav pogosto napačen način za to.

Lirična digresija

Kot veste, mora biti večina programske opreme za normalno delovanje ne samo prevedena, ampak tudi pravilno nameščena v sistemu. Programi pričakujejo, da bodo datoteke, ki jih potrebujejo, našli na določenih mestih in ta mesta so v večini sistemov *nix trdo kodirana v kodo med prevajanjem. Poleg tega vidika je glavna razlika med namestitvenim postopkom v linux/freebsd/whatever in tistim v sistemih Windows in MacOS ta, da program ne samo postavi kopice datotek v ločen imenik v Program Files ali /Applications, ampak “ širi« sama po sebi datotečni sistem. Knjižnice gredo v lib, izvršljive datoteke v bin, konfiguracije v itd., različne vrste podatkov v var itd. Če ga nenadoma morate posodobiti, potem je treba vse to najprej nekako očistiti, ker ... uporabo nova različica Ostanki datotek iz starega lahko privedejo do popolnoma nepredvidljivih posledic, pogosto ni dobro. Verjetnost tega dogodka ni tako velika, a ga potrebujete na produkcijskem strežniku?

Pa kaj?

Torej, če ste namestitev izvedli neposredno prek make install, potem je normalno, da odstranite ali posodobite programsko opremo, najverjetneje ne moreš. Poleg tega bo najverjetneje nameščena nova različica namesto stare bo prepisal vaše spremembe v konfiguracijah. make install naredi natanko to, kar mu je naročeno - namesti datoteke na prava mesta, ne upošteva dejstva, da je nekaj že tam. Po tem postopku je absolutno nemogoče pridobiti kakršno koli informacijo o tem, kaj je bilo kje in v prebavljivi obliki. Včasih Makefile seveda podpira dejanje odstranitve, vendar to ni tako pogosto in ni dejstvo, da deluje pravilno. Poleg tega je shranjevanje nepakiranega izvornega drevesa in pravil gradnje za odstranitev nekako čudno.

Kako se boriti?

Ker se paketi v distribucijah včasih posodabljajo, so si za rešitev tega problema izmislili nekaj takega upravitelj paketov. Ko ga uporabljate, namestitev poteka nekako takole:
  1. vzame se na določen način oblikovan arhiv
  2. iz nje se izvlečejo informacije o tem, kaj je, katera različica je, od česa je odvisna, s čim je v konfliktu, ali je treba zagnati kakšne skripte za namestitev/odstranitev/konfiguracijo itd.
  3. Potekajo neposredni koraki namestitve
  4. Vsi podatki o tem, kam in kaj je bilo dostavljeno, se dodajo v bazo upravitelja paketov.

V tem primeru lahko pri posodabljanju neboleče odstranite nepotrebne stvari, hkrati pa preverite, ali so se datoteke, označene kot konfiguracijske, spremenile v sistemu in vprašate, kaj storiti, če je njihova vsebina v novi različici drugačna. Poleg tega vam upravitelj paketov ne bo dovolil prepisati datotek enega paketa, ko nameščate drugega. Na splošno lahko naredi veliko koristnih stvari.

Če ste iz nevednosti/lenobe kopirali in prilepili make install iz navodil, potem se v sistemu pojavijo datoteke, za katere upravitelj paketov ne ve. Z vsem, kar pomeni, če vam prej našteto ni dovolj.

Kaj storiti?

Seveda lahko konfigurirate izvorno drevo tako, da je vse nameščeno nekje v /opt/mycoolapp/, nato pa po potrebi ročno izbrišete, vendar se tukaj lahko pojavi marsikaj neprijetnega, začenši s tem, da program pričakuje, da bo lahko naložil vaše knjižnice, nalagalnik pa ne ve ničesar o imeniku, kjer se nahajajo, in konča z dejstvom, da lahko avtor programa to pričakuje, če na primer da datoteko, recimo, v $prefix/share /xsessions/, potem ga bo prevzel upravitelj zaslona. Da ne omenjam poti za pkgconfig in tako naprej.

Torej morate zbrati paket.

Nimam časa, da bi se zajebal s tem, bolje, da naredim namestitev znova, vse je preprosto in jasno!

Pomiri se, pomiri se. Privezan je na naše noge. Vse ni tako strašljivo in zapleteno, kot se zdi na prvi pogled.
preverite namestitev
Ta čudovit pripomoček bo ob zagonu namesto make install postavil več vprašanj, nato pa bo zgradil in namestil paket. To je to, pri posodabljanju ne boste imeli težav s čiščenjem stare smeti.
Ročna izgradnja paketa deb
Če niste nagnjeni k zaupanju v takšno avtomatizacijo (ki včasih še vedno zamoti) ali želite narediti nekaj sprememb, vendar ste še vedno preleni, da bi se ukvarjali z običajnim procesom gradnje paketov, potem lahko paket sestavite ročno. Dajem način za gradnjo za sisteme Baza podatkov Debian, ker jih najbolje poznam. Ideološko ni korekten, vendar je rezultat popolnoma pravilen paket brez uporabe dodatnih entitet. To se naredi na naslednji način.
Najprej sestavimo programsko opremo s parametri --prefix=/usr in --exec-prefix=/usr, ki sta vnaprej podana za configure ali autogen.sh.
Nato ga namestimo v začasni imenik. Pišemo:

Fakeroot make install DESTDIR=`pwd`/tempinstall
Po tem dobimo celoten nabor datotek v novo ustvarjenem imeniku. Mimogrede, zdaj smo v okolju fakeroot, to pomeni, da lahko spremenite lastnika in pravice dostopa do datotek brez kakršnih koli omejitev, vendar boste fizično ostali lastnik sistema. Programska oprema znotraj seje fakeroot bo prejela spremenjene informacije, kar bo omogočilo arhiviranje datotek s pravilnimi pravicami.
Nato ustvarite imenik DEBIAN v »korenu paketa« in dodajte seznam vseh datotek, ki naj gredo v /etc v DEBIAN/conffiles:

Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles
Nato ustvarimo datoteko DEBIAN/control z naslednjo vsebino:

Po potrebi lahko tam ustvarite tudi skripte preinst, postinst, prerm in postrm.

To je to, naredimo dpkg -b tempinstall in rezultat je tempinstall.deb, ki ga lahko uporabite dpkg -i za pravilno namestitev, posodobitev ali odstranitev.

»Pravilni« postopek predhodne izdelave paketa izvorne kode presega obseg te opombe in zato ne bo opisan, vendar za vaše namene običajno ni potreben.

Zaključek

Kot lahko vidite, tukaj ni popolnoma nič zapletenega, a upoštevanje teh korakov vas bo rešilo pred številnimi težavami v prihodnosti.

Poleg tega je treba namestiti druge sisteme dodatne programe. V operacijskih sobah Windows sistemi vse je zelo preprosto, praviloma obstaja namestitveni program setup.exe, ki pomaga namestiti programsko opremo. Toda v Linuxu so stvari nekoliko drugačne. Kako namestiti programe na Linux? Zdaj pa poglejmo to vprašanje.

Linux ima več vrst namestitvenih paketov in vsaka distribucija ima svojo obliko paketa. Distribucije Fedora, Mandriva, Red Hat in Suse uporabljajo standardno namestitev Linux RPM, ki jo je razvil Red Hat. Datoteka paketa RPM je običajno poimenovana program_name-version.rpm.

Druga zelo priljubljena oblika je DEB. Uporablja se v Debianu, Ubuntuju, Knoppixu in Mepisu. Ima ime ime_programa-različica.deb.

In smo pristopili k arhivu. Običajno so to končnice .tar , .tar.gz , .tgz. Treba jih je razpakirati in nato namestiti/prevesti.

Postopek namestitve programa morate izvesti kot superuporabnik.

Hitra navigacija

Namestitev programov na Debian, Ubuntu

Obstaja veliko orodij za delo s paketi DEB, vendar je najpogosteje uporabljeno apt-get, ki je vključeno v standardni nabor orodij. Za namestitev aplikacije vnesite ukaz:

apt-get namestitev ime_paketa

Za odstranjevanje:

apt-get odstrani ime_paketa

APT shranjuje lokalno bazo podatkov o vseh paketih, ki so na voljo za namestitev, in povezavah, kjer jih je mogoče dobiti. To zbirko podatkov je treba občasno posodobiti z ukazom:

posodobitev apt-get

Za posodobitev zastarelih paketov (programov) na računalniku vnesite naslednje ukaze:

posodobitev apt-get; apt-get nadgradnja

Namestitev programov na Fedora, Red Hat

Pripomoček, podoben APT, je yum. Za prenos in namestitev paketa iz konfiguriranega repozitorija napišite ukaz:

yum namestite ime_paketa

yum odstrani ime_paketa

Lokalna zbirka podatkov yum ni shranjena, zato je ni treba posodabljati. Če želite namestiti posodobitve, uporabite ukaz:

yum posodobitev

Izberite nekaj posebnega za posodobitev:

yum posodobi ime_paketa

Namestitev programov v Mandrivo

Mandriva ima svoj nabor orodij za delo s paketi, imenovanih urpmi. Za namestitev:

urpmi ime_paketa

Če želite izbrisati:

urpme ime_paketa

Posodobite lokalno bazo podatkov s seznamom paketov:

urpmi. posodobitev -a

Za namestitev posodobitev:

urpmi --samodejna izbira

Namestitev programov iz arhivov (tarballs)

Za arhive, stisnjene z uporabo GZIP (gz, gz2 itd.), naredimo to:

tar -xvz f ime datoteke

Za arhive, stisnjene z uporabo BZIP (bz, bz2 itd.), je nekoliko drugače:

tar -xvjf ime datoteke

Tar ukazi:

  • x – ekstrahiraj datoteke iz arhiva;
  • v – podroben prikaz informacij na zaslonu;
  • f – zahtevana možnost. Če ni navedeno, bo Tar poskusil uporabiti trak namesto datoteke;
  • z – arhiv procesa, stisnjen z gzip;
  • j – obdelava arhiva, stisnjenega z bzip.

Po izvedbi ukaza bo ustvarjena mapa z imenom, podobnim imenu paketa. Nato morate to ustvarjeno mapo odpreti z ukazom:

ime_mape cd

Nato v nepakiranem arhivu preberite navodila v datoteki README, če obstajajo. V vsakem primeru, če je program sestavljen v obliki izvršljiva datoteka, potem bo paket vseboval datoteko .sh, običajno imenovano install.sh

Pozdravljeni vsi skupaj!

To je kratka opomba za začetnike Linuxa o tem, kaj ti trije čudoviti ukazi pomenijo in za kaj so potrebni. Začnimo, kot pravijo, od začetka. Večino programov je treba pred uporabo prevesti, torej pretvoriti iz človeku razumljivega besedila v niz enic in ničel, ki jih lahko razume računalnik. Postopek je razdeljen na tri faze: konfiguracija, montaža in namestitev. Detajli pod krojem :)

./configure

Ta ukaz išče knjižnice in datoteke glave, potrebne za prevajanje (to je za programe, ki so delno ali v celoti napisani v C/C++ in podobnih jezikih), kot tudi nastavitev posebnih parametrov ali povezovanje posebnih knjižnic, če ./configure bo našel vse, kar potrebuje, bo ustvaril Makefiles- datoteka, potrebna za izdelavo programa

Parametre konfiguratorja lahko konfigurirate z uporabo ključev in argumentov teh istih ključev, na primer:

./configure --prefix=/opt/my_program

S ključem --predpona= Določite lahko imenik, ki bo pozneje deloval kot predpona za vaš program (to je korenski imenik). To je posledica dejstva, da v svetu Linuxa in ne samo, obstaja posebna hierarhija datotečnega sistema (HFS), po kateri mora biti vsak program preveden in nameščen, da deluje brez napak.

Obstajajo tri glavne predpone datotečnega sistema, za katere je konfigurirana večina programov, in sicer:

  • / - korenski imenik operacijskega sistema, tako imenovani ROOT
  • /usr - imenik, kjer se nahajajo aplikacije uporabniškega okolja
  • /usr/local - dodatni imenik za ročno prevedene uporabniške programe, posebej za operacijski sistem ni spremenila v smetišče

Če odprete katerega od teh imenikov, lahko vidite zelo podobno strukturo, vsaj tam bodo mape: bin itd., include, libs, sbin.

Če tečeš ./configure brez ključev, potem bo privzeta predpona (imenik, v katerem bo nameščen preveden program). /usr/lokalno, zapomnite si to, če ne morete zagnati svojega programa, morda nimate poti do POT.

Razen ključa --predpona V konfiguratorju je praviloma veliko drugih ključev, vse jih lahko vidite, če zaženete:

./configure --help

narediti

Najpomembnejši in najpreprostejši ukaz/program zažene postopek prevajanja aplikacije iz izvorne kode. Za vaše delo ta program uporablja posebne datoteke Makefiles, ki podrobno opisujejo postopek izdelave aplikacije z vsemi parametri, ki smo jih podali konfiguratorju. Rezultat uspešnega ukaza make bo preveden program v trenutnem imeniku.

narediti namestitev

Ta ukaz neposredno namesti aplikacijo v imenik, določen v fazi konfiguracije; po izvedbi ukaza make install lahko zaženete na novo nameščen program.

Pogovor

Da ne bi pisali treh ukazov zaporedoma, jih lahko napišete v eno vrstico:

./configure && make && make install

&& - to je operator AND, ki je prišel iz jezika C/C++, vendar z vidika lupine pomeni, da je treba naslednji ukaz izvesti samo, če se je prejšnji ukaz uspešno zaključil, to je zelo priročno, če stopenj se konča z napako.

Pravzaprav lahko make install izvede tudi gradnjo, ker je namestitvena naloga odvisna od celotne naloge (to je neposredne gradnje aplikacije), to pomeni, da lahko korak izdelave preskočite in izvedete lahko samo dva ukaza, če ju napišete v eni vrstici:

./configure && make install

Srečno! In hvala za branje!

Obstajajo situacije, ko potrebujete najnovejšo različico programa, vendar je ni v repozitoriju vaše distribucije. Ali pa ta program iz nekega razloga tam sploh ni dodan. Obstaja več možnosti za pridobitev tega programa, ena od njih je izdelava programa iz izvorne kode, neposredno za vašo distribucijo. Seveda govorimo o odprtokodnih programih. izvorna koda:)

Sestavljanje (prevajanje) programa je pretvorba njegove izvorne kode, napisane v nekem programerju razumljivem prevedenem programskem jeziku (na primer C++), v binarno kodo (zaporedje ničel in enic), ki je razumljiva. centralni procesor računalnik. Vsi programski jeziki niso prevedeni. Na primer, kodo v Pythonu je mogoče zagnati takoj, brez prevajanja v binarno kodo (čeprav je tudi to mogoče). Za izdelavo programa je priporočljivo imeti dokaj močan in po možnosti večjedrni procesor. Nikoli ne prevajajte programov na prenosnikih! To bo izjemno negativno vplivalo na njihovo pričakovano življenjsko dobo (niso zasnovani za takšne obremenitve, razen če seveda imate igralni prenosnik).

Pri izdelavi programa iz izvorne kode ni nič zapletenega. Glavna stvar, ki si jo morate zapomniti, je eno pravilo: pri distribuciji paketov nikoli ne smete uporabljati metode narediti namestitev. V nasprotnem primeru boste v prihodnosti dobili velik kup težav. Ko ugotovite, da ste želeli odstraniti program (na ta način nameščen), vendar upravitelj paketov za to ne ve. In sam program je sestavljen iz več sto datotek, raztresenih po različnih imenikih. Strašljivo? Zato mora biti program v pakiranih distribucijah sestavljen v pravzaprav paket. Potem se lahko brez težav odstrani, če se kaj zgodi. To sem napisal, ker veliko vodnikov, na katere sem naletel o prevajanju programov v Linuxu, natančno opisujejo narediti namestitev. Tako nameščen program lahko odstranite samo v dveh primerih:

  • če imate še vedno arhiv z njegovo kodo (potem lahko zaženete narediti odstranitev);
  • če izvorna koda programa to podpira.
Ne uporabljajte make install!

Opažam, da ni mogoče vsakega programa sestaviti na enak način. Zato vedno preberite navodila za sestavljanje, ki so v arhivu z izvorno kodo. Zgodi se, da je razvijalec tja postavil skript, ki ob zagonu naredi vse sam (prevede in namesti, vendar se spomnimo na make install) ali pa morda ni primeren za sestavljanje narediti, vendar potrebujete drugačen sistem sestavljanja. Poleg tega boste za izdelavo programa morali namestiti zanj potrebne odvisnosti sestava (to so paketi s predpono -dev). Za hitro sestavljanje programa v paket, da bi ga lahko brez težav namestili ali odstranili, obstaja pripomoček imenovan preverite namestitev. Omogočil vam bo ustvarjanje izvirnega paketa za sistem ( deb oz vrtljajev na minuto), kar vam bo omogočilo uporabo standardnega upravitelja paketov za namestitev/odstranitev

Za izdelavo programov v GNU/Linuxu uporabite (večinoma) program narediti, ki izvaja navodila iz Makefile, a ker je distribucij GNU/Linux veliko in so vse različne, morate za prevajanje programa za vsako distribucijo posebej določiti poti, kjer se nahajajo knjižnice in datoteke glave. Programerji ne morejo preučiti vsake distribucije in ustvariti datotek Makefile za vsako posebej. Zato so se domislili konfiguratorjev, ki »preučijo« sistem in v skladu s pridobljenim znanjem ustvarijo Makefile. Za gradnjo potrebujemo prevajalnike: navedeni so v odvisnostih paketa zgraditi bistveno, zato je dovolj, da ga namestite z vsemi odvisnostmi. Še vedno potreben autoconf in avtomobilska izdelava. Če je program napisan v Qt, potem ga običajno sestavi bodisi ekipa qmake(seveda mora biti nameščen), ali z odpiranjem projektne datoteke v nekaterih IDE(ponavadi Qt Creator) in sklopov v njem.

Najprej morate pripraviti sistem. Če želite to narediti, nastavimo potreben komplet orodja:

S udo apt namestitev build-essential gcc devscripts git fakeroot automake autoconf

Lahko dobite izvorno kodo različne poti. Prenesite iz interneta (na primer s spletnega mesta razvijalca), klonirajte repozitorij z izvorno kodo itd. V prvem primeru je na splošno vse jasno. V drugem: predpostavimo, da je program v repozitoriju git (on GitHub, Na primer). Lahko gremo v to skladišče in od tam prenesemo arhiv s kodo

Torej kopirajte celotno skladišče sebi (kot to počnejo razvijalci). Za primer vzemimo program mgba. To je emulator igralna konzola Nintendo GameBoy. Naslov skladišča. Prepišimo ga zase:

git klon https://github.com/mgba-emu/mgba.git

V domačem imeniku boste imeli imenik z izvorno kodo. Na isti strani programa so navodila za sestavljanje.

Pozorno beremo. Odprite terminal in pojdite v imenik z izvorno kodo:

cd ~/mgba

In sestavimo program:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
narediti
sudo checkinstall -D

Zahtevani boste nekateri podatki (ime paketa, različica itd. Priporočljivo je, da izpolnite vsa polja). Po sestavljanju se bo v zgornjem imeniku (torej v mgba) pojavil paket deb s programom. Zdaj ga lahko preprosto namestite z dvoklikom ali z ukazom sudo dpkg -i imepaketa.deb. Če med sestavljanjem začnete prejemati sporočila o napakah, jih natančno preberite. Morda manjkajo nekatere odvisnosti sestava.

Vzemimo nekoliko drugačen primer, ki uporablja konfigurator. V tem primeru se v imeniku z izvorno kodo nahajajo skripti: avtogen.sh, konfigurirati in podobni. Autogen.sh ustvari skripto konfigurirati, s katerim lahko že konfigurirate program pred montažo (ja, ja, konfigurator konfiguratorja). Kot vedno ne pozabite prebrati navodil za sestavljanje določenega programa. Predpostavimo, da arhiv vsebuje skript autogen.sh. Izvedimo ga:

./autogen.sh

Po izvedbi bi se morala prikazati konfiguracijska datoteka. Če si želite ogledati, s katerimi parametri lahko sestavite program, vnesite:

./configure --help

Preglejte vse razpoložljive možnosti. Običajno je to lahko podpora za različne vtičnike, sestavljanje z alternativnim vmesnikom, celo sestavljanje za drugačno arhitekturo procesorja. Recimo, da program uporablja vmesnik, napisan v GTK+ 2, vendar ima alternativo na GTK+ 3. Potem bo konfiguracija programa videti takole:

./configure --with-gtk3

./configure --enable-gtk3

Vse bo podrobno opisano v navodilih. Obstaja določen nabor standardnih možnosti (po vnosu ./configure --help se najprej napišejo), kot je podajanje namestitvene poti:

Predpona=/usr

Ko zaženete configure in uspešno konfigurirate kodo, lahko zaženete gradnjo:

sudo checkinstall

To je vse. Kot lahko vidite, tukaj ni nič zapletenega. Čeprav, ne bom skrival, se zgodi, da se razvijalec ni trudil s kakovostnimi navodili za montažo. Toda to se redko zgodi. Rad bi vas opozoril tudi na naslednje: sestavite program iz izvorne kode samo v skrajnem primeru. Če uporabljate Ubuntu LTS, nato poglejte (z Googlom), da vidite, ali je program, ki ga potrebujete (ali novejša različica), na voljo v novejši izdaji Ubuntuja. Ali morda obstaja

terminal in ukazi

Ali ste pogosto naleteli na dejstvo, da zahtevana različica aplikacije za vašo arhitekturo preprosto ni na voljo v distribuciji Ubuntu, ampak je ta program na voljo na spletni strani razvijalcev v obliki izvorne kode v arhivu .tar.gz. Mislim, da marsikdo to ve to situacijo, vendar niso vsi še naprej iskali načinov za rešitev te težave in so preprosto iskali drug analog aplikacije ali nekoliko starejšo različico in nadaljevali z delom.

Takoj bi rad dodal nekaj besed za novince v Linuxu; preden naredite karkoli iz tega članka, temeljito preučite terminal in ukaze, ki se uporabljajo za delo z njim, preberite mano ali materiale na netu.

  • Za gradnje aplikacij bomo seveda potrebovali razvijalska orodja, v našem primeru je to prevajalnik in ostali spremljajoči programi, glavno delo Seveda nas bo izvedel pripomoček make in ukazna vrstica(terminal) bo kot naša kuhinja, kjer bomo pripraviti/sestaviti/namestiti naša aplikacija iz vira. IN Linux terminal privzeto na voljo, za vaše udobje lahko seveda namestite katerega koli drugega bolj funkcionalnega, ki ste ga vajeni, jaz na primer uporabljam Guake, veliko je možnosti v primerjavi s standardnim, kjer je enostavno konfigurirati tako kopiranje kot lepljenje ukazov ali katerega koli besedila z uporabo CTRL +C, CTRL+V in še veliko več, zaradi česar je delo s konzolo bolj udobno.
  • 1. Kje začeti pri gradnji aplikacij iz izvorne kode je seveda prenos aplikacije v arhivu tar.gz ali tar.bz2, v mojem primeru je to na primer aplikacija Gimp 2.9.2, čeprav je v našem primeru arhiv ni v formatu tar.gz in tar.bz2, ni nobene razlike, prenesite ga in nato z desnim klikom na arhiv - Izvleček tukaj.

To je verjetno prva faza, kaj bomo naredili naprej? Nato zaženemo terminal in gremo v našo nepakirano mapo z datotekami:

Cd /home/linux/Downloads/gimp-2.9.2/ls

  • 2. Preden začnete pripravljati vire za montažo, bi vam svetoval, da najprej odprete in se seznanite z datoteko INSTALL, našli boste veliko koristne informacije, V ta datoteka opisuje, kako namestiti aplikacijo, katere ukaze je treba izvesti in še veliko zanimivosti. Zdaj vam svetujem namestitev dodatni paket imenovan auto-apt, namesto vas opravi veliko rutinskega dela.
sudo apt-get install auto-apt

Kaj pomeni opraviti veliko rutinskega zame, sprašujete, če zaženi konfiguracijo vira aplikacije s predpono tega paketa, na primer v obliki:

Auto-apt -y run ./configure

Seveda lahko izvedete konfiguracijo brez pomoči tega paketa in preprosto zaženete ukaz:

./configure

Če izvedete konfiguracijo s predpono - auto-apt -y run, potem priprava virov za montažo bo potekalo v avtomatski način, kar pomeni, da lahko ta ukaz samodejno prenese in namesti vse potrebne datoteke in knjižnice namesto vas ter zadovolji vse odvisnosti kar bo potrebno.

  • 3. Kdaj pravo delo ni vse tako gladko, morda bo v enem primeru šlo vse dobro in faza priprave izvorne kode za sestavljanjeŠlo bo brez napak, v drugih primerih, in teh je verjetno večina, boste naleteli na različne napake, na primer, ni dovolj enega ali drugega paketa za nadaljnjo pripravo izvorne kode. V večini primerov je napisano ime paketa, ki manjka.

Manjkajoči paket poskušamo namestiti z ukazom:

Sudo apt-get namestitev ime_paketa

V primeru, da pri izvajanju zgornjega ukaza paket ni zaznan, mi zelo pogosto pomaga naslednja kombinacija, v predpomnilniku poiščemo pakete, ki nam manjkajo:

Apt-cache iskanje ime_paketa

  • Po izvedbi tega ukaza lahko najdete ustrezen paket, pogosto se zgodi, da ne najdete ustreznega paketa, lahko pa najdete natančno kopijo paketa, vendar z predpona dev torej paket kot ime_paketa-dev in ga lahko uporabite za zadovoljitev odvisnosti.
  • 4. Po uspešnem zaključku konfiguracije virov za gradnjo je priporočljivo namestiti paket preverite namestitev kar olajša sestavljanje aplikacijskega paketa za vašo distribucijo.
sudo apt-get install checkinstall

Namestite paket, nato pa lahko zaženete ukaz:

Preverite namestitev -D

  • Atribut -D bo ustvaril paket deb, atribut -R bo ustvaril paket rpm, ki se uporablja v distribucijah Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE, obstaja tudi dodaten atribut -S ki bo ustvaril paket, ki se uporablja v Slackware.

V mojem primeru uporabljam Ubuntu in sem zagnal ukaz z atribut -D, nato bomo aplikacijo sestavili v že pripravljen paket formata Deb, potrebovali bomo nekaj pojasnjevalnih podatkov, na primer dodajanje opisa paketu, saj ga sestavljate in je zato opis popolnoma čist in se zahteva od vas kratke informacijeČemu je namenjena ta aplikacija? V mojem primeru, kot sem preveril, se samodejno izpolnijo tudi naslednja polja:

1 - Povzetek: [ EOF ] 2 - Ime: [ gimp ] 3 - Različica: [ 2.9.2 ] 4 - Izdaja: [ 1 ] 5 - Licenca: [ GPL ] 6 - Skupina: [ checkinstall ] 7 - Arhitektura: [ i386 ] 8 - Lokacija vira: [ gimp-2.9.2 ] 9 - Lokacija alternativnega vira: 10 - Zahteva: 11 - Zagotavlja: [ gimp ] 12 - Konflikti: 13 - Zamenjave:

  • Kot lahko vidite, se pred gradnjo preveri, ali je bila konfiguracija uspešno zaključena, ali obstajajo nezadovoljene odvisnosti ali drugi konflikti; če je vse v redu, bo paket zgrajen brez težav.

Prej sem ga namestil, ne da bi zgradil paket, z izvajanjem ukazov:

Naredi make install

Če želite izbrisati nameščeno aplikacijo, morate zagnati ukaz:

Izvedite odstranitev

zgornji ukaz bo samodejno izbrisal tiste, ki so povezani z aplikacijo, ki ste jo namestili, in ne bo vplival na nič tretje osebe, priporočljivo je, da ne tečete skozi imenike in ga izvajate iz istega imenika aplikacije, v katerem ste delali, to je pripravili konfiguracijo itd.

Čeprav je vse potekalo brez napak, je celoten proces trajal zelo dolgo, približno 20 minut, dokler nisem namestil Gimp iz izvorne kode, uspelo mi je skuhati kavo in tudi opazovati postopek namestitve, vse se dogaja dolgo zaradi dejstva, da jih je veliko različne mape razpršijo izvorne datoteke aplikacije, ima vsaka datoteka svoj namen in se mora nahajati v določenem imeniku, tako da po izvedbi make install pride do postopka namestitve na tisoče izvornih datotek v zahtevane imenike.

Tako se zgodi namestitev aplikacije iz izvorne kode, ja, na prvi pogled ni vse tako preprosto, nisem rekel, da bo enostavno, a če poskusiš, zelo dobro razvije tvoje razmišljanje in načine iskanja rešitev v dani situaciji, kar je celo zelo dobro.

To je verjetno vse, če imate vprašanja o zgornjem gradivu ali ste poskušali namestiti in naleteli na napake, vprašajte v komentarjih na gradivo, skupaj bomo iskali rešitev.