(→Variables de Entorno Aceptadas por Alien (nivel avanzado)) |
m (Reordeno secciones) |
||
| (No se muestran 13 ediciones intermedias realizadas por 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
| − | |||
| − | |||
'''Alien''' es un script en Perl que nos permite convertir entre diferentes [[Formatos_de_paquetes | formatos de paquetes]] binarios de GNU/Linux, pudiendo pasar entre sí cualquiera de estos formatos: | '''Alien''' es un script en Perl que nos permite convertir entre diferentes [[Formatos_de_paquetes | formatos de paquetes]] binarios de GNU/Linux, pudiendo pasar entre sí cualquiera de estos formatos: | ||
| Línea 24: | Línea 22: | ||
== Instalación de Alien == | == Instalación de Alien == | ||
| + | |||
| + | Antes de instalar alien debemos [[Repositorios#Administraci.C3.B3n_de_repositorios|activar los repositorios Universe y Multiverse]]. | ||
Podemos instalar Alien a través de terminal (apt-get o aptitude) o del gestor de paquetes [[Synaptic]] de Ubuntu o [[Adept]] de Kubuntu. De este modo no tendremos que preocuparnos por dependencias. | Podemos instalar Alien a través de terminal (apt-get o aptitude) o del gestor de paquetes [[Synaptic]] de Ubuntu o [[Adept]] de Kubuntu. De este modo no tendremos que preocuparnos por dependencias. | ||
| Línea 60: | Línea 60: | ||
:* lsb-rpm | :* lsb-rpm | ||
:* lintian | :* lintian | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| Línea 230: | Línea 181: | ||
* '''-V, --version''': Se muestra el número de versión de alien. | * '''-V, --version''': Se muestra el número de versión de alien. | ||
| + | |||
| + | |||
| + | {{nota|Estos modificadores pueden ir concatenados de distintas formas. Por ejemplo: | ||
| + | |||
| + | alien -v -d -c paquete.rpm | ||
| + | |||
| + | es lo mismo que: | ||
| + | |||
| + | alien -vdc paquete.rpm}} | ||
| + | |||
| + | |||
| + | |||
| + | == Notas sobre el Formato de Paquetes (nivel avanzado) == | ||
| + | |||
| + | En cuanto al formato de paquetes, para aquellos que quieran saber más de las interioridades (librerías, requisitos, dependencias,...) de este script, podemos añadir lo siguiente. Para un usuario estándar esta información no es precisa, ya que instalando por cualquiera de los métodos mencionados anteriormente ya queda alien perfectamente funcional. | ||
| + | |||
| + | |||
| + | === Paquetes RPM === | ||
| + | |||
| + | Para convertir a .rpm o desde .rpm a otro formato será imprescindible instalar el Gestor de Paquetes RedHat. | ||
| + | |||
| + | |||
| + | === Paquetes LSB === | ||
| + | |||
| + | A diferencia de con los otros formatos de paquete, alien puede gestionar las dependencias de los paquetes .lsb si el formato de paquete destino soporta dependencias. Hay que considerar que esto significa que el paquete generado a partir de un paquete .lsb dependerá de un paquete denominado "lsb", por lo que nuestra distribución debe proporcionar un paquete con ese nombre (si es una distribución LSB Compliant). Los scripts en ese paquete .lsb serán convertidos también por defecto. | ||
| + | |||
| + | Para generar paquetes .lsb debe estar instalado el Gestor de paquetes Red Hat, y alien usará preferentemente el programa '''lsb-rpm''' si éste está en nuestros sistema. No hay garantías de que los paquetes .lsb generados sean completamente LSB compliant. De hecho, es bastante improbable que lo sean a no ser que los generemos en un entorno ''lsbdev''. | ||
| + | |||
| + | Nótese que a diferencia de otros formatos de paquetes, connvertir un paquete LSB a otro formato no provocará el cambio de su número de versión. | ||
| + | |||
| + | |||
| + | |||
| + | === Paquetes DEB === | ||
| + | |||
| + | Para convertir a (pero no desde) formato .deb, deben instalarse los paquetes: | ||
| + | |||
| + | * gcc | ||
| + | * make | ||
| + | * deb‐helper | ||
| + | * dpkg-dev | ||
| + | * dpkg | ||
| + | |||
| + | |||
| + | |||
| + | === Paquetes TGZ === | ||
| + | |||
| + | Nótese que cuando convertimos desde un formato tgz, alien generará simplemente un paquete que contendrá los mismos archivos que los que existen en el archivo .tgz. El paquete generado solamente funcionará correctamente si el archivo tgz tenía binarios precompilados en él en un árbol de directorios estándar de GNU/Linux. | ||
| + | |||
| + | |||
| + | {{nota | '''No debe ejecutarse''' alien en archivos .tar con código fuente en ellos, a menos que queramos que ese código fuente instalado en nuestro directorio /root cuando instalemos el paquete.}} | ||
| + | |||
| + | |||
| + | |||
| + | === Paquetes PKG === | ||
| + | |||
| + | Para manipular paquetes en formato pkg de Solaris (que es en realidad el formato de paquete SV datastream), necesitaremos las herramientas de Solaris: | ||
| + | |||
| + | * pkginfo | ||
| + | * pkgtrans | ||
| Línea 242: | Línea 252: | ||
* '''EMAIL''': Si se determina, alien asume que éste es nuestra dirección e-mail. Las direcciones de e-mail están incluidas en paquetes debian generados. | * '''EMAIL''': Si se determina, alien asume que éste es nuestra dirección e-mail. Las direcciones de e-mail están incluidas en paquetes debian generados. | ||
| + | |||
| + | |||
| + | |||
| + | == Posibles Problemas == | ||
| + | |||
| + | A la hora de realizar una conversión de un formato de paquete a otro puede aparecer el siguiente mensaje de error: | ||
| + | |||
| + | Warning: Skipping conversion of scripts in package paqueteaconvertir: nombredescript | ||
| + | Warning: Use the --scripts parameter to include the scripts. | ||
| + | |||
| + | Este mensaje de error nos indica que el paquete binario "paqueteaconvertir" que intentamos convertir contiene scripts (en concreto el script "nombredescript") y nos recomienda que usemos la opción "--scripts" (leer más arriba en el apartado "Opciones de Alien") a la hora de hacer la conversión. | ||
| + | |||
| + | De este modo, en el caso de que trataramos de convertir un paquete .rpm a .deb y que nos mostrara este mensaje por pantalla deberíamos poner: | ||
| + | |||
| + | alien -d --scripts paqueteaconvertir.rpm | ||
| + | |||
| + | Y nos generará el .deb correctamente. | ||
| + | |||
| + | |||
== Notas == | == Notas == | ||
| Línea 265: | Línea 294: | ||
== Licencia == | == Licencia == | ||
| − | Alien puede ser copiado y modificado bajo los términos de la [http://es.wikipedia.org/wiki/Gnu Licencia General Pública GNU]. | + | Alien puede ser copiado y modificado bajo los términos de la [http://es.wikipedia.org/wiki/Gnu Licencia General Pública GNU]. |
| Línea 274: | Línea 303: | ||
* [http://bulma.net/body.phtml?nIdNoticia=1186 Alien: Conversor de paquetes deb, rpm, tgz y slp en linux.] (en español) | * [http://bulma.net/body.phtml?nIdNoticia=1186 Alien: Conversor de paquetes deb, rpm, tgz y slp en linux.] (en español) | ||
* [http://kitenet.net/~joey/code/alien/ Página del Proyecto Alien] (en inglés) | * [http://kitenet.net/~joey/code/alien/ Página del Proyecto Alien] (en inglés) | ||
| + | |||
| + | [[Categoría:Instalar aplicaciones]] | ||
Alien es un script en Perl que nos permite convertir entre diferentes formatos de paquetes binarios de GNU/Linux, pudiendo pasar entre sí cualquiera de estos formatos:
Usando alien podemos por tanto, convertir por ejemplo paquetes precompilados de debian (debian, esware, etc…) a .rpm’s (Red Hat, Conectiva, Mandrake, SuSE,…), o paquetes .rpm a .tgz (muy sencillos de descomprimir), de una forma sencilla, rápida y muy cómoda. También soporta paquetes LSB.
Alien no debería ser empleado para sustituir paquetes de sistema importantes como init, libc u otros que sean esenciales para el funcionamiento de nuestro sistema. Muchos de estos paquetes están configurados de forma distinta por las diferentes distribuciones existentes y no son intercambiables.
En general, si no podemos desinstalar/eliminar un paquete determinado de nuestro sistema sin romper la estabilidad del mismo, no debemos intentar cambiarlo con una versión convertida a través de alien.
Antes de instalar alien debemos activar los repositorios Universe y Multiverse.
Podemos instalar Alien a través de terminal (apt-get o aptitude) o del gestor de paquetes Synaptic de Ubuntu o Adept de Kubuntu. De este modo no tendremos que preocuparnos por dependencias.
Para instalarlo desde uno de los gestores de paquetes gráficos (Synaptic o Adept), sólo hay que buscar el paquete e indicarle "instalar".
Para instalarlo a través de un terminal podemos hacerlo mediante apt-get:
sudo apt-get install alien
o mediante aptitude:
sudo aptitude install alien
Como se ha mencionado más arriba, la instalación de alien mediante un gestor de paquetes como aptitude o apt-get soluciona cualquier problema de dependencias.
A pesar de ello, para aquellos que quieran saber los requerimientos de alien (en caso de quere instalar una versión que no esté en los repositorios, etc.) para realizar una instalación "a pelo", es recomendable asegurarse de éstos en la página de alien.
A fecha de hoy, aunque en la página web de alien ya está disponible la versión 8.69, la versión en los repositorios de Ubuntu Feisty Fawn (7.04) es la 8.65. Sus requerimientos son:
El uso que le vamos a dar a Alien va a ser principalmente para:
En este caso no queremos instalarlo, si no sólo convertirlo para ponerlo a disposición de la comunidad o por otros motivos. Para ello debemos usar una de las siguientes opciones:
alien --to-deb package.rpm ----> Convertimos el paquete "package.rpm" a formato deb en el paquete "package.deb"
alien --to-rpm package.deb ----> Convertimos el paquete "package.deb" a formato rpm en el paquete "package.rpm"
Incluso podemos hacer conversiones múltiples:
alien --to-deb --to-rpm --to-tgz --to-slp foo.deb bar.rpm baz.tgz
En este caso creamos 9 paquetes nuevos. Cuando finaliza el proceso, foo.deb, bar.rpm y baz.tgz estarán disponibles en los 4 formatos de paquete: .deb, .rpm, .tgz y .slp.
Para hacer esto podemos convertir primero el paquete al formato binario que deseemos y luego instalarlo con el gestor de paquetes binarios propios de nuestra distribución. En Ubuntu sería un paquete .deb que instalaríamos a través de terminal con dpkg o gráficamente con Gdebi.
Si por el contrario queremos convertir el paquete e instalarlo directamente, tendríamos que abrir una terminal y escribir:
alien -i package.rpm
Este comando convertirá a package.rpm a package.deb (en el caso de Ubuntu el propio alien ya detecta que se ha de hacer una conversión a .deb, por lo que no es preciso especificar la opción "--to-deb". En otra distribución haría la propio) e instalará el paquete generado directamete.
Las opciones son lo que dan funcionalidad y potencia al script. A pesar de ello, si no ponemos opciones, Alien convertirá de forma predeterminada cualquier paquete que le presentemos a formato .deb.
En caso de usar opciones, el formato de uso será:
alien [options] file [...]
Las opciones posibles son:
Además, esta opción permite emplear las siguientes funciones:
Además, esta opción permite emplear la siguiente función:
Estos modificadores pueden ir concatenados de distintas formas. Por ejemplo:
alien -v -d -c paquete.rpm es lo mismo que: alien -vdc paquete.rpm |
En cuanto al formato de paquetes, para aquellos que quieran saber más de las interioridades (librerías, requisitos, dependencias,...) de este script, podemos añadir lo siguiente. Para un usuario estándar esta información no es precisa, ya que instalando por cualquiera de los métodos mencionados anteriormente ya queda alien perfectamente funcional.
Para convertir a .rpm o desde .rpm a otro formato será imprescindible instalar el Gestor de Paquetes RedHat.
A diferencia de con los otros formatos de paquete, alien puede gestionar las dependencias de los paquetes .lsb si el formato de paquete destino soporta dependencias. Hay que considerar que esto significa que el paquete generado a partir de un paquete .lsb dependerá de un paquete denominado "lsb", por lo que nuestra distribución debe proporcionar un paquete con ese nombre (si es una distribución LSB Compliant). Los scripts en ese paquete .lsb serán convertidos también por defecto.
Para generar paquetes .lsb debe estar instalado el Gestor de paquetes Red Hat, y alien usará preferentemente el programa lsb-rpm si éste está en nuestros sistema. No hay garantías de que los paquetes .lsb generados sean completamente LSB compliant. De hecho, es bastante improbable que lo sean a no ser que los generemos en un entorno lsbdev.
Nótese que a diferencia de otros formatos de paquetes, connvertir un paquete LSB a otro formato no provocará el cambio de su número de versión.
Para convertir a (pero no desde) formato .deb, deben instalarse los paquetes:
Nótese que cuando convertimos desde un formato tgz, alien generará simplemente un paquete que contendrá los mismos archivos que los que existen en el archivo .tgz. El paquete generado solamente funcionará correctamente si el archivo tgz tenía binarios precompilados en él en un árbol de directorios estándar de GNU/Linux.
| No debe ejecutarse alien en archivos .tar con código fuente en ellos, a menos que queramos que ese código fuente instalado en nuestro directorio /root cuando instalemos el paquete. |
Para manipular paquetes en formato pkg de Solaris (que es en realidad el formato de paquete SV datastream), necesitaremos las herramientas de Solaris:
Alien reconoce las siguientes variables de entorno:
A la hora de realizar una conversión de un formato de paquete a otro puede aparecer el siguiente mensaje de error:
Warning: Skipping conversion of scripts in package paqueteaconvertir: nombredescript Warning: Use the --scripts parameter to include the scripts.
Este mensaje de error nos indica que el paquete binario "paqueteaconvertir" que intentamos convertir contiene scripts (en concreto el script "nombredescript") y nos recomienda que usemos la opción "--scripts" (leer más arriba en el apartado "Opciones de Alien") a la hora de hacer la conversión.
De este modo, en el caso de que trataramos de convertir un paquete .rpm a .deb y que nos mostrara este mensaje por pantalla deberíamos poner:
alien -d --scripts paqueteaconvertir.rpm
Y nos generará el .deb correctamente.
Alien puede ser copiado y modificado bajo los términos de la Licencia General Pública GNU.