Oletame laadisite just alla oma lemmikmängu või -programmi lähtekoodi ja soovite selle kompileerida, et saaksite seda nautida. Kuidas sellist titaanilist ülesannet täita? Ärge muretsege, selle mängu / programmi kompileerimine ja Linuxi installimine pole nii keeruline kui kõlab. |
Ehitamise ja installimise protseduur
Alati, kui laadite alla programmi lähtekoodi, tihendatakse see failiks, mis Linuxis on tavaliselt tar.gz või tar.bz2 tüüpi. Muidugi, see võib tulla mis tahes muus vormingus (näiteks zip), kuid see on reeglina reegel.
Nii et esimene samm on selle faili lahti pakkimine. Lihtsaim meetod on avada Nautilus, paremklõpsata kõnealusel failil ja valida Paki lahti. Terminal kasutab aga meetodit, mida siin näeme.
Kui fail on lahti pakkitud, luuakse kataloog, millele peame juurde pääsema ja kust alustame programmi seadistamist ja kompileerimist.
Kui teete seda kõike terminalist, on kasutatavad käsud järgmised:
tar xvzf package.tar.gz (või tar xvjf package.tar.bz2) cd-pakett ./configure make make install
Need on käsud, mida tuleb üldjuhul järgida, kuid soovitav oleks kõiki neid samme põhjalikumalt analüüsida, et mõista nende tähendust täielikult.
1. samm: dekompressioon
Laiendus tar.gz või tar.bz2 tähendab, et teie allalaaditud lähtekood tihendatakse tõrvafailiks, tuntud ka kui tarball. See lihtsustab lähtekoodi levitamist oluliselt, kuna kõik sellest koosnevad failid ja kaustad on pakitud ühte faili. Kui see on tõrvafailis pakitud, tihendatakse see fail algoritmi gz või bz2 abil, sõltuvalt arendaja maitsest.
Tar.gz-faili lahtipakkimiseks kirjutasin:
tar xvzf package.tar.gz
Tar.bz2-faili korral:
tar xvjf package.tar.bz2
Enamasti loob see kataloogi kausta, kus tihendatud fail asub. Kausta nimi on sama mis tihendatud fail.
2. samm: konfigureerimine
Kui olete sisestanud kausta, mis on loodud faili tar.gz või tar.bz2 lahti pakkimisega ...
cd kaust
… Aeg paketi konfigureerimiseks. Tavaliselt, kuid mitte alati (seetõttu on oluline lugeda faile README ja INSTALL), käivitatakse see häälestusskripti käivitamisega:
. / Configure
Selle skripti käivitamisel ei installita veel midagi, kontrollitakse ainult süsteemi ja määratakse väärtused mõnele süsteemist sõltuvale muutujale. Neid väärtusi kasutatakse Makefile'i loomiseks. Makefile'i kasutatakse omakorda kahendfaili loomiseks, mis loo lõpus võimaldab programmil töötada.
Selle käsu käivitamisel näete, et ekraan täidab palju mõnevõrra krüptilisi sõnumeid. Vea korral ilmub teade; ja kui kõik hästi läheb, võime hüpata järgmise sammu juurde. 🙂
3. samm: binaararvuti loomine
On aeg ehitada binaarfail, mis pole midagi muud kui programmi käivitatav fail. Teisisõnu hõlmab see protseduur kõrgel tasemel programmeerimiskeeles kirjutatud failide teisendamist puhasteks nullideks ja nendeks, see tähendab ainsaks keeleks, mida meie arvuti mõistab.
tegema
Selle käsu õnnestumiseks peab eelmine samm olema õnnestunud. Ilma Makefile'ita nurjub make. Seetõttu on nii oluline, et häälestuskript töötaks edukalt.
Jah, ekraan täitub jälle kummaliste sõnumitega ja selle lõpuleviimine võtab tõenäoliselt aega. See sõltub programmi suurusest ja arvuti kiirusest.
4. samm: installimine
Muidugi, meil on käivitatav fail juba olemas, kuid selle install puudub. See samm tuleb teha administraatoriõigustega.
sudo tee install
Kuna sel hüpoteetilisel juhul ei ole me konfiguratsioonifailis muudatusi teinud, installitakse programm vaikekausta. Üldiselt on see tavaliselt nii / usr / local / bin kuna see võimaldab programmi nime kirjutamisel mis tahes küljest seda käivitada (ilma et peaksite sisestama programmi täielikku rada).
5. samm: täitmine
Ei, me ei tapnud kedagi. See on lihtsalt kogu ehitus- ja installiprotsessi kulmineeruv samm. Programmi käivitamiseks, mille me nii hoolikalt muutsime binaarseks, kirjutasin:
./programmi nimi
Kui programm installiti mõnda muusse kausta, välja arvatud / usr / local / bin, peate sisestama kogu programmi tee.
Rantšo koristamine
Kui kettaruumi on väga-väga vähe, võiksite kustutada kõik binaarse loomise käigus loodud failid. Sel juhul pääsesin juurde faili lahti pakkimisega loodud kausta ja kirjutasin:
puhastage
Märkus. Hoidke oma Makefile kindlasti alles. See fail on vajalik programmi desinstallimisel tulevikus.
Desinstalli
Programm ei olnud see, mida me ootasime ja me tahame selle oma süsteemi näolt kustutada. Kuidas? Kas äsja installitud programmi ei kuvata tarkvarakeskuses ega Synapticus? Ja nüüd?
Kui te pole oma Makefile'i kustutanud, on võimalik programm hõlpsasti desinstallida. Kirjutasin faili lahti pakkimisel loodud kausta sees järgmise käsu:
desinstallige
Kui teil ei vedanud ja desinstallimine ebaõnnestus, ei jää muud üle kui failid käsitsi kustutada. Tõeline peavalu. Nende failide asukoha väljaselgitamiseks võite heita pilgu oma Makefile'i.
Kui olete Makefile'i kustutanud, on kõige parem programm uuesti installida ja seejärel teha desinstallima, kuna see taastab Makefile'i. Ärge unustage seda installida, kasutades samu seadeid (antud juhul mitte ühtegi) . / Configure.
Hea tuto tänan teid väga, alati, kui alustame Linuxis, on üks peamisi probleeme kompileerimise, hästi selgitatud, kuigi on soovitatav lugeda readme või installida ...
Hea tuto tänan teid väga, alati, kui alustame Linuxis, on üks peamisi probleeme kompileerimise, hästi selgitatud, kuigi on soovitatav lugeda readme või installida ...
«Kui teil ei vedanud ja desinstallimine ebaõnnestus, ei jää muud üle kui failid käsitsi kustutada. Tõeline peavalu »
Soovitav on see uuesti installida ja seejärel teha "desinstallimine", kuna meil on Makefile uuesti loodud. Oluline on installida konfigureerimisel samu konfiguratsioone (antud juhul mitte ühtegi).
nüüd, kui te ei soovi seda käivitada programmi nime panemisega, kuid loote töölauale otsetee või kuvatakse see rakenduste menüüs, kuidas seda teha?
Tervitused!
Hea õpetus. Nüüd saan isegi mina koostada.
Ma arvan, et teine samm oleks readme (RTFR xD) lugemine ja see on kõige olulisem, kuna paljudel programmidel on sõltuvused, mille peate installimisel täitma, või on vaja mõnda täiendavat sammu või on ka hea, et lugesite seda, sest see pakub häid valikuid valmistamiseks, mis võib meile huvi pakkuda.
Tervitused!
Täiesti! Seetõttu soovitan alati lugeda README ja INSTALL.
Sul on õigus. Seda juhul, kui teil pole Makefile'i. Ma rääkisin juhtumist, et isegi Makefile'i ei saanud seda mingil muul põhjusel desinstallida.
Igatahes lisan postitusele teie kommentaari, mis on minu arvates väga asjakohane ja täpne.
Kallistus ja aitäh kommenteerimise eest! Paul.
Tudo bem Krafty! Keegi pole solvunud. Kirjutasin selle postituse, kuna polnud kunagi seda teemat blogis kajastanud. Igatahes võtan teadmiseks teie soovitatavad teemad (mõned väga head). Kindlasti kirjutan neist mitte liiga kauges tulevikus.
Suur kallistus ja aitäh kommentaaride jätmise eest! Paul.
Ma ei taha olla kuri, kuid sel aastal on seda teemat juba mitu korda arutatud.
Pakun välja mõned teemad, et näeksite, et ma ei jäta kommentaari lihtsalt bardi tegemiseks.
- Telefoniühendus IP kaudu
- erinevad torrenti kliendid (milline neist valida).
- Skriptide loomine nendest asjadest, mida meil on konsoolis korduvalt.
- Eemaldage tuumilt moodulid, nii et see käivitaks Linuxi käivitamisel kiiremini.
Loodan, et pole kedagi solvanud / häirinud
tore, tore neile meist, kes hakkasime Linuxiga lahti saama
Jah. Üldiselt on need üksikasjad loendis README. Vastasel juhul tuleb vea koostamisel ilmneda vea põhjal (mis annab teada, milline teek puudu on) peame installima vastava sõltuvuse.
Kallistus! Paul.
Krafty, sa oled kahtlemata tõesti halb. Kus olete näinud sellist õpetust, mis on nii selge ja selgitav? minu jaoks on see suurepärane, salu2,
Suur aitäh giidi eest! See aitas mul mõned asjad selgeks teha 🙂
Muide, näpunäide, mis on sõltuvuste küsimuse lahendamiseks minu jaoks üsna hästi toiminud, on kõigepealt teha "sudo apt-get build-dep programmi_nimi"; Ma ei tea, kas see töötab kõigis distros, olen seda kasutanud Debianis (Squeeze, kus koostasin hiljuti MuseScore 1.2, et leevendada stabiilse haru arhailisi reposid ... 😉
Kujutan ette, et keegi teadlikum oskab täpsemaid üksikasju give
Tervitused!
Kas me ei peaks enne kompileerimist arvestama sõltuvustega, mida programm vajab?
Mul on linuxi kasutamisel vähe aega ja see on üks minu suurimaid kahtlusi, see on mulle väga kasulik, kuna ma polnud selle konkreetse teemaga ühtegi postitust leidnud 😀
või teate mõnda?
Terviseks ..
tore, ma ei olnud seda postitust näinud, kuid see on tingitud 1. tüüpi veast või 2. veast
Kas pole muud meetodit?
Seda meetodit olen juba edukalt kasutanud. Probleem on selles, et on palju-palju lähtekoodiprogramme, mis seda süsteemi ei kasuta, meil pole konfigureerimisskripti. Tahaksin, kuidas neid koostada.