Crea paquetes rpm y deb desde cualquier distribución Linux!
La creación de paquetes o empaquetado puede ser fácil y divertido...
Una de las desventajas de usar alguna distribución es la carencia de paquetes, en estos casos lo mediato es que nos pongamos a compilar el codigo fuente del programa en question, algo no practico y sencillo para alguien que inicia en Linux, y otros factores que imposibiliten su compilación en la distribución destino. Para solventar estas carencias tenemos fpm Gestión de paquetes Effing! quien construye paquetes para múltiples plataformas (deb, rpm, etc) con gran facilidad y cordura.
Pero que mas claro que ver la presentación sobre que es realmente http://goo.gl/sWs3Z
2 ejemplos donde usted podría usar fpm
Ejemplo 1
Yo tenia un paquete que cree en rpm en Fedora, y quería instalarselo a una amiga en su Ubuntu, muchos dirían "usa alien" Alien no siempre hará las cosas bien, en Alien usted no puede crear un paquete digamos si tiene un pc de 64 bits (x86_64) a 32 bits (i386), aunque lo force.
Ejemplo 2
Encontré un programa que no existe en mi distribucion, y no se absolutamente nada sobre empaquetamiento o simplemente no tengo el tiempo para crear el paquete de forma normal.
Si usted se indentifica con cualquiera de los dos ejemplos, la solucion es muy sencilla.
¿Cómo instalo fpm?
Instalamos dependencias
Ubuntu
sudo apt-get -y install ruby-dev rpm
Fedora
su -c 'yum -y install ruby-devel binutils dpkg-devel rpm-build libffi'
Manjaro/Arch Linux
sudo pacman -S ruby libffi
yaourt -S ruby-fpm rpm-org dpkg
Instalamos fpm
Fedora
gem install fpmUbuntu
sudo gem install fpm
Manjaro
sudo yaourt -S ruby-fpm
USO
Tengo un rpm o deb
Desde una terminal
mkdir /tmp/installdir
cd /tmp/installdir
Extraemos nuestro rpm (caso sea .rpm)
Formato
rpm2cpio /path/to/file.rpm | cpio -i --make-directories
Suponiendo que tengo un rpm de App Inventor, appinventor-1.1-1.fc20.x86_64.rpm en mi directorio personal (HOME)
rpm2cpio $HOME/appinventor-1.1-1.fc20.x86_64.rpm | cpio -i --make-directories
Extraemos nuestro deb (caso sea .deb)
ar vx $HOME/appinventor-1.1_amd64.deb
tar -xzvf data.tar.gz && rm -f control.tar.gz data.tar.gz debian-binary
Creamos nuestro deb (caso querramos un deb)
Creamos nuestro rpm (caso querramos un rpm)
Explicación
Simplemente usted deberá cambiar los datos anteriores dependiendo su nombre, email, nombre del programa, versión, descripción del programa, etc. siempre respetando todas las comillas, y guiones.
La ruta al final "usr/google/appinventor/" debe ser cambiada dependiendo la estructura del paquete extraida en la ruta /tmp/installdir; si se observa el "usr" no inicia con "/" todas las rutas finales que incluyas deberán ir de esa manera.
Podemos crear también nuestro rpm o deb con las lineas de fpm anteriores, compilando código fuente siempre y cuando, creando como ruta de instalacion en "/tmp/installdir" no olvidando incluir toda dependencia para que corra el programa que por lo general seria la opcion -d
Ejemplos
-d 'java'
-d 'java >= 6'
-d 'java = 6'
Algo mas claro?, nada del otro mundo veamos el wiki cada opción de las lineas anteriores tienen su función descrita en el wiki y opciones mas avanzadas.
Referencias:
https://github.com/jordansissel/fpm
0 comentarios:
Publicar un comentario
Si comentas te pedimos por favor respeto y críticas constructivas referentes al título del articulo. Cualquier comentario para desviar el tema, spam o trolleo no será permitido. Gracias por comentar.