Diferencia entre archivos .deb y archivos .run


10

¿Cuál es la diferencia entre crear archivos .deb e instalarlos y simplemente ejecutar un archivo .run ?


1
¿Tienes en mente ejemplos particulares?
slm

Respuestas:


8

.deblos archivos son paquetes para dpkg , el administrador de paquetes Debian de bajo nivel (que APT y sus parientes invocan bajo el capó). Un .debarchivo es un paquete para Debian o para un derivado como Ubuntu o Mint.

Los paquetes Debian contienen los archivos que pertenecen al paquete, así como un "archivo de control" que describe las dependencias del paquete y otra metainformación, y los scripts de instalación que se ejecutan cuando el paquete se instala, actualiza o desinstala.

Puede mirar el contenido de un .debarchivo con dpkg -cy dpkg -I. Si no tiene dpkg, puede usar ar t foo.debpara enumerar las partes de un .debarchivo y ar x foo.deb control.tar.gzextraer la control.tar.gzparte (y de manera similar para otras partes).

Red Hat (y parientes como CentOS y Fedora), SuSE y otros usan rpm , un formato diferente con características similares. Hay otros en otros sistemas unix.

.runNo es una extensión estándar. Un .runarchivo es presumiblemente algo que puede ejecutar. Puede instalar un programa o hacer algo completamente diferente.


8

En general, un archivo .deb es similar a un archivo zip, que contiene archivos junto con scripts cortos que pueden ejecutarse después de la instalación para agregar usuarios, grupos, etc. al sistema después de la instalación.

Un archivo .run suele ser un ejecutable binario único o un script de shell que contiene un blob binario que se puede instalar. Si es la variedad de script de shell, a menudo contendrá un blob binario que a menudo es sinónimo de un archivo zip recursivo o un archivo tar. En otras palabras, contendrá estructuras de directorios de archivos.

Otras veces, este tipo de archivo .run simplemente contendrá archivos .deb o .rpm que se descargarán en el disco y pueden instalarse individualmente, o el script que los contenía, los volcará en el disco y luego intentará para instalarlos utilizando el software del administrador de paquetes de su sistema.

Un ejemplo de esto sería si descarga Java JDK de Oracle. Es típicamente un único archivo ejecutable que, al ejecutarse volcará los archivos .deb o .rpm a cabo en el disco, y luego instalarlos usando the package management tools: dpkg, apt, yum, o rpm.

Ejemplo

Aquí hay un ejemplo de cómo se vería la descarga / instalación con uno de estos archivos .run. La extensión es .bin, pero esto es simplemente cosmético, la extensión no tiene realmente otra relevancia que ayudar a los usuarios a distinguir entre los diferentes tipos de archivos.

$ wget http://www.java.net/download/jdk7/archive/b125/binaries/jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
$ ./jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin

Aquí el archivo anterior descargará los paquetes para los diversos componentes que componen el JDK, después de lo cual puede instalarlos todos o solo los que necesite.

Hacerlo de esta manera permite hacer cosas adicionales más allá de solo instalar un paquete. Por ejemplo, Oracle tiene un acuerdo de licencia que quieren que acepte:

10.5 Este Acuerdo es el acuerdo completo de las partes relacionado con su tema. Reemplaza todas las comunicaciones, propuestas, condiciones, representaciones y garantías orales o escritas anteriores o contemporáneas y prevalece sobre cualquier término conflictivo o adicional de cualquier cotización, orden, reconocimiento u otra comunicación entre las partes en relación con su tema, incluyendo cualquier Bi Licencias de código, términos complementarios u otras licencias contenidas en el software con licencia. Ninguna modificación de este Acuerdo será vinculante, a menos que sea por escrito y esté firmada por un representante autorizado de cada parte.

¿Está de acuerdo con los términos de licencia anteriores? [si o no]

Con este instalador anterior, puede ver que contiene solo un blob binario de directorios de archivos:

Extracting...
UnZipSFX 5.52 of 28 February 2005, by Info-ZIP (http://www.info-zip.org).
   creating: jdk1.7.0/
   creating: jdk1.7.0/lib/
  inflating: jdk1.7.0/lib/jexec      
   creating: jdk1.7.0/lib/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-attach.jar  
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-host-views.jar  
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/locale/
...

En este caso, este tipo de instalación está destinado a no convocar al administrador de paquetes, sino simplemente a volcar el contenido en un solo árbol de directorios para que pueda moverlo donde lo desee.

En entornos de producción, a menudo no es necesario utilizar el administrador de paquetes, sino más bien tener más control sobre las implementaciones. Quizás tenga varias aplicaciones que está implementando y cada una de ellas requiere una versión diferente del JDK. Usando este método, puede hacer que todos coexistan más fácilmente que decir a través del administrador de paquetes.

$ pwd
/home/saml/jdk1.7.0
[saml@grinchy jdk1.7.0]$ ls -l
total 19308
drwxr-xr-x  2 saml saml     4096 Jan 13  2011 bin
-r--r--r--  1 saml saml     2487 Jan 13  2011 COPYRIGHT
drwxr-xr-x  5 saml saml     4096 Jan 13  2011 db
drwxr-xr-x 11 saml saml     4096 Jan 13  2011 demo
drwxr-xr-x  3 saml saml     4096 Jan 13  2011 include
drwxr-xr-x  6 saml saml     4096 Sep 29 10:57 jre
drwxr-xr-x  3 saml saml     4096 Sep 29 10:57 lib
-r--r--r--  1 saml saml     9005 Jan 13  2011 LICENSE
drwxr-xr-x  4 saml saml     4096 Jan 13  2011 man
-r--r--r--  1 saml saml    25379 Jan 13  2011 README.html
-r--r--r--  1 saml saml    20320 Jan 13  2011 README_ja.html
-r--r--r--  1 saml saml    15160 Jan 13  2011 README_zh_CN.html
-r--r--r--  1 saml saml     5348 Sep 29 10:58 register.html
-r--r--r--  1 saml saml     5645 Sep 29 10:58 register_ja.html
-r--r--r--  1 saml saml     4951 Sep 29 10:58 register_zh_CN.html
drwxr-xr-x  8 saml saml     4096 Jan 13  2011 sample
-rw-r--r--  1 saml saml 19631790 Jan 13  2011 src.zip

Referencias

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.