Asennus tehdä ubuntu. Konfiguroinnin, tekemisen ja asennuksen lumoava taika. Minulla ei ole aikaa naida tämän kanssa, minun on parempi tehdä asennus uudelleen, kaikki on yksinkertaista ja selkeää

Hei kaikki!

Tämä on lyhyt huomautus Linux-aloittelijoille siitä, mitä nämä kolme upeaa komentoa tarkoittavat ja mihin niitä tarvitaan. Aloitetaan, kuten sanotaan, alusta. Suurin osa ohjelmista on käännettävä ennen käyttöä, toisin sanoen muunnettava tekstistä, jonka ihminen ymmärtää, joukoksi ykkösiä ja nollia, joita tietokone voi ymmärtää. Prosessi on jaettu kolmeen vaiheeseen: konfigurointi, kokoonpano ja asennus. Yksityiskohdat leikkauksen alla :)

./configure

Tämä komento etsii kääntämiseen tarvittavia kirjastoja ja otsikkotiedostoja (tämä koskee ohjelmia, jotka on kirjoitettu osittain tai kokonaan C/C++ ja vastaavilla kielillä), sekä asettaa erikoisparametreja tai yhdistää erikoiskirjastoja, jos ./configure löytää kaiken tarvitsemansa, hän luo Tee tiedostot- ohjelman rakentamiseen tarvittava tiedosto

Voit määrittää konfiguraattorin parametrit käyttämällä näiden samojen avainten avaimia ja argumentteja, esimerkiksi:

./configure --prefix=/opt/my_program

Avaimella --etuliite= Voit määrittää hakemiston, joka toimii myöhemmin ohjelmasi etuliitteenä (eli juurihakemistona). Tämä johtuu siitä, että Linuxin maailmassa, eikä vain, on olemassa erityinen tiedostojärjestelmän hierarkia (HFS), jonka mukaan mikä tahansa ohjelma on käännettävä ja asennettava, jotta se toimisi ilman virheitä.

On olemassa kolme päätiedostojärjestelmän etuliitettä, joita vastaan ​​useimmat ohjelmat on määritetty, nimittäin:

  • / - käyttöjärjestelmän juurihakemisto, ns. ROOT
  • /usr - hakemisto, jossa käyttäjäympäristösovellukset sijaitsevat
  • /usr/local - lisähakemisto käyttäjäohjelmille, jotka on käännetty manuaalisesti, erityisesti käyttöjärjestelmä ei muuttunut kaatopaikaksi

Jos avaat jonkin näistä hakemistoista, näet hyvin samanlaisen rakenteen, ainakin kansioita tulee olemaan: bin, etc, include, libs, sbin.

Jos juokset ./configure ilman avaimia, oletusetuliite (hakemisto, johon käännetty ohjelma asennetaan) on /usr/local, muista tämä, jos et voi suorittaa ohjelmaa, sinulla ei ehkä ole polkua siihen PATH.

Paitsi avain --etuliite Konfiguraattorissa on yleensä monia muita avaimia, voit nähdä ne kaikki, jos suoritat:

./configure --help

tehdä

Tärkein ja yksinkertaisin komento/ohjelma suorittaa sovelluksen käännösproseduurin lähdekoodi. Työllesi Tämä ohjelma käyttää erikoistiedostoja Tee tiedostot, jotka kuvaavat yksityiskohtaisesti sovelluksen rakennusprosessia kaikilla parametreilla, jotka määritimme konfiguraattorille. Onnistuneen make-komennon tulos on käännetty ohjelma nykyiseen hakemistoon.

tee asennus

Tämä komento asentaa sovelluksen suoraan määritysvaiheessa määritettyyn hakemistoon; make install -komennon suorittamisen jälkeen voit ajaa juuri asennetun ohjelman.

Jälkisana

Jotta et kirjoita kolmea komentoa peräkkäin, voit kirjoittaa ne yhdelle riville:

./configure && tee && tee asennus

&& - tämä on AND-operaattori, joka tuli C/C++-kielestä, mutta shellin näkökulmasta se tarkoittaa, että seuraava komento on suoritettava vain, jos edellinen komento on suoritettu onnistuneesti, tämä on erittäin kätevää, jos vaiheista päättyy virheeseen.

Itse asiassa make install voi suorittaa myös rakentamisen, koska asennustehtävä riippuu all-tehtävästä (eli sovelluksen rakentamisesta suoraan), tämä tarkoittaa, että make-vaihe voidaan ohittaa ja vain kaksi komentoa voidaan suorittaa, jos kirjoitat ne yhdellä rivillä:

./configure && tee asennus

Onnea sinulle! Ja kiitos kun luit!

Tärkeintä on, että tätä komentoa "make install" tai "sudo make install" muodossa ei voida käyttää nykyaikaisissa jakeluissa.

Mutta asennusoppaiden ohjelmien kirjoittajat kirjoittavat, että sinun on käytettävä tätä komentoa. Kyllä, he kirjoittavat. Mutta tämä tarkoittaa vain sitä, että he eivät tiedä, mikä jakelu sinulla on, tai onko se jakelu ollenkaan, ehkä liityit lahkoon ja jaksoit lukea LFS:ää ja nyt päätit koota heidän teoksensa kroniseen järjestelmääsi. Ja asennus on universaali, vaikkakin usein väärä suunta tee se.

Lyyrinen poikkeama

Kuten tiedät, normaalia toimintaa varten useimpien ohjelmistojen ei tarvitse olla vain käännetty, vaan ne on myös asennettava oikein järjestelmään. Ohjelmat odottavat löytävänsä tarvitsemansa tiedostot tietyistä paikoista, ja nämä paikat useimmissa *nix-järjestelmissä on koodattu koodiin käännöshetkellä. Tämän lisäksi suurin ero linux/freebsd/whateverin asennusprosessin ja Windows- ja MacOS-asennusprosessin välillä on se, että ohjelma ei vain laita joukkoa tiedostoja erilliseen hakemistoon Ohjelmatiedostot- tai /Sovellukset-kansioon, vaan "levittää" itse koko tiedostojärjestelmässä. Kirjastot menevät lib:iin, suoritettavat tiedostot biniin, konfiguraatiot jne., erilaiset tiedot var:iin ja niin edelleen. Jos sinun on yhtäkkiä päivitettävä se, kaikki tämä on ensin puhdistettava jotenkin, koska... käyttämällä uusi versio Tiedostojen jäänteet vanhasta voivat johtaa täysin arvaamattomiin seurauksiin, ei useinkaan hyvä. Tämän tapahtuman todennäköisyys ei ole niin suuri, mutta tarvitsetko sitä tuotantopalvelimella?

Mitä sitten?

Joten jos teit asennuksen suoraan make install -toiminnolla, on normaalia poistaa tai päivittää ohjelmisto, todennäköisimmin sinä et voi. Lisäksi uuden version asentaminen vanhan päälle todennäköisesti onnistuu korvaa asetusten muutokset. make install tekee juuri sen, mitä sen käsketään tehdä – se asentaa tiedostot oikeisiin paikkoihin jättäen huomiotta sen tosiasian, että jotain on jo olemassa. Tämän prosessin jälkeen on täysin mahdotonta saada mitään tietoa siitä, mitä sijoitettiin minne ja sulavassa muodossa. Joskus Makefile tietysti tukee asennuksen poistotoimintoa, mutta tämä ei ole niin yleistä, eikä se ole tosiasia, että se toimii oikein. Lisäksi pakkaamattoman lähdepuun tallentaminen ja asennuksen poiston rakennussäännöt on jotenkin outoa.

Kuinka taistella?

Koska jakeluissa olevia paketteja yleensä päivitetään joskus, tämän ongelman ratkaisemiseksi he keksivät paketinhallinnan. Sitä käytettäessä asennus menee suunnilleen näin:
  1. otetaan tietyllä tavalla muodostettu arkisto
  2. siitä poimitaan tietoa siitä, mikä se on, mikä versio se on, mistä se riippuu, minkä kanssa se on ristiriidassa, onko tarpeen suorittaa komentosarjoja asentamista/poistamista/määrittämistä varten jne.
  3. Suorat asennusvaiheet käynnissä
  4. Kaikki tiedot siitä, missä ja mitä toimitettiin, lisätään paketinhallintatietokantaan.

Tässä tapauksessa päivityksen yhteydessä voit poistaa turhat asiat kivuttomasti ja samalla nähdä, ovatko määritykseksi merkityt tiedostot muuttuneet järjestelmässä ja kysyä mitä tehdä, jos niiden sisältö on erilainen uudessa versiossa. Lisäksi paketinhallinta ei salli sinun korvata yhden paketin tiedostoja, kun asennat toisen paketin. Yleisesti ottaen se voi tehdä paljon hyödyllisiä asioita.

Jos tietämättömyydestä/laiskuudesta kopioit ja liitit ohjeista asennusta, niin järjestelmään ilmestyvät tiedostot, joista paketinhallinta ei tiedä. Kaikella mitä se tarkoittaa, jos aiemmin lueteltu ei riitä sinulle.

Mitä tehdä?

Voit toki määrittää lähdepuun niin, että kaikki asennetaan jonnekin hakemistoon /opt/mycoolapp/ ja sitten tarvittaessa poistaa se manuaalisesti, mutta täällä voi tulla esiin paljon epämiellyttäviä asioita, alkaen siitä, että ohjelma odottaa voivansa ladata kirjastosi, ja lataaja ei tiedä mitään hakemistosta, jossa ne sijaitsevat, päättyen siihen, että ohjelman tekijä voi odottaa, että esimerkiksi jos hän laittaa tiedoston esim. kohtaan $prefix/share /xsessions/, näytönhallinta poimii sen. Puhumattakaan pkgconfigin poluista ja niin edelleen.

Joten sinun on kerättävä paketti.

Minulla ei ole aikaa naida tämän kanssa, minun on parempi asentaa uudelleen, kaikki on yksinkertaista ja selkeää!

Rauhoitu, rauhoitu. Hän on sidottu jalkojemme päälle. Kaikki ei ole niin pelottavaa ja monimutkaista kuin miltä näyttää ensi silmäyksellä.
tarkista asennus
Tämä upea apuohjelma, kun se käynnistetään make install sijaan, kysyy useita kysymyksiä, minkä jälkeen se rakentaa ja asentaa paketin. Siinä se, kun päivität, sinulla ei ole ongelmia vanhan roskan puhdistamisessa.
Rakenna deb-paketti manuaalisesti
Jos et ole taipuvainen luottamaan tällaiseen automaatioon (joka joskus vielä sotkee) tai haluat tehdä pari muutosta, mutta olet silti liian laiska käsittelemään normaalia pakettien rakennusprosessia, voit koota paketin manuaalisesti. Esitän tavan rakentaa se Debian-pohjaisille järjestelmille, koska tunnen ne parhaiten. Se ei ole ideologisesti oikein, mutta tulos on täysin oikea paketti ilman lisäkokonaisuuksia. Tämä tehdään seuraavasti.
Ensin kokoamme ohjelmiston parametreilla --prefix=/usr ja --exec-prefix=/usr, jotka on määritetty valmiiksi konfiguraatiolle tai autogen.sh:lle.
Seuraavaksi asennamme sen väliaikaiseen hakemistoon. Me kirjoitamme:

Fakeroot make install DESTDIR=`pwd`/tempinstall
Tämän jälkeen saamme koko tiedostojoukon äskettäin luotuun hakemistoon. Olemme muuten nyt fakeroot-ympäristössä, eli voit vaihtaa tiedostojen omistajaa ja käyttöoikeuksia ilman rajoituksia, mutta fyysisesti pysyt järjestelmän omistajana. Fakeroot-istunnon sisällä oleva ohjelmisto vastaanottaa muuttuneet tiedot, joiden avulla tiedostot, joilla on oikeat oikeudet, voidaan arkistoida.
Luo seuraavaksi DEBIAN-hakemisto "paketin juureen" ja lisää luettelo kaikista tiedostoista, joiden pitäisi mennä hakemistoon /etc, DEBIAN/conffiles-kansioon:

Cd tempinstall mkdir DEBIAN find etc | sed "s/^/\//" > DEBIAN/conffiles
Sitten luomme DEBIAN/control-tiedoston, jonka sisältö on seuraava:

Voit tarvittaessa luoda sinne myös preinst-, postinst-, prerm- ja postrm-skriptejä.

Siinä kaikki, teemme komennon dpkg -b tempinstall ja tulos on tempinstall.deb, jonka avulla voit asentaa, päivittää tai poistaa oikein komennolla dpkg -i.

Lähdekoodipaketin alustavan luomisen "oikea" prosessi ei kuulu tämän huomautuksen piiriin, joten sitä ei kuvata, mutta tarkoituksiinne se ei yleensä ole välttämätöntä.

Johtopäätös

Kuten näette, tässä ei ole mitään monimutkaista, mutta näiden vaiheiden noudattaminen säästää sinut monilta ongelmilta tulevaisuudessa.

Usein tarvittavat paketit löytyvät vain lähdekoodista; tässä artikkelissa kuvataan menetelmä paketin asentamiseksi lähdekoodista.

Pakkauksen avaaminen

Ohjelmat jaetaan yleensä paketoiduissa arkistoissa, nämä ovat tiedostopäätteitä

.tar.gz (joskus .tgz) .tar.bz2

Sinun on ymmärrettävä ero arkistaattorin ja pakkaajan välillä.

Ohjelmaa käytetään hakemistojen ja tiedostojen arkistointiin terva; sen työn tulos on tiedosto, jonka pääte on .tar. Karkeasti sanottuna tämä on kopio tiedostojärjestelmä- hakemistot ja tiedostot attribuuteineen ja käyttöoikeuksineen, sijoitettuna yhteen tiedostoon.

Tämä tiedosto on kooltaan hieman suurempi kuin arkistoitujen tiedostojen kokonaiskoko. Siksi (tai ehkä jostain muusta syystä) he käyttävät pakkaajia - ohjelmia, joiden avulla voit pienentää tiedostokokoa menettämättä tietoja.

Ohjelmoida terva voi purkaa, joten ei tarvitse soittaa aseen vetoketju, tai voit vain kertoa ohjelmalle terva että tiedosto on ensin purettava. Esimerkiksi komento

tar -xvf< some_app_name>.tar.gz

purkaa ja purkaa heti. Ero tiedostojen ja laajennusten välillä

.tar.gz

.tar.bz2

vain, että eri pakkaajia käytettiin, ohjelmaa terva määrittää pakkausmenetelmän automaattisesti, eikä tässä tapauksessa tarvita lisäasetuksia.

Pakkauksen purkamisen jälkeen sinun on siirryttävä tuloksena olevaan hakemistoon; kaikki alla kuvatut komennot suoritetaan hakemistossa paketin lähdekoodilla.

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

Paketin rakentaminen

Ohjelmien rakentamiseen GNU/Linuxissa käytät (enimmäkseen) ohjelmaa tehdä, joka suorittaa ohjeet osoitteesta Makefile, mutta koska GNU/Linux-jakeluja on monia ja ne ovat kaikki erilaisia, ohjelman rakentamiseksi on jokaiselle jakelulle erikseen määritettävä polut, joissa kirjastot ja otsikkotiedostot sijaitsevat. Ohjelmoijat eivät voi tutkia jokaista jakelua ja luoda jokaiselle erikseen Makefile. Siksi he keksivät konfiguraattoreita, jotka "tutkivat" järjestelmää ja luovat saatujen tietojen mukaisesti Makefile. Mutta he eivät pysähtyneet konfiguraattoriin vaan keksivät konfiguraattoreiden konfiguraattoreita...siihen he pysähtyivät

Rakentaaksemme tarvitsemme kääntäjiä: ne on määritelty paketin riippuvuuksissa rakentamisen välttämätön, joten se riittää asentamaan kaikki riippuvuudet. Tarvitaan edelleen autoconf Ja autovalmistaja.

Joten, jotta voit rakentaa jotain lähdekoodista, sinun on ensin rakennettava konfiguraattori; konfiguraattorin rakentaminen on kuvattu configure.in-tiedostossa. Sinun on suoritettava konfiguraattorin rakentaminen

./ bootstrap ./ autogen.sh

Jos arkistossa ei ole tällaisia ​​skriptejä, voit suorittaa seuraavat komennot peräkkäin:

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

Kaikki nämä komennot käyttävät tiedostoa configure.in. Kun nämä komennot on suoritettu, tiedosto luodaan konfiguroida. Tämän jälkeen sinun on suoritettava konfiguraattori tarkistaaksesi kaikkien riippuvuuksien olemassaolon sekä asennettava lisäkoontivaihtoehtoja (jos mahdollista) ja tarkasteltava asennuksen tulosta (valinnainen - ei ehkä ole läsnä)

./ määritä

Konfiguraattori rakentaa Makefile-tiedoston hankitun tiedon ja tiedoston perusteella makefile.am. Voit siirtää konfiguraattorille ohjelmalähteissä annetut vaihtoehdot, joiden avulla voit ottaa käyttöön/poistaa tiettyjä ohjelman ominaisuuksia, yleensä saat niistä selville komennolla

./ configure --help

On myös joukko vakiovaihtoehtoja, kuten

Etuliite=

Joka määrittää, mitä hakemistoa käytetään asennuksessa. Yleensä Ubuntuun

--prefix =/ usr --prefix =/ usr/ paikallinen

ILMAN viilto lopussa! Nyt voit aloittaa itse ohjelman rakentamisen komennolla

tehdä

Tavalliset käyttäjäoikeudet riittävät rakentamiseen. Rakennuksen loppua voidaan pitää hetkenä, jolloin konsolin komentojen suorittaminen lakkaa "satunnaisesti" eikä sanaa ole virhe. Nyt kaikki on koottu ja valmis asennettavaksi.

Asennus

Oikeaan asennukseen käytetyt ponnistelut tulevat enemmän kuin kannattaviksi tulevaisuudessa, jos asennettu ohjelmisto poistetaan tai päivitetään.

Oikea asennus (vaihtoehto nro 1)

Asennus apuohjelman avulla tarkista asennus. Asentaa:

sudo apt-get install checkinstall

Tämän menetelmän haittapuoli: tarkista asennus ei ymmärrä kaikkia lähteitä, koska ohjelman tekijä voi kirjoittaa erityisiä asennusskriptejä ja tarkista asennus ei ymmärrä niitä.

Sinun on suoritettava deb-paketin luominen ja asentaminen

sudo checkinstall

Oikea asennus (vaihtoehto nro 2)

Luo deb-paketti nopeasti manuaalisesti.

Suurin ero edelliseen menetelmään on, että tässä tapauksessa luot paketin manuaalisesti ja seuraat kaikkia tekemiäsi muutoksia. Tämä menetelmä sopii sinulle myös, jos lähteet eivät tue paketin rakentamista tarkista asennus.

    Asennamme väliaikaiseen hakemistoon, josta saamme kaikki asennetut tiedostot:

fakeroot make install DESTDIR=`pwd`/tempinstall

    Luodaan DEBIAN-hakemisto "paketin juureen" ja lisätään DEBIAN/conffiles-kansioon luettelo kaikista tiedostoista, joiden pitäisi mennä kansioon /etc:

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

    Sitten luomme DEBIAN/control-tiedoston, jonka sisältö on seuraava:

Paketti: paketin_nimi Versio: 1.2.3 Arkkitehtuuri: amd64/i386/armel/all Ylläpitäjä: Voit kirjoittaa nimesi, voit roskaa, mutta jos jätät sen tyhjäksi, dpkg vannoo Riippuu: Tässä voit syöttää luettelon paketeista Pilkuin erotettu. Prioriteetti: valinnainen Kuvaus: Sinun on myös annettava jotain, jotta varoituksia ei tule

    Voit tarvittaessa luoda sinne myös preinst-, postinst-, prerm- ja postrm-skriptejä.

    Luomme deb-paketin, jolle suoritamme:

dpkg -b tempinstall

    Tulos on tempinstall.deb, jonka asennamme

sudo dpkg -i tempinstall.deb

Asennus (vaihtoehto nro 3)

Väärä asennus

Tämän menetelmän haittana on, että jos asennat suoraan make install -toiminnolla, et todennäköisesti pysty poistamaan tai päivittämään pakettia normaalisti. Lisäksi uuden version asentaminen vanhan päälle korvaa todennäköisesti muutokset asetuksissa. make install tekee juuri sen, mitä sen käsketään tehdä – se asentaa tiedostot oikeisiin paikkoihin jättäen huomiotta sen tosiasian, että jotain on jo olemassa. Tämän prosessin jälkeen on täysin mahdotonta saada mitään tietoa siitä, mitä sijoitettiin minne ja sulavassa muodossa. Joskus Makefile tietysti tukee asennuksen poistotoimintoa, mutta tämä ei ole niin yleistä, eikä se ole tosiasia, että se toimii oikein. Lisäksi sinun on tallennettava pakkaamaton lähdepuu ja laadittava säännöt asennuksen poistamista varten.

Asentaaksesi sinun on tehtävä

sudo tee asennus

Jos haluat poistaa tällä menetelmällä asennetun paketin, sinun on suoritettava se ohjelman lähteiden juurihakemistossa (missä suoritit make install).

sudo tee uninstall

Virheet

Usein konfigurointivaiheessa konfiguraattori ilmoittaa, että tietty kirjasto puuttuu. Sen ilmoittama kirjaston nimi ei aina vastaa Ubuntun paketin nimeä. Omasta kokemuksestani voin neuvoa, että etsit Synapticista tarvittavan paketin lib-etuliitettä lukuun ottamatta. Jos löydät useita paketteja, jotka eroavat nimestä etuliitteellä -dev, sinun on asennettava paketti -dev (yleensä se sisältää myös muun kuin kehittäjän paketin). Voit myös etsiä osoitteesta http://packages.ubuntu.com/ syöttämällä kirjaston nimen paketin sisällön hakuun, samoin jos löydät dev ja non-dev, tarvitset molemmat. Tai sitten vain etsi Googlesta.

Vaadittu ohjelmisto

Paketit, joiden kuvauksen lopussa on mm, ovat C++-ohjelmien paketteja. Luettelo bmpx:lle, mutta sopii melkein kaikille GTK2/Gnome-ohjelmille. Joten jos et voi koota sitä, katso tätä luetteloa ja vertaa sitä siihen, mitä olet asentanut.

Koota:Kesto:
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-muisti1
Gaminlibgamin-devlibgamin0
Neonlibneon25-devlibneon25
TagLiblibtagc0-devlibtagc0
Käynnistys - Ilmoitalibstartup-notification0-devlibstartup-notification0
Tehostalibboost-dev,libboost-filesystem-devlibboost-filesystem1.33.1
MusicBrainzlibmusicbrainz4-devlibmusicbrainz4c2a
GStreamerlibgstreamer0.10-dev,libgstreamer-plugins-base0.10-devlibgstreamer0.10-0,libgstreamer-plugins-base0.10-0

pääte ja komennot

Oletko usein törmännyt siihen, että arkkitehtuuriisi tarvittavaa sovelluksen versiota ei yksinkertaisesti ole saatavilla Ubuntu-jakelussa, mutta tämä ohjelma on saatavilla kehittäjien verkkosivustolla lähdekoodin muodossa .tar.gz-arkistossa. Luulen, että monet ihmiset tuntevat tämän tilanteen, mutta kaikki eivät edelleenkään etsineet tapoja ratkaista tämä ongelma, vaan etsivät vain toista sovelluksen analogia tai hieman vanhempaa versiota ja jatkoivat työtä.

Haluaisin heti lisätä muutaman sanan uusille Linux-tulokkaille; ennen kuin teet mitään tästä artikkelista, tutustu perusteellisesti päätelaitteeseen ja sen kanssa toimiviin komentoihin, lue manaa tai materiaaleja verkossa.

  • varten sovellusrakenteet tarvitsemme tietysti kehittäjätyökaluja, meidän tapauksessamme tämä on kääntäjä ja muut mukana olevat ohjelmat; päätyön tekee tietysti make-apuohjelma, ja komentorivi(terminaali) on kuin keittiömme, jossa olemme valmistele/kokoa/asenna sovelluksemme lähteestä. Linuxissa pääte on oletusarvoisesti saatavilla, avuksesi voit toki asentaa minkä tahansa toimivamman johon olet tottunut, esim. käytän Guakea, siinä on paljon mahdollisuuksia verrattuna standardiin, jossa se on helppo määrittää sekä kopiointi että liittäminen komentoja tai mitä tahansa tekstiä käyttämällä CTRL+C, CTRL+V ja paljon muuta, mikä tekee työskentelystä konsolin kanssa mukavampaa.
  • 1. Mistä aloittaa sovellusten rakentaminen lähteestä, on tietysti ladata sovellus tar.gz- tai tar.bz2-arkistosta, minun tapauksessani tämä on esimerkiksi Gimp 2.9.2 -sovellus, vaikka meidän tapauksessamme arkisto ei ole tar.gz-muodossa ja tar.bz2, sillä ei ole mitään merkitystä, lataa se myöhemmin oikealla painikkeella hiiri arkiston läpi - Poimi tästä.

Tämä on luultavasti ensimmäinen vaihe, mitä teemme seuraavaksi? Ja sitten käynnistämme päätelaitteen ja siirrymme pakkaamattomaan kansioon tiedostoineen:

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

  • 2. Ennen kuin aloitat lähdekoodin valmistelun kokoonpanoa varten, suosittelen sinua avaamaan ensin INSTALL-tiedoston ja tutustumaan siihen, löydät paljon hyödyllistä tietoa Tämä tiedosto kertoo kuinka sovellus asennetaan, mitä komentoja tulee suorittaa ja paljon muuta mielenkiintoista. Nyt neuvon sinua asentamaan lisäpaketin nimeltä - auto-apt, joka tekee paljon rutiinityötä puolestasi.
sudo apt-get install auto-apt

Mitä tarkoittaa tehdä paljon rutiinityötä minulle, kysyt, jos suorita sovelluslähteen määritys tämän paketin etuliitteellä, esimerkiksi muodossa:

Auto-apt -y suorita ./configure

Tietenkin voit suorittaa määrityksen ilman tämän paketin apua ja suorittaa yksinkertaisesti komennon:

./configure

Jos teet määrityksen etuliitteellä - auto-apt -y run, niin lähteiden valmistelu kokoonpanoa varten tapahtuu automaattisesti, eli tämä komento voi automaattisesti ladata ja asentaa kaiken puolestasi tarvittavat tiedostot ja kirjastot ja tyydyttävät kaiken riippuvuuksia jota vaaditaan.

  • 3. Milloin todellista työtä kaikki ei ole niin sujuvaa, ehkä yhdessä tapauksessa kaikki menee hyvin ja lähdekoodin valmisteluvaihe kokoonpanoa varten Se menee läpi ilman virheitä, mutta muissa tapauksissa, ja nämä ovat luultavasti suurin osa, tulee vastaan ​​erilaisia ​​​​virheitä, esimerkiksi yksi tai toinen paketti ei riitä lähdekoodin jatkovalmisteluun. Useimmissa tapauksissa puuttuvan paketin nimi kirjoitetaan.

Yritämme asentaa puuttuvan paketin komennolla:

Sudo apt-get install paketin_nimi

Siinä tapauksessa, että pakettia ei havaita yllä olevaa komentoa suoritettaessa, seuraava yhdistelmä auttaa minua hyvin usein; etsimme välimuistista puuttuvia paketteja:

Apt-välimuistihaku paketin_nimi

  • Tämän komennon suorittamisen jälkeen saatat löytää sopivan paketin, usein tapahtuu, että et löydä sopivaa pakettia, mutta voit löytää tarkan kopion paketista, mutta dev-etuliite eli paketin kaltainen paketin_nimi-dev ja voit käyttää sitä riippuvuuksien tyydyttämiseen.
  • 4. Kun koontiversion lähteiden määritykset on suoritettu onnistuneesti, on suositeltavaa asentaa paketti tarkista asennus mikä helpottaa sovelluspaketin kokoamista jakeluasi varten.
sudo apt-get install checkinstall

Asenna paketti ja voit suorittaa komennon:

Tarkista asennus -D

  • Attribuutti -D luo deb-paketin, määritteen -R luo rpm-paketin, jota käytetään Fedora-, RHEL-, ASP Linux-, ALT Linux-, Mandriva-, openSUSE-jakeluissa, on myös lisäattribuutti -S joka luo Slackwaressa käytetyn paketin.

Minun tapauksessani käytän Ubuntua ja suoritin komennon ominaisuus -D, kokoamme sovelluksen valmiiksi Deb-muotopaketiksi, tarvitsemme selventäviä tietoja, esimerkiksi lisäämällä kuvauksen pakettiin, koska kokoat sitä ja vastaavasti kuvaus on täysin puhdas ja , sinun on annettava lyhyt viite siitä, millainen sovellus tämä on mihinkin . Minun tapauksessani, kuten tarkistin, myös seuraavat kentät täytetään automaattisesti:

1 - Yhteenveto: [ EOF ] 2 - Nimi: [ gimp ] 3 - Versio: [ 2.9.2 ] 4 - Julkaisu: [ 1 ] 5 - Lisenssi: [ GPL ] 6 - Ryhmä: [ checkinstall ] 7 - Arkkitehtuuri: [ i386 ] 8 - Lähteen sijainti: [ gimp-2.9.2 ] 9 - Vaihtoehtoinen lähteen sijainti: 10 - Vaatii: 11 - Tarjoaa: [ gimp ] 12 - Ristiriidat: 13 - Korvaukset:

  • Kuten näet, ennen koontia tarkistetaan, onko konfigurointi suoritettu onnistuneesti, onko tyydyttymättömiä riippuvuuksia tai muita ristiriitoja; jos kaikki on kunnossa, paketti rakennetaan ilman ongelmia.

Asensin sen aiemmin rakentamatta pakettia suorittamalla komennot:

Tee asennus

Jos haluat poistaa asennettu sovellus, sinun tulee suorittaa komento:

Poista asennus

yllä oleva komento poistaa automaattisesti asentamaasi sovellukseen liittyvät, eikä vaikuta mihinkään kolmansiin osapuoliin, on suositeltavaa olla ajamatta hakemistojen läpi ja suorittaa se samasta sovellushakemistosta, jossa työskentelit, eli valmistit asetukset , jne.

Vaikka kaikki sujui ilman virheitä, koko prosessi kesti erittäin kauan, noin 20 minuuttia ennen kuin asensin Gimpin lähdekoodista, onnistuin keittämään kahvia ja myös katsomaan asennusprosessia, kaikkea tapahtuu pitkään johtuen siitä, että että niitä on paljon erilaisia ​​kansioita hajottaa sovelluksen lähdetiedostoja, jokaisella tiedostolla on oma tarkoituksensa ja sen on sijaittava tietyssä hakemistossa, joten kun make install on suoritettu, tuhansia lähdetiedostoja asennetaan vaadittuihin hakemistoihin.

Näin sovelluksen asennus lähteestä tapahtuu, kyllä, kaikki ei ole ensisilmäyksellä niin yksinkertaista, en väittänytkään, että se olisi helppoa, mutta jos yrität, niin se kehittää ajatteluasi ja tapojasi löytää ratkaisuja erittäin hyvin. tietyssä tilanteessa, mikä on jopa erittäin hyvä.

Siinä kaikki, jos sinulla on kysyttävää yllä olevasta materiaalista tai yritit asentaa ja havaitsit virheitä, kysy materiaalin kommenteissa, etsimme ratkaisua yhdessä.