¿Qué son .deb y .rpm y en qué se diferencian de .msi? [cerrado]

30

¿Cuáles son estos formatos de archivo y en qué se diferencian del .msiformato en Windows? ¿Cuáles son los pros y los contras de estos esquemas de gestión de paquetes?

agujeros de muerte
fuente
.deb y .rpm son más similares a .msi que a .exe.
Ignacio Vazquez-Abrams
nota: preguntar "cuáles son los pros y los contras de rpm vs deb / dpkg" en otras partes de Internet conlleva la posibilidad de incitar una guerra de llamas.
strugee

Respuestas:

40

Archivos como .deby .rpmson más parecidos a un .ziparchivo. Son un árbol de directorios de archivos y subdirectorios que contienen archivos relacionados con una aplicación y / o biblioteca de archivos en particular.

Distros

Los .debarchivos están destinados a distribuciones de Linux que se derivan de Debian (Ubuntu, Linux Mint, etc.). Los .rpmarchivos son utilizados principalmente por distribuciones que derivan de distribuciones basadas en Redhat (Fedora, CentOS, RHEL), así como por la distribución openSuSE.

¿Qué tienen de especial ellos?

Estos archivos tienen otro rasgo especial que los distingue de los .ziparchivos, ya que pueden incluir una especificación que contiene reglas que le indican al software del administrador de paquetes que se ejecuta en un sistema que está instalando uno de estos archivos que realice tareas adicionales. Estas tareas incluirían cosas como:

  • crear cuentas de usuario en el sistema
  • crear / modificar archivos de configuración que no están realmente contenidos en el archivo .debo.rpm
  • establecer propiedad / permisos en los archivos después de la instalación
  • ejecutar comandos como root en el sistema que está instalando el paquete
  • dependencias, ambos formatos pueden incluir nombres o paquetes y / o nombres de servicios que requieren estar presentes en un sistema, antes de la instalación.

¿Qué pasa con los archivos .msi?

.msilos archivos son similares a .deb& .rpmarchivos pero probablemente aún más sofisticados. El .msiinstalador de Windows utiliza los archivos y ofrece características adicionales como:

  • Marco GUI
  • generación de secuencias de desinstalación
  • Un marco dentro de sí mismo - para uso de instaladores de terceros
  • Rollbacks
  • Anuncio
  • Interfaz de usuario
  • etc.

Sugeriría echar un vistazo a las distintas páginas de Wikipedia sobre estos temas si desea una explicación más detallada.

Referencias

slm
fuente
Dado que la respuesta comienza con "Archivos como .deb y .rpm son más parecidos a un archivo .zip", vale la pena mencionar que los paquetes deb son en realidad ararchivos, y los rpms son (posiblemente en parte) archivos cpio. En el caso de debs, es fácil verificar que se pueda desempaquetar un deb ar -x. En el caso de rpm, no sé si esto es posible.
Faheem Mitha
@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj
@ninjalj: gracias, olvidé agregar ese comando. Lo he usado para descomprimir rpms cuando solo quería un archivo o dos de ellos. Por lo general, los archivos .spec.
slm
@ninjalj Gracias, no lo sabía.
Faheem Mitha
31

Las otras respuestas tocan cualidades de .deby .rpmque son similares a .msi. Todos contienen software en formato comprimido que puede hacer algunas cosas adicionales. Esas cosas adicionales ya mencionadas incluyen agregar usuarios, tareas previas y posteriores a la instalación, registrar el programa con el sistema (por ejemplo, registro de Windows, xdg-dirs, OpenRC / systemd init, etc.).

Lo que diferencia los formatos (y es un gran profesional) son las dependencias. Ambos .deby los .rpmarchivos pueden y enumeran nombres y versiones de otros programas que deben instalarse como software necesario. Por sí mismos, esto es solo informativo, pero ...

Por lo general, no lo hace directamente interactúan con .deby .rpmarchivos de la manera que se hace con .msilos archivos. De hecho, como se mencionó anteriormente, a .debes típicamente solo un archivo comprimido (ar o tar) comprimido con xz con los archivos contenidos en un diseño de directorio específico. En su lugar, utiliza herramientas como dpkgy rpmpara manipular estos archivos.

dpkge rpminstalará el contenido .deby los .rpmarchivos y verificará que todo el software requerido esté instalado. Ejecutar estos programas es similar a hacer clic en un .msiarchivo. Sin embargo, los usuarios no suelen interactuar con dpkgo, rpmsino que usan apt-gete yuminstalan paquetes. Estas herramientas no tienen análogos exactos en Windows.

Ambos apt-gety yumpueden recuperar archivos de repositorios remotos (o locales) y utilizar la información de dependencia almacenada en los archivos .deby .rpmpara recuperar e instalar cualquier requisito previo que no se cumpla. Con estas herramientas que no necesito saber o preocuparse por lo que otros necesitan un software que, sólo puede especificar apt-get install chromiumy saber que apt-getse asegurará de que he GTK +, alsa, ciertas bibliotecas de X, etc instalado sin tener que manualmente encontrar e instalar los .deby .rpmarchivos

apt-gety yumson los dos grandes gestores de paquetes, también encontrará emergey pacmanpor ahí, que hacen el mismo trabajo aunque con diferentes mecanismos subyacentes.

casey
fuente
77
+1 por hablar sobre la gestión de dependencias. Esto no debe pasarse por alto.
ldrumm
1
nota: creo que los .debs se empaquetan con la arutilidad. No tengo idea de por qué.
Strugee
1
Además, si va a contar emergecomo administrador de paquetes, quizás también debería considerar los puertos BSD (aunque no sé mucho sobre ellos, así que no estoy seguro de si tienen el equivalente de un administrador de paquetes en GNU / Linux)
Strugee
3
@strugee cierto, he editado para reflejar eso. También técnicamente, portage está detrás del motor de administración de paquetes emergey es muy similar a los puertos. Todo está basado en la fuente y es muy configurable, pero si un comando instalará / desinstalará, manejará dependencias y mantendrá una base de datos de paquetes instalados, lo llamaré administrador de paquetes. Buenos comentarios
Casey
@casey: ¿Dónde puedo obtener más información sobre los mecanismos subyacentes de dpkg y rpm?
deathholes
4

Tiene las mismas funcionalidades que un archivo MSI en Windows:

  • registra el software en un registro,
  • registra qué archivos se han instalado con ese paquete.

Bajo Linux, también gestionan dependencias entre otros paquetes.

Los formatos de gestión de este paquete hacen muchas otras cosas, pero estas son las principales funcionalidades.

Vinz
fuente
2

.rpmlos archivos son paquetes RPM, que se refieren al tipo de paquete utilizado por Red Hat y las distribuciones derivadas de Red Hat (por ejemplo, Fedora, RHEL, CentOS). .deblos archivos son paquetes DEB, que son el tipo de paquete utilizado por Debian y derivados de Debian (por ejemplo, Debian, Ubuntu).

Cuando se descargan, generalmente se instalan a través de los comandos rpmy dpkgrespectivamente en las distribuciones relevantes. En otras palabras, son archivos que se instalan por rpmy en dpkglugar de .msio .exearchivos de configuración que son ejecutables que se instalan ellos mismos.

Los paquetes RPM y DEB difieren de MSI en múltiples formas.

  • Como arriba, son archivos que requieren otras herramientas (es decir, rpmy dpkg) para instalar.
  • Cuando se instalan, se agregan a una base de datos, que no es el caso en los archivos MSI. Los archivos MSI enumeran el programa en el registro, pero es poco probable que una desinstalación realizada por el Panel de control elimine por completo todos los archivos instalados del disco. Por lo tanto, cuando se desinstalan los paquetes RPM y DEB, todos los archivos se eliminan limpiamente.
  • Por lo general, no se descargan e instalan directamente, sino a través de administradores de paquetes como yumy aptituderespectivamente: existen los denominados repositorios que ofrecen paquetes compilados para el sistema relevante, y el administrador de paquetes instalará automáticamente todas las dependencias de los datos en los repositorios.
  • Los paquetes instalados generalmente ejecutan varias herramientas de configuración, por ejemplo, si instala GDM en un sistema ya instalado con LightDM, las herramientas le preguntarán si prefiere usar GDM de LightDM.
  • Al instalar paquetes, aparte de las dependencias, se sugieren algunos paquetes, que muestran paquetes no necesarios pero que pueden ser útiles para el usuario.
Davidson Chua
fuente
1

Tanto .deby .rpmpaquetes de software para Linux Distribuciones GNU /, que contienen software (programa (s), aplicaciones (s), etc.) e información para el "instalador * *" El software sobre el propio software y las instrucciones sobre cómo instalar qué y dónde correctamente.

  • .debPaquete de software Debian , en distribuciones Debian (basadas). Instalado a través de eg apt/ aptitude(línea de comando), o gráficamente a través de, por ejemplo, " Synaptic ", " Centro de software de Ubuntu ", " Gdebi ", ...
  • .rpmAdministrador de paquetes de Red Hat : en distribuciones de Linux Fedora / Red Hat (basadas). Instalado a través de, por ejemplo, yum(línea de comando), o gráficamente a través de, por ejemplo, " yumex "
  • .msies → Microsoft Installer : muy similar al anterior, para el sistema operativo Microsoft Windows

Los propios instaladores también pueden encargarse del mantenimiento, actualización y / o eliminación de paquetes. Además: aquí, " instalador " significa el software para realizar estas tareas correctamente; también proporciona la información mencionada para el propio usuario, por supuesto, para realizar dichas tareas manualmente.

erch
fuente
1
PackageKit no es una aplicación. Es una biblioteca de abstracción para los diferentes gestores de paquetes en todas las distribuciones.
Strugee
@strugee dang, pensé que ese era el nombre. Realmente espero que yumexsea ​​el nombre correcto ... gracias por la pista
erch
Creo que el valor predeterminado en Fedora es el software GNOME.
Strugee
@strugee Probé Fedora por un tiempo, usé LXDE y recordé un front-end gráfico para la administración de paquetes, pero el nombre era ... supongo, lo que funcione y se adapte mejor a
nuestros
1

.deb: Paquete Debian utilizado para distribuciones Linux basadas en Debian como Ubuntu, Linux Mint, etc.

.rpm: rpminstalador para distribuciones de Linux basadas en Red Hat como RHEL, Fedora y CentOS

.msi: Instalador binario para la plataforma Windows

Jeevan Roy Dsouza
fuente
bienvenido a Stack Exchange! Una explicación de por qué te han votado negativamente: no soy una de las dos personas que votaron negativamente, pero supongo que lo hicieron porque estás dando a entender que Debian y / o Ubuntu no son GNU / Linux, y eso es falso. son. (y hay muchas más distribuciones que solo Debian, Ubuntu y Fedora). Además, realmente no explicaste nada.
strugee
1
Actualización: editado para eliminar esa implicación
Davidson Chua
Supongo que los votos negativos son realmente para dar una descripción de una línea de lo que significa el archivo, no la explicación real de cómo estos paquetes son diferentes entre sí. Eche un vistazo a la respuesta seleccionada aquí, ese es el tipo de calidad que esperan de las respuestas :)
Munim