Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación) [ACLARADO]

Dudas y comentarios relacionadas con paquetes o programas específicos (obtención, uso, actualizaciones, versiones, problemas de instalación, etc.)

Moderadores: doc, Deckon

Responder
Avatar de Usuario
1antares1
Forista Menor
Forista Menor
Mensajes: 68
Registrado: Sab Ene 08, 2011 6:34 pm
Ubicación: Venezuela

Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación) [ACLARADO]

Mensaje por 1antares1 »

Imagen

Hola amigos de nuevo. Sonaré fastidioso de nuevo (seguro me recuerdan en la elección de distros - Debate jeje!) Pero es que tengo varias dudas (como siempre :D ), es en la parte de las diferencias estrictas entre paquetes .RPM´s y .DEB´s, también sobre la elección de .RPM como formato por defecto en la LSB (Linux Standard Base) y el "Como empaquetar" Y por que, ventajas y desventajas, así como procedimiento de ambos. (también hablamos ésto en el tema anterior - Cantidad de paquetes).

Pero voy a algo más específico, es que me interesó la parte de contribuir con el "Empaquetamiento" de aplicaciones. Es decir, compilar y empaquetar para hacerle la vida más fácil al usuario final. Tengo la intención de empaquetar y contribuir más aún a mi distro de preferencia y tengo algunas dudas.

Antier y Ayer estuve tratando de compilar y empaquetar: Docky, aMSN, AWN, Kmess, MOC y ME-TV. Aplicaciones ya empaquetadas para cualquier distribución, que no haría falta o sería innecesario empaquetarlo y subirlas (eran últimas versiones que aún en mi Maverick no estan, sino para Natty), pero lo hice fue para entrenar, para practicar y probar. Tuve problemas de librerias (dependencias), así como el Docky, donde me pedía librerias que no tenía en el repositorio y tuve que recurrir a la web, conseguía librerias en código de fuente que tenía aparte que compilalarlas, y versiones nuevas para Natty que eran incompatibles para mi versión y me volví un 8 compilando. Duré horas y horas tratando y no puedo o al menos, no conseguí "Empaquetarlo" como debiera, ya que quisiera empaquetar a .DEB´s pero un buen .DEB´s, específico, completo y que cumpla o busque todas sus dependencias respectivas. No un DebCreator o el CheckInstall (que no lo recomiendan para compartir aplicaciones en el Launchpad y sólo para uso personal).

Hablo de empaquetamiento completo y estable, así como las aplicaciones vienen en los repositorios, listos para instalar, cumpliendo sus dependencias, integrándose al menú y al sistema.

Pero leyendo éste artículo:
http://linuxmusica.com/prefiero-empaque ... ue-debian/



Y en parte, veo que tiene razón. Busqué tutoriales oficiales de Ubuntu en su web, y existen muchos métodos, muchos pasos, muchas carpetas crean y archivos, hay que hacer muchas modificaciones y el tipo de empaquetamiento no es el mismo para cada programador o empaquetador. Todos lo hacen de manera distinta, unos ni les interesa subir el método y en fin, duré 2 días tratando y no pude.

Dicen que .DEB es fácil de instalar. Es cierto, pero ¿El trabajo del empaquetamiento? ¿Será que todo el esfuerzo se lo llevó el empaquetador? Ya que el trabajo es bien crudo.

En Cambio, empaquetar .RPM´s, por lo visto es mucha más fácil y hasta menos confuso y rápido, donde sólo se necesita un RPMBUILD y un .SPEC. Por supuesto, sus librerias, pero es por ello que "Creo" que RPM necesita muchas dependencias por que al instalarlo, el trabajo final se lo lleva el usuario final, o al menos, es mi interpretación con respecto al empaquetamiento e instalación con respecto a .RPM y .DEB.

Quisiera comenzar a empaquetar aplicaciones que sólo ofrezcan el código de fuente, subirlo y mostrarlo al mundo y que los usuarios no se maten en compilar o que tengan ya listo las últimas aplicaciones a la mano.

Pero quisiera saber sus opiniones y si han pasado por ésta experiencia o conocen del tema (me imagino que si! jeje!). Y saber que saben ::lol:: con respecto a los paquetes .RPM y .DEBS. Sus ventajas y desventajas. Uso de cada 1, facilidad y dificultades. Tipo de empaquetamiento y por que en Debian es dificil y existen tantos métodos para empaquetar? :oops:

¿Por que .RPM no se utiliza como formato estandar? Ya es más general éste formato y universal. No se, RedHat y SUSE lo utilizan. Bueno, ésto se hace ya relativo y personal.

Espero sus aclaraciones, respuestas y consejos y estaré agradecido ;).

Saludos!
Última edición por 1antares1 el Mié Mar 30, 2011 6:17 am, editado 1 vez en total.
30 de Marzo 2008 - [Gabi & José] |Numeoli

Sólo hay 2 clases de personas. Las que piensan que hay 2 clases de personas y las que no.

Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación)

Mensaje por niky45 »

la "gran" diferencia, es que no puedes instalar un paquete rmp en una distro deb y viceversa. mas alla de eso.... son soluciones diferentes. en linux siempre te vas a encontrar con varias alternativas para cada cosa, y la gestio de software no iba a ser una excepcion.

en cuanto a como construir un paquete deb, por google hay bastante informacion (hace poco estuve buscando), y si es a partir de un paquete fuente, no me parecio dificil hacerlo. (mi problema es que lo que queria meter son scripts... :? )

te dejo unos enlaces:
http://www.google.es/url?sa=t&source=we ... WIcUpWwANQ

http://www.google.es/url?sa=t&source=we ... M7sBb0uvGg

http://www.google.es/url?sa=t&source=we ... TFtWHm8C0w
:D
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]

Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación)

Mensaje por hmg79 »

RPM es menos potente en comparación a Deb, el tema es que vos tenes que empaquetar para la distribución que usas, no podes porque no te resulta facil, agarrar y empaquetar para otra distribución.-
Es decir si usas ubuntu, tenes que empaquetar en deb, si usas derivados de redhat empaquetar en rpm.-

Veo que te falta un pequeño tema y es entender el concepto de repositorio, un repositorio a groso modo es un almacen en donde se encuentran todas las aplicaciones que fueron empaquetadas para tu distribución, cuando vos generas un paquete definis los paquetes que son necesarios para tu aplicación, si los paquetes que son necesarios no se encuentran en los repositorios el sistema no va a poder hacer nada, ya que no se encuentran en los repositorios, lo que tenes que hacer en esos casos es crear vos tu propios repositorio, donde vas a tener que colocar todas las dependencias necesarias, y eso se da tanto en RPM o DEB.-

En debian se empaqueta siguiendo la debian polices, y es una sola forma de hacerlo.-

Avatar de Usuario
1antares1
Forista Menor
Forista Menor
Mensajes: 68
Registrado: Sab Ene 08, 2011 6:34 pm
Ubicación: Venezuela

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación)

Mensaje por 1antares1 »

niky45 Gracias por los tutoriales, y ya había buscado otros también, y como explica el creador del artículo:

Código: Seleccionar todo

Debian tiene no se cuántos métodos diferentes de empaquetación: pbuilder, cdbs, dpkg, etc… y ninguno de ellos viene con un tutorial claro de cómo empaquetar programas multipaquetes, los empaquetadores oficiales de Debian y Ubuntu no dan instrucciones sobre ello claras y concisas, es como que no quieren hacerlo. 

Código: Seleccionar todo

Otra cosa que no me gusta, es que cada empaquetador se saca su propia forma de empaquetar dentero de un mismo método, con lo que todo se convierte en un caos tremebundo.
Y los tutoriales que me otorgaste, me confunden más :neutral: Otros métodos, existiendo CheckInstall, DPKG, Pbuilder, dh_....

Mientras que .RPM

Código: Seleccionar todo

La estructura de los directorios para empaquetar RPMS es mucho más clara. tenemos más directorios, sí, pero cada uno cumple su función, swólo se crean una vez y tú sólo pones a manos las fuentes en SOURCES y el .spec en SPECS, todo lo demás se encarga el rpmbuild de hacerlo siguiendo las órdenes del .spec. En Debian debes crear multitud de ficheros (e incluso directorios) a mano. Sirva de ejemplo que al empaquetar Octave 3.2.4 al estilo Debian llevo casi 100 ficheros creados y 2 directorios más. Con RPM sólo me ha hecho falta un fichero .spec, 2 parches y el icono del lanzador. Octave 3.2.4 ya hace días que esta empaquetado en rpm para Mandriva, con Ubuntu llevo dos días y no sale del caos que hay montado por seguir el método Debian de un empaquetador oficial de Debian.
=P~

hmg79

Podrías explicarme detalladamente, por que RPM es menos potente que los .DEBS? En que basas esa potencia? ¿Rapidez, dependencias?

Y claro, sólo estaba probando empaquetar .DEB por que utilizo Ubuntu/Kubuntu actualmente. Es por ello que no he ido a la práctica con los .RPM, sólo quería informarme antes y ver alguna de sus experiencias o consejos. Así como su punto de vista sobre el distinto tipo de paquete.

He escuchado que DEB es más fácil que instalar que RPM, ya que RPM fue hecho para servidores, donde no a cada momento instalamos. Cosa que en Ubuntu/Debian, a cada momento estamos instalando y desinstalando .DEB's. Pero en potencia, no veo diferencia. Sólo rapidez en .DEB y que las dependencias (al menos en el openSUSE que probé hace ya meses), eran fenomenales..... 150mb para instalar Wine, unos 60mb para instalar emesene, muchísimas dependencias y apenas en su repositorio contamos con 22000 paquetes, que no le llega a los 37000 de Ubuntu, puesto que de los 22000 la mitad deben ser dependencas, puesto que en los 37000 me imagino que como son pocas dependencias, hay muchísimo más aplicaciones y traducciones.

Al menos, bajo mi criterio, saco éstas pequeñas conclusiones, se que puedo estar equivocado y con expertos y gurús como ustedes, se que puedo contar para que aclaren mis dudas, me otorguen consejos y me den una respectiva descripción específica del por que RPM según es menos potente que los .DEBS.

¿Alguien que haya utilizado Distros RPM's, podría explicarme? Estaré agradecido con perder su tiempo conmigo :D Es que quiero empezar a colaborar para empaquetar para una Distro en específica, ya que no poseo mucho tiempo por estudios :| Saludos!
30 de Marzo 2008 - [Gabi & José] |Numeoli

Sólo hay 2 clases de personas. Las que piensan que hay 2 clases de personas y las que no.

Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación)

Mensaje por niky45 »

Podrías explicarme detalladamente, por que RPM es menos potente que los .DEBS? En que basas esa potencia? ¿Rapidez, dependencias?
resumo basandome en la experiencia (aka, puede que esto no tenga NIGUN sentido. que me corrijan los que lo conzocan mas. ::lol:: )

a) el manejador de .deb es unico (dpkg, lo demas son frontends), de rpm tienes uno para cada distro.

b) para dpkg tienes un kilo de forntends, cada cual lo hace mas potente que el anterior: dede apt, hasta aptitude. sin contar los frontends para los frontends... cynaptig y demas manejadore de paquetes graficos se basan, en su mayoria, en apt. para rpm... tiene varios, y algun frontend para alguno de ellos, pero... "poca cosa". (supongo que por el hecho de que el de cada distro sea unico)

c) la gestion de depedencias de urpmi en concreto, la ultima vez que lo probe (mandriva '06, supongo que la cosa habra mejorado bastante), era... digamos que no la mejor. vale, la de apt es mejorable, pero.. para que leches esta aptitude?? (por mucho que caconical no se de cuenta :P)

d) los rpm, por lo general, son dependientes de la distro (hablo de los que hay en los repos: tu no puedes coger un paquete de suse y llevartelo a mandriva. vale, puede que funcione.... pero tal vez no). los .deb, funcionan en cualquier distro deb. (tema dependencias aparte).

e) en general, en cuanto a potencia, se habla de dos cosas: cantidad de paquetes y gestion de dependencias. y como ves, todo eso esta orientado a los repositorios, no a paqueteria extra. sin embargo, si, tanto en cantidad como en gestion de dependencias, aptitude le da mil vueltas a cualquier manejador rpm. *nota offtopic: creo que este es el unico argumento que realmente tiene algun sentido. :P

pero de todas formas no le veo mucho sentido a esto. digo... si vas a distribnuir para una distro deb, TIENES que empaquetar en deb. si es una distro rpm, TIENES que empaquetar en rpm. y si es gentoo, tendras que crear el ebuild (se llaman asi??). dependes del target. asi que la discusion de uno u otro, queda fura de lugar....
:)
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]

Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1816
Registrado: Dom Oct 10, 2004 7:00 am

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación)

Mensaje por neurus »

Estas discusiones bizantinas son muy, muy aburridas. La diferencia entre rpm y deb, es que uno es rpm, y el otro deb.

Eso del trabajo del desarrollador es desopilante. El desarrollador ha de haber construido un archivo configure, puesto que es de suponer que tiene fuentes compilables. Se para en ese directorio, ejecuta debuild -us -uc, y ya tiene un paquete.deb que puede distribuir.

En cuanto al archivo control que se debe crear antes de empaquetar un programa, está relacionado con los datos necesarios para el mantenimiento de la distro: son necesarios unos pocos datos sobre arquitectura, versión, mantenedor del paquete. Una vez construido ese archivo, es cuestión de ejecutar dpkg-deb -b paquete.version, y se crea el deb. Es decir: lo que muestras como un inmenso trabajo extra del pobrecito desarrollador, es un archivo con cuatro líneas llamado control.

Pero aunque fuera cierto (que no lo es) que es más fácil para el usuario porque el desarrollador ha hecho todo el trabajo, ese pensamiento evidencia un criterio muy pobre. Para eso, no desarrolles, que es menos trabajo todavía. Y deja que los usuarios piquen unos y ceros por su cuenta.

Las diferencias son históricas. Deb manejaba dependencias desde el principio, puesto que fue pensado con el sistema de ports de BSD en mente. Los paquetes rpm, hasta que Red Hat y Mandrake lograron construir un sistema de repositorios (allá por el 2000, más o menos) eran un infierno, tanto para empaquetar como para instalar. Actualmente, en la práctica no hay mayor diferencia que la que hay entre dos sistemas distintos de compresión.

Lo que estás preguntando es similar a que, en un universo en que cada sistema operativo pueda tener un (y sólo un) formato de descompresión, preguntaras si es mejor usar bz o gz. Y la respuesta será: depende de con qué cuentes para descomprimirlo después.

¿Que por qué no se usa RPM como formato estandar? Por la misma razón por la cual no se usa .deb como formato estandar. Y plantear que es un estandar de hecho, porque las distros rpm usan rpm... bueno, hay vicios de pensamiento que son tan incorregibles como irrefutables.

Avatar de Usuario
1antares1
Forista Menor
Forista Menor
Mensajes: 68
Registrado: Sab Ene 08, 2011 6:34 pm
Ubicación: Venezuela

Re: Diferencias entre .RPM y .DEB (Empaquetamiento e Instalación) [ACLARADO]

Mensaje por 1antares1 »

Excelentes respuestas. Más de la que esperaba (aunque por eso pregunté - Para esperar algo que no sabía :D ).

Agradecido por su ayuda en aclarar mis dudas, sobre todo Niky y neurus (siempre con aquel síntoma de ironía y siempre anda enojado jaja! Broma).... Jeje! Me agradaron las aclaraciones. Mi estimado afecto. Saludos!
30 de Marzo 2008 - [Gabi & José] |Numeoli

Sólo hay 2 clases de personas. Las que piensan que hay 2 clases de personas y las que no.

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje