Instalacija make ubuntua. Očaravajuća magija konfigurisanja, izrade i instalacije. Nemam vremena da se bavim ovime, bolje da uradim instalaciju ponovo, sve je jednostavno i jasno

Zdravo!

Ovo je mala napomena za početnike u Linuxu o tome šta ove tri sjajne naredbe znače i čemu služe. Počnimo, kako kažu, od početka. Većina programa se mora kompajlirati prije upotrebe, odnosno konvertirati iz teksta čitljivog čovjeka u skup jedinica i nula koje računar može razumjeti. Proces je uslovno podijeljen u tri faze: konfiguracija (konfiguracija), montaža (make) i instalacija (make install). Detalji ispod 🙂

./configure

Ova naredba traži biblioteke i datoteke zaglavlja potrebne za kompilaciju (ovo je za programe koji su djelomično ili potpuno napisani na C / C ++ i sličnim jezicima), kao i postavljanje posebnih parametara ili povezivanje posebnih biblioteka, ako ./configure naći će sve što mu treba, stvoriće Makefiles- fajl potreban za pravljenje programa

Možete konfigurirati parametre konfiguratora koristeći ključeve i argumente tih istih ključeva, na primjer:

./configure --prefix=/opt/my_program

Sa ključem --prefiks= Možete odrediti direktorij koji će kasnije djelovati kao prefiks za vaš program (to jest, korijenski direktorij). To je zbog činjenice da u svijetu Linuxa i ne samo postoji posebna hijerarhija sistema datoteka (HFS) prema kojoj se svaki program mora kompajlirati i instalirati kako bi radio bez grešaka.

Postoje tri glavna prefiksa u sistemu datoteka za koje je većina programa konfigurisana, a to su:

  • / - korijenski direktorij operativnog sistema, tzv. ROOT
  • /usr - direktorij u kojem se nalaze aplikacije korisničkog okruženja
  • /usr/local - dodatni direktorij za ručno kompajlirane korisničke programe, posebno za operativni sistem nije pretvorila u deponiju

Ako otvorite bilo koji od ovih direktorija, možete vidjeti vrlo sličnu strukturu, barem će postojati folderi: bin, itd, include, libs, sbin.

Ako trči ./configure bez ključeva, tada će biti podrazumevani prefiks (direktorij u koji će biti instaliran kompajlirani program). /usr/local, zapamtite ovo ako ne možete pokrenuti svoj program, možda nemate putanju do njega PUT.

Osim ključa --prefiks u konfiguratoru, po pravilu, postoji mnogo drugih ključeva, sve ih možete vidjeti ako pokrenete:

./configure --help

napraviti

Najvažnija i najjednostavnija naredba/program koji pokreće proceduru kompilacije aplikacije izvorni kod. Za tvoj rad ovaj program koristi posebne fajlove Makefiles, koji detaljno opisuju proces izgradnje aplikacije sa svim parametrima koje smo naveli konfiguratoru. Rezultat uspješnog izvršenja naredbe make će biti kompajlirani program u trenutnom direktoriju.

napravi instalaciju

Ova naredba izvodi direktnu instalaciju aplikacije u direktorij naveden u fazi konfiguracije, nakon izvršavanja naredbe make install, možete pokrenuti novoinstalirani program.

Pogovor

Kako ne biste pisali tri naredbe zauzvrat, možete ih napisati u jednom redu:

./configure && napravi && napravi instalaciju

&& je AND operator koji je došao iz C/C++ jezika, međutim, sa stanovišta ljuske, to znači da sljedeću naredbu treba izvršiti samo ako je prethodna naredba bila uspješna, ovo je vrlo zgodno ako se jedna od faza završava sa greška.

U stvari, make install takođe može da gradi, jer zadatak instalacije zavisi od celog zadatka (odnosno, direktnog pravljenja aplikacije), što znači da se korak izrade može preskočiti i samo dve komande mogu da se izvrše ako su napisane u jednom redu:

./configure && izvrši instalaciju

Sretno ti! I hvala na čitanju!

Suština je da se ova naredba u obliku "make install" ili "sudo make install" ne može koristiti u modernim distribucijama.

Ali nakon svega, autori programa u priručnicima za instalaciju pišu da trebate koristiti ovu naredbu, mogli biste reći. Da, pišu. Ali to samo znači da oni ne znaju koji distributivni komplet imate, i da li je to uopšte distribucija, možda ste se učlanili u sektu i pušili čitajući LFS i sada odlučili da sastavite njihovu kreaciju pod vaš htonični sistem. A make install je univerzalan, iako često na pogrešan način učini to.

Lirska digresija

Kao što znate, za normalan rad, većina softvera mora biti ne samo kompajlirana, već i ispravno instalirana na sistemu. Programi očekuju da pronađu datoteke koje su im potrebne na određenim mjestima, a ta mjesta u većini *nix sistema su tvrdo kodirana u kodu u vrijeme kompajliranja. Pored ovog aspekta, glavna razlika između procesa instalacije u linux/freebsd/whatever i onog u Windows-u i MacOS-u je u tome što program ne stavlja samo gomilu datoteka u poseban direktorij u Program Files ili /Applications, već “ širi se” po čitavom sistemu datoteka. Biblioteke idu u lib, izvršne datoteke u bin, konfiguracije u itd, razni podaci u var i tako dalje. Ako ga iznenada trebate ažurirati, onda se sve ovo prvo mora nekako očistiti, jer. koristeći nova verzija ostaci datoteka iz starog mogu dovesti do potpuno nepredvidivih posljedica, često loše. Verovatnoća ovog događaja nije tako velika, ali da li vam je potreban na borbenom serveru?

Pa šta?

Dakle, ako ste instalaciju izvršili direktno putem make install, onda je normalno da uklonite ili ažurirate softver, najvjerovatnije ne možeš. Štaviše, vjerovatno će instalirati novu verziju preko stare će prepisati vaše promjene u konfiguracijama. make install radi upravo ono što mu je rečeno - instalira datoteke na prava mjesta, zanemarujući činjenicu da je nešto već tamo. Nakon ovog procesa, nemoguće je dobiti apsolutno nikakvu informaciju o tome šta je i gdje stavljeno u probavljivom obliku. Ponekad, naravno, Makefile podržava akciju deinstaliranja, ali to nije tako uobičajeno i nije činjenica da radi ispravno. Osim toga, pohranjivanje raspakovanog stabla izvora i pravila sklapanja za deinstalaciju je nekako čudno.

Kako se boriti?

Pošto paketi u distribucijama imaju tendenciju da se ponekad ažuriraju, da bi rešili ovaj problem, smislili su nešto poput menadžera paketa. Kada ga koristite, instalacija ide otprilike ovako:
  1. uzima se posebno formirana arhiva
  2. iz njega se izvlače informacije o tome šta je, koja je verzija, o čemu ovisi, s čime je u sukobu, da li je potrebno pokrenuti neke skripte za instaliranje / uklanjanje / konfiguraciju itd
  3. Izvođenje direktnih koraka instalacije
  4. Svi podaci o tome gdje i šta je isporučeno dodaju se u bazu podataka menadžera paketa.

U tom slučaju, prilikom ažuriranja, možete bezbolno ukloniti višak, a istovremeno vidjeti da li su se datoteke označene kao konfiguracije promijenile u sistemu i pitati šta učiniti ako se njihov sadržaj razlikuje u novoj verziji. Osim toga, upravitelj paketa neće prepisati datoteke jednog paketa prilikom instaliranja drugog. Općenito, može učiniti mnogo korisnih stvari.

Ako ste nesvjesno/lijeno kopirali make install iz uputstava, onda u sistemu se pojavljuju datoteke za koje menadžer paketa ne zna. Sa svim posljedicama, ako vam ono što je ranije navedeno nije dovoljno.

sta da radim?

Možete, naravno, konfigurirati izvorno stablo tako da instalacija svega i svačega ide negdje u /opt/mycoolapp/, a zatim ga ručno obrisati ako je potrebno, ali ovdje se može pojaviti mnogo neugodnih stvari, počevši od činjenice da program očekuje da može učitati vaše biblioteke, a loader ne zna ništa o direktorijumu u kojem se nalaze, a završava se činjenicom da autor programa može očekivati ​​da, na primjer, ako stavi datoteku, recimo u $prefix /share/xsessions/, tada će ga pokupiti upravitelj ekrana. Da ne spominjemo staze za pkgconfig i ostalo.

Dakle, morate preuzeti paket.

Nemam vremena da se bavim ovime, bolje da ponovo instaliram, sve je jednostavno i jasno!

Smiri se, smiri se. On je vezan za naše noge. Nije sve tako strašno i teško kao što se čini na prvi pogled.
checkinstall
Ovaj divni uslužni program, kada se pokrene umjesto make install, postavit će nekoliko pitanja, nakon čega će sam izgraditi i instalirati paket. Sve, prilikom ažuriranja nećete imati problema sa čišćenjem starog smeća.
Ručna izrada deb paketa
Ako niste skloni vjerovati takvoj automatizaciji (koja se ponekad i dalje zabrlja) ili ako želite napraviti nekoliko promjena, ali je još uvijek lijeno baviti se normalnim procesom pravljenja paketa, onda možete napraviti paket ručno. Dajem način da ga napravim za sisteme bazirane na Debianu, jer sam s njima najviše upoznat. Nije ideološki ispravno, ali je izlaz potpuno ispravan paket bez uključivanja dodatnih entiteta. To se radi na sljedeći način.
Za početak, gradimo softver sa parametrima --prefix=/usr i --exec-prefix=/usr prethodno navedenim za configure ili autogen.sh.
Zatim instaliramo u privremeni direktorij. Mi pišemo:

Fakeroot make install DESTDIR=`pwd`/tempinstall
Nakon toga dobijamo cijeli set datoteka u novokreiranom direktoriju. Inače, sada smo u fakeroot okruženju, odnosno možete slobodno mijenjati vlasnika i prava pristupa fajlovima, ali fizički ćete sami ostati vlasnik u sistemu. Softver unutar fakeroot sesije će primiti izmijenjene informacije, što će omogućiti da se datoteke sa ispravnim pravima spakuju u arhivu.
Zatim kreirajte DEBIAN direktorij u "korijenu paketa" i stavite u DEBIAN/conffiles listu svih datoteka koje bi trebale ući u /etc:

Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles
Zatim kreiramo DEBIAN/kontrolnu datoteku sa sljedećim sadržajem:

Ako je potrebno, tamo možete kreirati i preinst, postinst, prerm i postrm skripte.

To je to, radimo dpkg -b tempinstall i na izlazu dobijamo tempinstall.deb, na koji možete postaviti dpkg -i i koji će biti ispravno instaliran, ažuriran ili obrisan.

"Ispravan" proces prethodnog pakovanja izvornog koda je izvan okvira ove napomene i stoga neće biti opisan, ali za vaše potrebe obično nije potreban.

Zaključak

Kao što vidite, ovdje nema apsolutno ništa komplikovano, ali slijedeći ove korake uštedjet ćete ogroman broj problema u budućnosti.

Nije neuobičajeno da se potrebni paketi mogu pronaći samo u izvornom obliku, ovaj članak opisuje kako instalirati paket iz izvora.

Otpakivanje

Programi se obično distribuiraju u upakovanim arhivama, to su datoteke sa ekstenzijama

.tar.gz (ponekad .tgz) .tar.bz2

Morate razumjeti razliku između arhivatora i pakera.

Program se koristi za arhiviranje direktorija i datoteka. tar; rezultat njegovog rada je datoteka sa ekstenzijom .tar. Grubo govoreći, ovo je kopija sistem podataka- direktorije i datoteke sa njihovim atributima i pravima pristupa, smještene u jednu datoteku.

Ova datoteka će biti nešto veća od ukupne veličine arhiviranih datoteka. Stoga (a možda i iz nekog drugog razloga) se koriste pakeri - programi koji vam omogućavaju da smanjite veličinu datoteke bez gubitka podataka.

Program tar može se raspakovati, tako da nema potrebe zvati gunzip, ili jednostavno možete reći programu tar da fajl prvo treba raspakovati. Na primjer, naredba

tar-xvf< some_app_name>.tar.gz

odmah raspakujte i raspakujte. Razlika između datoteka sa ekstenzijama

.tar.gz

.tar.bz2

samo što su korišteni različiti pakeri, program tar automatski određuje metodu kompresije i u ovom slučaju nisu potrebne dodatne opcije.

Nakon raspakiranja, trebate otići u rezultirajući direktorij, sve dolje opisane naredbe se izvršavaju u direktoriju s izvornim tekstovima paketa.

cd< имя_пакета>*

Izgradnja paketa

Za pravljenje programa u GNU/Linuxu, koristi se (uglavnom) program napraviti, koji pokreće upute iz Makefile, ali budući da postoji mnogo GNU / Linux distribucija, i sve su različite, da biste kompajlirali program, morate posebno napisati staze za svaku distribuciju, gdje se nalaze biblioteke i datoteke zaglavlja. Programeri ne mogu proučavati svaku distribuciju i za svaku posebno kreirati Makefile. Stoga su osmislili konfiguratore koji “proučavaju” sistem, te u skladu sa stečenim znanjem kreiraju Makefile. Ali nisu se zaustavili na konfiguratoru i smislili su konfiguratore konfiguratora ... stali su tu

Za izgradnju su nam potrebni kompajleri: oni su napisani u zavisnostima paketa build-essential, pa je dovoljno da ga instalirate sa svim zavisnostima. Još uvijek potrebno autoconf i automake.

Dakle, da biste napravili nešto iz izvora, prvo morate izgraditi konfigurator; kako napraviti konfigurator je opisano u datoteci configure.in. Da biste sastavili konfigurator, morate pokrenuti

./bootstrap ./autogen.sh

Ako u arhivi nema takvih skripti, tada možete izvršiti sljedeće naredbe u nizu:

aclocal autoheader automake --gnu --add-missing --copy --foreign autoconf -f -Wall

Sve ove naredbe koriste datoteku configure.in. Nakon izvršenja ovih naredbi, kreirat će se fajl konfigurisati. Nakon toga morate pokrenuti konfigurator da provjerite dostupnost svih ovisnosti, kao i instalirati dodatne opcije izgradnje (ako je moguće) i pogledati rezultat instalacije (opcionalno - možda nije)

./ configure

Konfigurator će napraviti Makefile na osnovu stečenog znanja i datoteke makefile.am. Možete proslediti konfiguratoru opcije date u izvorima programa, koje vam omogućavaju da omogućite/onemogućite određene funkcije programa, obično o njima možete saznati naredbom

./ konfiguriraj --pomoć

Postoji i skup standardnih opcija, npr

Prefiks=

Koji određuje koji direktorij koristiti za instalaciju. Obično za Ubuntu

--prefix=/usr --prefix=/usr/local

WITHOUT kosa na kraju! Sada možete započeti proces izgradnje samog programa pomoću naredbe

napraviti

Za sklapanje su dovoljne normalne korisničke privilegije. Završetkom sklopa se može smatrati trenutak kada komande u konzoli prestanu da se "haotično" izvršavaju i neće biti riječi greška. Sada je sve sastavljeno i spremno za instalaciju.

Instalacija

Trud utrošen na ispravnu instalaciju će se kasnije više nego isplatiti ako se instalirani softver ukloni ili ažurira.

Ispravna instalacija (opcija br. 1)

Instalacija pomoću uslužnog programa checkinstall. Da instalirate, pokrenite

sudo apt-get install checkinstall

Nedostaci ove metode: checkinstall ne razumije sve izvore, jer autor programa može napisati posebne instalacione skripte i checkinstall neće ih razumeti.

Da biste kreirali i instalirali deb paket, morate pokrenuti

sudo checkinstall

Ispravna instalacija (opcija br. 2)

Brzo kreiranje deb-paketa "ručno".

Glavna razlika od prethodne metode je u tome što u ovom slučaju paket kreirate ručno i pratite sve promjene koje napravite. Ova metoda je također prikladna za vas ako izvori ne podržavaju pravljenje paketa sa checkinstall.

    Instaliramo u privremeni direktorij, gdje dobivamo cijeli set instaliranih datoteka:

fakeroot make install DESTDIR =`pwd`/tempinstall

    Kreirajmo DEBIAN direktorij u "korijenu paketa" i stavimo u DEBIAN/conffiles listu svih datoteka koje bi trebale ući u /etc:

cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/ konf

    Zatim kreiramo DEBIAN/kontrolnu datoteku sa sljedećim sadržajem:

Paket: package_name Verzija: 1.2.3 Arhitektura: amd64/i386/armel/all Održavanje: Možete uneti svoje ime, možete baciti smeće, ali ako ostavite prazno, onda će dpkg opsovati Zavisi: Ovdje možete unijeti listu paketa razdvojenih sa zarezi. Prioritet: opciono Opis: Također morate unijeti nešto da se ne pojavi upozorenje

    Ako je potrebno, tamo možete kreirati i preinst, postinst, prerm i postrm skripte.

    Kreiramo deb paket za koji izvršavamo:

dpkg -b tempinstall

    Dobijamo izlaz tempinstall.deb, koji instaliramo

sudo dpkg -i tempinstall.deb

Instalacija (opcija br. 3)

Pogrešna instalacija

Nedostatak ove metode je što ako instalirate direktno putem make install, tada najvjerovatnije nećete moći normalno ukloniti ili ažurirati paket. Štaviše, instalacija nove verzije preko stare najvjerovatnije će prepisati vaše promjene u konfiguracijama. make install radi upravo ono što mu je rečeno - instalira datoteke na prava mjesta, zanemarujući činjenicu da je nešto već tamo. Nakon ovog procesa, nemoguće je dobiti apsolutno nikakvu informaciju o tome šta je i gdje stavljeno u probavljivom obliku. Ponekad, naravno, Makefile podržava akciju deinstaliranja, ali to nije tako uobičajeno i nije činjenica da radi ispravno. Osim toga, morat ćete zadržati raspakovano stablo izvora i napraviti pravila za deinstalaciju.

Da biste instalirali, morate pokrenuti

sudo make install

Da biste uklonili paket instaliran na ovaj način, morate ga izvršiti u korijenskom direktoriju izvora programa (gdje ste pokrenuli make install).

sudo deinstaliraj

Greške

Često u fazi konfiguracije, konfigurator javlja da nedostaje ova ili ona biblioteka. Ime biblioteke koju prijavljuje ne odgovara uvek imenu paketa u Ubuntu-u. Iz vlastitog iskustva, mogu vam savjetovati da Synaptic potražite željeni paket, isključujući lib prefiks, ako postoji nekoliko paketa koji se razlikuju po -dev prefiksu u nazivu, onda morate instalirati paket -dev (obično on povlači ne-dev paket). Također možete pretraživati ​​koristeći http://packages.ubuntu.com/ unošenjem naziva biblioteke u pretragu sadržaja paketa, na sličan način, ako se pronađe dev i non-dev, potrebna su oba. Ili samo pretražite na Google-u.

Potreban softver

Paketi sa slovima mm na kraju opisa su paketi za C++ programe. Lista je za bmpx, ali će raditi za skoro svaki GTK2/Gnome program. Dakle, ako ne možete kompajlirati, pogledajte ovu listu i provjerite šta ste instalirali.

sastaviti:vrijeme izvođenja:
Xlibx11-devlibx11-6
GlibMMlibglibmm-2.4-devlibglibmm-2.4-1c2a
GTK+libgtk2.0-dev,gtk-doc-toolslibgtk2.0-0
GTKMMlibgtkmm-2.4-devlibgtkmm-2.4-1c2a
Gladelibglade2-devlibglade2-0
GladeMMlibglademm-2.4-devlibglademm-2.4-1c2a
XMLlibxml2-devlibxml2
XML++libxml++2.6-devlibxml++2.6c2a
DBuslibdbus-1-dev,libdbus-glib-1-devlibdbus-1-2, libdbus-glib-1-2
Alsalibasound2-devlibasound2
HALlibhal-dev,libhal-storage-devlibhal1,libhal-storage1
Gaminlibgamin-devlibgamin0
neonlibneon25-devlibneon25
TagLiblibtagc0-devlibtagc0
Obavijesti o pokretanjulibstartup-notification0-devlibstartup-notification0
Boostlibboost-dev,libboost-filesystem-devlibboost-filesystem1.33.1
MusicBrainzlibmusicbrainz4-devlibmusicbrainz4c2a
Gstreamerlibgstreamer0.10-dev,libgstreamer-plugins-base0.10-devlibgstreamer0.10-0,libgstreamer-plugins-base0.10-0

terminal i komande

Koliko često ste naišli na činjenicu da potrebna verzija aplikacije za vašu arhitekturu jednostavno nije u Ubuntu distribuciji, ali je ovaj program dostupan na web stranici programera u obliku izvornih kodova u .tar.gz arhivi. Mislim da je ova situacija mnogima poznata, ali nisu svi nastavili tražiti načine za rješavanje ovog problema i jednostavno su tražili drugi analog aplikacije ili malo stariju verziju i nastavili s radom.

Želio bih odmah dodati nekoliko riječi za novajlije u Linuxu, prije nego što uradite nešto iz ovog članka, temeljno proučite terminal i komande koje se koriste za rad s njim, pročitajte manu ili materijale na netu.

  • Za aplikacije naravno, trebat će nam programski alati, u našem slučaju ovo je kompajler i drugi programi koji ga prate, glavni posao će, naravno, obaviti uslužni program make, i komandna linija(terminal) će biti kao naša kuhinja u kojoj ćemo biti pripremiti / sastaviti / instalirati naša aplikacija iz izvora. U Linuxu je terminal dostupan po defaultu, za vašu udobnost, naravno, možete instalirati bilo koji drugi funkcionalniji na koji ste navikli, na primjer, ja koristim Guake, ima puno mogućnosti u odnosu na standardni, gdje je lako konfigurirati i komande za kopiranje i lijepljenje ili bilo koji tekst koristeći CTRL+C, CTRL+V i još mnogo toga, što rad s konzolom čini ugodnijim.
  • 1. Odakle početi pri izradi aplikacija iz izvora, to je naravno preuzeti aplikaciju u tar.gz ili tar.bz2 arhivi, u mom slučaju, na primjer, Gimp 2.9.2 aplikacija, iako je u našem slučaju arhiva nije u tar.gz formatu, a tar.bz2, nema razlike, preuzmite, nakon desni klik miševi u arhivi - Izdvoj ovdje.

Ovo je možda prva faza završena, šta ćemo dalje? Zatim pokrećemo terminal i idemo u naš raspakirani folder s datotekama:

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

  • 2. Prije nego počnete pripremati izvore za sklapanje, savjetovao bih vam da prvo otvorite i upoznate se sa INSTALL fajlom, naći ćete puno korisnih informacija u dati fajl opisuje kako instalirati aplikaciju, koje naredbe trebate izvršiti i još mnogo zanimljivije. Sada vam savjetujem da instalirate dodatni paket koji se zove auto-apt, koji radi puno rutinskog posla za vas.
sudo apt-get install auto-apt

Šta znači raditi puno rutinskih poslova za mene, pitate ako pokrenite konfiguraciju izvora aplikacije sa prefiksom ovog paketa, na primjer, u obliku:

Auto-apt -y pokrenuti ./configure

Naravno, možete izvršiti konfiguraciju bez pomoći ovog paketa i jednostavno pokrenuti naredbu:

./configure

Ako izvršite konfiguraciju s prefiksom - auto-apt -y run, onda priprema izvora za montažuće se dogoditi automatski, odnosno ova komanda može automatski preuzeti i instalirati sve umjesto vas potrebne datoteke i biblioteke i zadovoljiće sve zavisnostišto će biti potrebno.

  • 3. U stvarnom radu nije sve tako glatko, možda u jednom slučaju sve prođe kako treba i faza pripreme izvora za sklapanjeće proći bez grešaka, u drugim slučajevima, a to je vjerovatno većina, naići ćete na razne vrste grešaka, na primjer, nedostaje ovaj ili onaj paket za dalju pripremu izvornog koda. U većini slučajeva je napisan naziv paketa koji nedostaje.

Pokušavamo instalirati paket koji nedostaje naredbom:

sudo apt-get install ime_paketa

U slučaju da paket nije pronađen prilikom izvršavanja gornje naredbe, vrlo često mi pomaže sljedeća kombinacija tražeći pakete koji nam nedostaju u kešu:

apt-cache pretraga ime paketa

  • Nakon izvršenja ove naredbe možete i naći ćete odgovarajući paket, često se dešava da ne pronađete odgovarajući paket, ali postoji tačna kopija paketa ali sa prefiks dev odnosno paket formulara package_name-dev i možete ga koristiti za zadovoljavanje zavisnosti.
  • 4. Nakon uspješnog završetka konfiguracije izvora za sklop, preporučljivo je instalirati paket checkinstallšto olakšava izradu paketa aplikacija za vašu distribuciju.
sudo apt-get install checkinstall

Instalirali ste paket, onda možete pokrenuti naredbu:

Checkinstall -D

  • Atribut -Dće kreirati deb paket, atribut -Rće kreirati rpm paket koji se koristi u Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE distribucijama, osim toga postoji i atribut -S koji će kreirati paket koji koristi Slackware.

U mom slučaju, koristim Ubuntu i pokrenuo sam naredbu sa -D atribut, tada će aplikacija biti sastavljena u gotov paket formata Deb, trebat će nam neki podaci za pojašnjenje, na primjer, kao što je dodavanje opisa paketu, budući da ga vi sastavljate i, shodno tome, opis je potpuno čist i , takoreći, od vas se traži kratka referenca, za koju vrstu aplikacije je to? . U mom slučaju, kao što sam provjerio, sljedeća polja se takođe automatski popunjavaju:

1 - Sažetak: [ EOF ] 2 - Naziv: [ gimp ] 3 - Verzija: [ 2.9.2 ] 4 - Izdanje: [ 1 ] 5 - Licenca: [ GPL ] 6 - Grupa: [ checkinstall ] 7 - Arhitektura: [ i386 ] 8 - Lokacija izvora: [ gimp-2.9.2 ] 9 - Alternativna lokacija izvora: 10 - Zahtijeva: 11 - Pruža: [ gimp ] 12 - Konflikti: 13 - Zamjenjuje:

  • Kao što vidite, prije gradnje postoji provjera da li je konfiguracija uspješno završena, da li postoje nezadovoljene ovisnosti ili drugi konflikti, da li je sve u redu, onda će paket biti izgrađen bez problema.

Prethodno sam ga instalirao bez sastavljanja paketa, izvršavajući naredbe:

Napravite make install

Ako želite da uklonite instaliranu aplikaciju, trebali biste pokrenuti naredbu:

Napravite deinstaliranje

gornja naredba će automatski ukloniti one koji se odnose na aplikaciju koju ste instalirali i neće utjecati na ništa treće strane, preporučljivo je da ne prolazite kroz direktorije i da je izvršavate iz istog direktorija aplikacije u kojem ste radili, odnosno pripremili konfiguraciju itd.

Iako je sve prošlo bez grešaka, ali ceo proces je trajao jako dugo, oko 20 minuta dok nisam instalirao gimp sa izvora, uspeo sam da odem da skuvam kafu i još uvek posmatram proces instalacije, sve dugo traje zbog činjenice da moram različite fascikle raspršene izvorne datoteke aplikacije, svaka datoteka ima svoju svrhu i mora se nalaziti u određenom direktoriju, tako da nakon izrade make install, hiljade izvornih datoteka se instaliraju u potrebne direktorije.

Ovako ide instalacija aplikacije sa izvora, da, nije sve tako jednostavno na prvi pogled, nisam rekao da će biti lako, ali ako probate, jako dobro razvija vaše razmišljanje i načine pronaći rješenja u datoj situaciji, koja je čak i vrlo dobra.

To je vjerojatno sve, ako imate pitanja o materijalu iznad, ili ste pokušali instalirati i naišli ste na greške, pitajte u komentarima na materijal, zajedno ćemo potražiti rješenje.