Your SlideShare is downloading. ×
Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Crea tus instaladores para linux (fedora, ubuntu, etc) sencillamente

5,119
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,119
On Slideshare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Crea tus instaladores para Linux (Fedora, Ubuntu, etc) sencillamente How to make a self-extracting installer for Linux (Fedora, Ubuntu and others) easily By David Va & Kuboode¿Buscas facilidad para crear un instalador en Linux?Esta entrada la tengo desde hace mucho en borrador, así que el día de hoy decidí terminarla ycompartirla con ustedes. Muchas veces tenemos nuestros propios scripts, o programillas que nonecesariamente se necesitan compilar o que funcione bajo gran cantidad dependencias, y en tal casonecesitamos un instalador que funcione en todas las distribuciones. ¿Porque gastar en alternativascomerciales como Bitrock? ¿Porque complicarnos la vida creando un .deb o un .rpm?Si alguien recuerda al famoso winrar, winzip de aquel sistema operativo privativo, para hacerprogramas autoextraibles déjeme contarle que en Linux podemos hacer algo similar y mejor sin utilizarsoftware privativo, un ejemplo claro el instalador autoextraible de Yakito.¿Porque no hacer un instalador autoextraible de nuestro ficherotar.gz con alguna gui?A esto me refiero que este sea descomprimido en un directorio temporal y un comando que seaejecutado (normalmente el propio script de instalación del paquete) para realizar la copia del programay sus partes a su respectivo destino. Si ha llegado a este articulo no es producto de la casualidad esprobable que usted se haya preguntado lo mismo o este decepcionado al no poder crear un instaladorsimilar.Conocimientos básicosVamos a los pasos: Creamos nuestro script con las instrucciones para copiar y pegar las partes denuestro programa o script, al directorio destino.Como nuestro instalador autoextraible usará un directorio temporal en donde los archivos seráneliminados despues de haber sido copiados a su destino. El mayor énfasis es en las instrucciones que sele darán.
  • 2. ¿Cómo crear nuestro autoinstalador?PASO 1Creamos nuestro script instalador, el que le da las instrucciones; lo que debe copiar y a donde, denuestro programa. Para ello podemos crearlo con gedit u otro editor de texto.Desde una terminal:gedit install.shHacemos un copy y paste de lo siguiente:Ojo. cuando vea "#" aquí le explico los pasos a seguir, puede dejarlos para no perderse.----------------------------------------------------------------------------------------------------------------------------#!/bin/bash# Un titulo de bienvenida podriamos ponerle para que sea más visual, para# ello utilizaremos zenity, yad etc .zenity --info --title="Mi programa" --text="Bienvenido la Instalacion de Mi programa"# Damos las instrucciones a nuestro programa; para copiar archivos,#directorios completos, este tambien incluye la imagen para el ícono, que#podria ser png o svg por sus capacidades de escalamiento no mayor de#128*128.#Si son directorios completos podemos utilizar una copia recursiva, ejemplo#cp -R angelica /usr/bin/ "Angelica es mi directorio no vacío que quiero copiar a la#ruta /usr/bin/"cp -f miprograma.sh /usr/bin/cp -f imagendemilanzador.svg /usr/share/icons/cp -R angelica /usr/bin/#Crear el lanzador, este paso es muy sencillo, podemos hacerlo con un simple "echo"#siguiendo la estructura de abajo reemplazando por nuestro programa.
  • 3. echo "[Desktop Entry]Version=1.0Type=ApplicationTerminal=falseName=Mi programaExec=/usr/local/bin/miprograma.shComment=para lo que sirva tu programa este se usara por defectoComment[es]= para lo que sirva tu programa este se usara si detecta españolIcon=/usr/share/icons/imagendemilanzador.svgCategories=GTK;Utility; " >> /usr/share/applications/Mi programa.desktop# Le damos permisos a todo lo que se quiere ejecutar de nuestro programa.chmod +rwxs /usr/bin/Mi programa.shchmod +x /usr/share/applications/Mi programa.desktop# Le avisamos al usuario que ya se instalo el programa. podríamos utilizar para que sea más visual,zenity, yad etc .zenity --info --title="Mi programa" --text="La Instalacion a finalizado correctamente"----------------------------------------------------------------------------------------------------------------------------PASO 2Agregamos a nuestro comprimidotar.gz el instalador del paso 1 ya seacon "File Roller" o similar; esrecomendable que nuestrocomprimido no tenga un directorioprincipal o sea que este el tar.gz ydentro solo contenga las partes denuestro programa y solamente situviera subdirectorios.
  • 4. PASO 3Creamos nuestro script Autoinstalador, puedes hacerlo con gedit u otro editor de texto.gedit autoinstalador.sh----------------------------------------------------------------------------------------------------------------------------#!/bin/shecho ""echo "AutoInstalador Mi programa 1"echo ""# Creamos un directorio temporal donde lo extraeremos, aquí no tocamos nada.export WRKDIR=`mktemp -d /tmp/selfextract.XXXXXX`#Cambiamos el nombre exacto de nuestro archivo comprimido tar.gz, que podemos ver en negrillaSKIP=`awk /^miprograma.tar.gz/ { print NR + 1; exit 0; } $0`tail -n +$SKIP $0 | tar xvz -C $WRKDIRPREV=`pwd`cd $WRKDIRsh install.shcd $PREVrm -rf $WRKDIRexit 0# volvemos agregar el nombre exacto de nuestro archivo comprimido tar.gzmiprograma.tar.gz----------------------------------------------------------------------------------------------------------------------------
  • 5. 4 PASOCreación del programa autoextraible, hemos llegado casi al paso final, ahora creamos el autoinstalador.Suponiendo que todo lo tienes en tu directorio personal home o haciendo cd /ruta/donde/esten,simplemente copiamos y pegamos lo siguiente.cat autoInstalador.sh miprograma.tar.gz > instalador.shOJO instalador.sh se le puede cambiar el nombre, este es archivo final convertido en binario.ULTIMO PASOLas pruebasPor lo general el problema se presenta en el paso 1, por mala programación de su creador, depende deusted.Si necesita permisos de root o administrativos para copiar o instalar o ejecutar, no olvide incluirlos alscript instalador.Si el autoinstalador necesita para su ejecución permisos de administrador o root simplementehaga lo siguiente:Fedora y similaressu -c sh instalador.shUbuntu y similaressudo sh instalador.shEste manual se encuentra bajo una Licencia Creative Commons Atribución-LicenciamientoRecíproco 3.0 Unported. Basada en una obra en kuboosoft.blogspot.com.