Supoñamos acaba de descargar o código fonte do seu xogo ou programa favorito e quere compilalo para poder gozalo. Como levar a cabo unha tarefa tan titánica? Non te preocupes, compilar e instalar ese xogo / programa en Linux non é tan difícil como parece. |
Índice
Procedemento de construción e instalación
Sempre que descargue o código fonte dun programa, comprimirase nun ficheiro que, en Linux, é xeralmente do tipo tar.gz ou tar.bz2. Por suposto, pode presentarse en calquera outro formato (zip, por exemplo), pero normalmente esa é a regra.
Polo tanto, o primeiro paso é descomprimir ese ficheiro. O método máis sinxelo é abrir Nautilus, facer clic co botón dereito sobre o ficheiro en cuestión e seleccionar Descomprimir. Non obstante, o método que veremos aquí é o usado polo terminal.
Unha vez descomprimido o ficheiro, crearase un directorio ao que debemos acceder e dende o que iniciaremos a configuración e compilación do programa.
Cando fas todo isto desde o terminal, os comandos a usar son:
tar xvzf package.tar.gz (ou tar xvjf package.tar.bz2) paquete cd ./configure make make install
Estes son os comandos que se deben seguir xeralmente, pero sería recomendable analizar cada un destes pasos con maior profundidade, para comprender completamente o que implican.
Paso 1: Descompresión
A extensión tar.gz ou tar.bz2 significa que o código fonte que descargou está comprimido nun ficheiro tar, tamén coñecido como tarball. Isto simplifica moito a difusión do código fonte xa que todos os ficheiros e cartafoles que o compoñen están empaquetados nun só ficheiro. Unha vez empaquetado, dentro do ficheiro tar, ese ficheiro comprímese usando o algoritmo gz ou bz2, dependendo do gusto do desenvolvedor.
Para descomprimir un ficheiro tar.gz, escribín:
tar xvzf package.tar.gz
No caso dun ficheiro tar.bz2:
tar xvjf package.tar.bz2
Na maioría dos casos crearase un cartafol dentro do directorio onde se atopa o ficheiro comprimido. O nome do cartafol será o mesmo que o ficheiro comprimido.
Paso 2 - Configuración
Unha vez que entrou no cartafol creado descomprimindo o ficheiro tar.gz ou tar.bz2 ...
cartafol cd
... É hora de configurar o paquete. Normalmente, pero non sempre (por iso é importante ler os ficheiros README e INSTALL), isto conséguese executando o script de configuración:
. / Configure
Cando execute este script, aínda non se instalará nada, só comprobará o sistema e asignará valores a algunhas variables dependentes do sistema. Estes valores úsanse para crear un Makefile. Pola súa banda, o Makefile úsase para crear o ficheiro binario que, ao final da historia, permitirá executar o programa.
Cando execute este comando verá que a pantalla enche unha chea de mensaxes un tanto crípticas. En caso de erro, aparecerá unha mensaxe; e se todo vai ben, podemos pasar ao seguinte paso. 🙂
Paso 3: construír o binario
É hora de construír o ficheiro binario, que non é máis que o executable do programa. Noutras palabras, este procedemento implica a transformación de ficheiros escritos nunha linguaxe de programación de alto nivel a ceros puros e uns, é dicir, a única linguaxe que o noso ordenador entende.
facer
Para que este comando teña éxito, o paso anterior debe ter sido correcto. Sen o Makefile, make fallará. É por iso que é tan importante que o script de configuración se execute correctamente.
Si, a pantalla encherase de mensaxes estrañas de novo e probablemente tardará un tempo en rematar. Isto dependerá do tamaño do programa e da velocidade do seu ordenador.
Paso 4: Instalación
Por suposto, xa temos o executable pero falta a súa instalación. Este paso debe facerse con privilexios de administrador.
sudo make install
Como neste hipotético caso non fixemos ningún cambio no ficheiro de configuración, o programa instalarase no cartafol predeterminado. En xeral, isto adoita ser / usr / local / bin xa que permite que dende calquera lado ao escribir o nome do programa este se execute (sen ter que introducir a ruta completa do programa).
Paso 5: execución
Non, non matamos a ninguén. É simplemente o paso culminante de todo o proceso de construción e instalación. Para executar o programa que tan minuciosamente convertemos nun binario, escribín:
./ nome do programa
Se o programa se instalou noutro cartafol, que non sexa / usr / local / bin, debes introducir a ruta completa do programa.
Limpeza do rancho
No caso de que teña moi, moi pouco espazo en disco, pode que queira eliminar todos os ficheiros creados durante o proceso de compilación binaria. Nese caso, accedín ao cartafol creado descomprimindo o ficheiro e escribín:
facer limpo
Nota: asegúrese de manter o seu Makefile. Este ficheiro será necesario cando desinstale o programa no futuro.
Desinstalar
O programa non era o que esperabamos e queremos borralo da cara do noso sistema. Como? O programa que acabo de instalar non aparece no Software Center ou Synaptic? E agora?
No caso de que non eliminase o seu Makefile, é posible desinstalar o programa facilmente. Escribín o seguinte comando dentro do cartafol creado ao descomprimir o ficheiro:
facer desinstalar
Se non tiveches sorte e a desinstalación non tivo éxito, non quedará máis remedio que eliminar os ficheiros a man. Unha auténtica dor de cabeza. Para saber onde se atopan estes ficheiros, pode botar unha ollada ao seu Makefile.
No caso de que eliminase o Makefile, o mellor é reinstalar o programa e logo facelo facer desinstalar, xa que isto rexenerará o Makefile. Non esqueza instalalo empregando as mesmas configuracións (neste caso ningunha) no . / Configure.
18 comentarios, deixa os teus
Bo tuto, moitas grazas, sempre que comezamos en Linux un dos principais problemas é como compilar, ben explicado, aínda que é recomendable ler o léame ou instala ...
Bo tuto, moitas grazas, sempre que comezamos en Linux un dos principais problemas é como compilar, ben explicado, aínda que é recomendable ler o léame ou instala ...
«Se non tiveches sorte e a desinstalación non tivo éxito, non haberá máis remedio que eliminar os ficheiros a man. Unha auténtica dor de cabeza »
É máis recomendable reinstalalo e logo "desinstalar" xa que teremos que xerar o Makefile. É importante instalalo empregando as mesmas configuracións (neste caso ningunha) en configure.
Agora, se non quere executalo poñendo o nome do programa pero crea un acceso directo ao escritorio ou que apareza no menú de aplicacións, como o fas?
Saúdos!
Bo titorial. Agora ata eu podo compilar.
Creo que o segundo paso sería ler o readme (RTFR xD) e é o máis fundamental de todos, xa que moitos programas teñen dependencias que debes cumprir na instalación ou é necesario algún paso adicional ou tamén é bo que leino porque ofrece boas opcións para a marca que nos poden interesar.
Saúdos!
Completamente! É por iso que recomendo ler sempre LER e INSTALAR.
Tes razón. Iso, por se non tes o Makefile. Falaba do caso de que nin sequera tendo o Makefile non se podería desinstalar por outra razón.
De todos os xeitos, vou engadir o teu comentario á publicación, que creo que é moi pertinente e preciso.
Unha aperta e grazas por comentar! Paul.
Tudo bem Krafty! Ninguén se ofende. Escribín este post porque nunca cubrira o tema no blog. En fin, tomo nota dos temas que recomenda (algúns moi bos). Seguramente, escribirei sobre eles nun futuro non moi afastado.
Unha forte aperta e grazas por deixar os teus comentarios! Paul.
Non quero ser malvado, pero este tema xa foi discutido varias veces no que vai de ano.
Propoño algúns temas para que vexades que non deixo ningún comentario só para facer un bardo.
- Telefonía sobre IP
- Diferentes clientes de torrent (cal escoller).
- Creación de scripts desas cousas que temos repetidamente na consola.
- Elimina os módulos do núcleo para que inicialice Linux máis rápido ao arrincar.
Espero non ofender / molestar a ninguén
estupendo, estupendo para os que comezamos a soltarnos con Linux
Si. Xeralmente, detállanse no README. Se non, ao compilar aparecerá un erro e baseándonos no erro (que dirá que biblioteca falta) teremos que instalar a dependencia adecuada.
Unha aperta! Paul.
Krafty, está moi mal sen dúbida Onde viches un tutorial coma este, tan claro e explicativo? para min é excelente, salu2,
Moitas grazas pola guía! Axudoume a aclarar algunhas cousas 🙂
Por certo, un consello que me funcionou bastante ben para resolver o problema das dependencias é facer primeiro "sudo apt-get build-dep nome_programa"; Non sei se funciona en todas as distros, useino en Debian (Squeeze, onde recentemente compilei o MuseScore 1.2 para aliviar os repos arcaicos da rama estable ... ...
Imaxino que alguén máis informado poderá dar detalles máis 🙂
Saúdos!
Non debemos ter en conta as dependencias que precisa o programa antes de compilalo?
Teño pouco tempo empregando Linux, e esta é unha das miñas maiores dúbidas, isto será moi útil xa que non atopara ningunha publicación con este tema en particular.
ou coñeces algún?
Graciñas ..
xenial, non vira esta publicación, pero iso é debido a un erro de tipo 1 ou tipo 2
Non hai outro método?
Este método xa o usei con éxito. O problema é que hai moitos, moitos programas de código fonte que non usan este sistema, non temos o script de configuración. Gustaríame como compilalos.