Suposem que Acabes de baixar el codi font del teu joc o programa favorit i querés compilar per poder gaudir-ne. Com realitzar tan titànica tasca? No et preocupis, compilar i instal·lar aquest joc / programa en Linux no és tan difícil com sembla. |
Índex
Procediment de compilació i instal·lació
Sempre que baixeu el codi font d'un programa, aquest vindrà comprimit dins d'un arxiu que, en Linux, generalment és de tipus tar.gz o tar.bz2. És clar, pot venir en qualsevol altre format (zip, per exemple), però aquella sol ser la regla.
Així que, el primer pas és descomprimir aquest arxiu. El mètode més senzill és obrint Nautilus, fent clic dret sobre l'arxiu en qüestió i seleccionant descomprimir. El mètode que veurem aquí, però, és aquell que utilitza el terminal.
Un cop descomprimit l'arxiu es crearà un directori, a què haurem d'accedir i des del qual iniciarem la configuració i compilació de el programa.
Quan facis tot això des del terminal, les ordres a utilitzar són:
tar xvzf paquete.tar.gz (o tar xvjf paquete.tar.bz2) cd package ./configure make make install
Aquests són els comandaments que generalment un ha de seguir, però seria recomanable analitzar en major profunditat cadascun d'aquests passos, per entendre bé què impliquen.
Pas 1: descompressió
L'extensió tar.gz o tar.bz2 dir que el codi font que vas descarregar està comprimit dins d'un arxiu tar, conegut també com tarball. Això simplifica enormement la difusió de el codi font ja que tots els fitxers i carpetes que el conformen es troben empaquetats dins d'un sol arxiu. Un cop empaquetats, dins de l'arxiu tar, aquest arxiu és comprimit utilitzant l'algoritme gz o bz2, depenent de l'gust de el desenvolupador.
Per descomprimir un arxiu tar.gz, vaig escriure:
tar xvzf paquet.tar.gz
En cas de tractar-se d'un arxiu tar.bz2:
tar xvjf paquet.tar.bz2
En la major part dels casos això crearà una carpeta dins de directori on es trobi l'arxiu comprimit. El nom de la carpeta serà igual a el de l'arxiu comprimit.
Pas 2: configuració
Una vegada que heu introduït a la carpeta creada a l'descomprimir l'arxiu tar.gz o tar.bz2 ...
cd carpeta
... és hora de configurar el paquet. Usualment, encara que no sempre (per això és important llegir els fitxers README i INSTALL), això s'aconsegueix corrent el script de configuració:
. / Configure
Quan executis aquest script, encara no es va a instal · lar res, només es verificarà el sistema i s'assigna valors a algunes variables dependents de el sistema. Aquests valors són utilitzats per crear un Makefile. El Makefile, al seu torn, és utilitzat per crear el fitxer binari que, a la fi de l'conte, permetrà executar el programa.
Quan executis aquesta comanda vas a veure que la pantalla s'omple d'un munt de missatges una mica críptics. En cas d'error, apareixerà un missatge; i si tot va bé, podem saltar a el següent pas. 🙂
Pas 3: construcció de l'binari
Va arribar l'hora de construir l'arxiu binari, que no és més que l'executable de el programa. En altres paraules, aquest procediment implica la transformació dels arxius escrits en un llenguatge de programació d'alt nivell a purs zeros i uns, és a dir, l'únic idioma que la nostra compu entén.
fer
Perquè aquesta comanda tingui èxit, el pas anterior ha d'haver sortit bé. Sense el fitxer Makefile, make donarà error. Per això és tan important que l'script de configuració s'executi correctament.
Sí, la pantalla s'omplirà de missatges estranys novament i és probable que es demori una bona estona en acabar. Això dependrà de la mida de el programa i de la velocitat del teu compu.
Pas 4: instal·lació
És clar, ja tenim l'executable però falta la seva instal·lació. Aquest pas cal fer-ho amb privilegis d'administrador.
sudo make install
Com en aquest cas hipotètic no hem realitzat cap canvi a l'arxiu de configuració, el programa s'instal·larà a la carpeta per defecte. En general, això sol ser / usr / local / bin ja que això permet que des de qualsevol costat a l'escriure el nom de el programa aquest s'executi (sense haver d'ingressar el camí complet de el programa).
Pas 5: Execució
No, no matem a ningú. Es tracta simplement d'el pas cúlmine de tot procés de compilació i instal·lació. Per executar el programa que amb tant d'esforç convertim en un binari, vaig escriure:
./nomprograma
Si el programa va ser instal·lat en una altra carpeta, diferent a / usr / local / bin hauràs d'ingressar la ruta completa de el programa.
Netejant el ranxo
En cas que estiguis molt però molt curt d'espai en disc, és possible que vulguis esborrar tots els arxius creats durant el procés de construcció de l'binari. En aquest cas, accedeix a la carpeta creada a l'descomprimir l'arxiu i vaig escriure:
netejar
Nota: assegureu de conservar el teu Makefile. Aquest arxiu serà necessari a l'hora de desinstal·lar el programa en el futur.
desinstal·lació
El programa no era el que esperàvem i volem esborrar de la faç del nostre sistema. Com? El programa que acabo d'instal·lar no apareix al Centre de Programari ni en Synaptic? ¿I ara?
En cas que no hagis esborrat el teu Makefile, és possible desinstal·lar el programa fàcilment. Vaig escriure la següent comanda dins de la carpeta creada a l'descomprimir l'arxiu:
fer desinstal·lar
Si vas tenir mala sort i la desinstal no va tenir èxit, no quedarà una altra més que esborrar els arxius a mà. Un veritable mal de cap. Per descobrir on es troben aquests arxius, podeu pegar-li una mirada al teu Makefile.
En cas d'haver esborrat el Makefile, el més recomanable és tornar a instal·lar el programa, i després fer make uninstall, ja que així es regenerarà el Makefile. No oblidis instal·lar usant les mateixes configuracions (en aquest cas cap) en el . / Configure.
18 comentaris, deixa el teu
Bon tut moltes gràcies, sempre quan vam començar a linux un del sprincipales problemes és com compilar, ben explicat, encara que si és recomanable llegir els readme o install ...
Bon tut moltes gràcies, sempre quan vam començar a linux un del sprincipales problemes és com compilar, ben explicat, encara que si és recomanable llegir els readme o install ...
«Si vas tenir mala sort i la desinstal no va tenir èxit, no quedarà una altra més que esborrar els arxius a mà. Un veritable mal de cap »
És més recomanable tornar a instal·lar-lo, i després fer «make uninstall» ja que tindrem el Makefile re-generat. Important instal·lar usant les mateixes configuracions (en aquest cas cap) al configuri.
ara si no queres executar posant el nom de el programa sinó crear un accés directe a l'escriptori o que et aparegui en el menú d'aplicacions, com fas?
salutacions!
Bona tutorial. Ara fins i tot jo puc compilar.
crec que el segon pas seria llegir el readme (RTFR xD) i és el mes fonamental de tots, ja que molts programes tenen dependències que has de complir a la instalacion, o es necessita algun pas extra o també aquesta bo que ho llegeixis perquè brinda bones opcions per al make que ens pot arribar a interessar.
salutacions!
Completament! Per això recomano llegir sempre els README i INSTALL.
Tenés raó. Això, en el cas que no tingui el Makefile. Jo parlava de el cas en què tot i tenir el Makefile no pogués desinstal·lar per alguna altra raó.
De totes maneres, vaig a afegir a l'post teu comentari, que em sembla molt pertinent i encertat.
Una abraçada i gràcies x comentar! Pau.
Tudo bem Krafty! Ningú s'ofèn. Vaig escriure aquest post perquè mai havia tractat el tema al bloc. De totes maneres, tom noto dels temes que recomendás (alguns molt bons). Segurament, vaig a escriure sobre ells en un futur no molt llunyà.
Un gran abraçada i gràcies x deixar els teus comentaris! Pau.
No vull ser dolenta ona, però aquest tema ja el van tractar diverses vegades en el que va d'l'any.
Proposo uns temes perquè vegin que no deixo comentari només per fer bard.
- Telefonia sobre IP
- Diferents Clients Torrent (com triar).
- Creació de scripts d'aquelles coses que l'hem en forma repetida a la consola.
- Treure mòduls a l'nucli perquè s'inicialitzi mes ràpidament Linux a l'bootear.
Espero no haver ofès / molestat a ningú
genial, fantàstic per als que ens vam començar a deixar anar amb linux
Sí. Generalment, aquestes vénen detallades en el README. Cas contrari, a l'compilar sortirà error i basant-se l'error (que dirà quina biblioteca falta) haurem d'instal·lar la dependència apropiada.
Una abraçada! Pau.
krafty, sos mala ona sense dubtes. On havies vist un tutorial com aquest, tan clar i explicatiu? per a mi és excel·lent, salu2,
Moltes gràcies per la guia !, m'ha servit per aclarir algunes coses 🙂
Per cert, una tip que m'ha funcionat prou bé per resoldre el tema de les dependències és fer primer de tot 'sudo apt-get build-dep nombre_del_programa'; no sé si funciona en totes les distros, jo ho he fet servir en Debian (Squeeze, on fa poc em compili el MuseScore 1.2 per pal·liar una mica els repos arcaitzants de l'branch stable ... 😉
Imagino que algú més informat podrà donar detalls més fins 🙂
Salutacions!
¿No caldria tenir en compte les dependències que necessita el programa abans de compilar?
Tinc poc temps usant linux, i això és una de les meves més grans dubtes, això em sevira molt ja que no hi havia trobat algun post amb aquest tema en particular 😀
o vostès coneixen algun?
salutacions ..
genial, no havia vist aquest post, però aque s'ha de això d'error tipus 1 o error tipus 2
No hi ha un altre mètode?
Aquest mètode ja ho he utilitzat amb èxit. El problema és que hi ha molts però que moltíssims programes en codi font que no fan servir aquest sistema, anem no tenen l'script configure. M'agradaria com compilar.