¿Cuál es la diferencia entre crear archivos .deb e instalarlos y simplemente ejecutar un archivo .run ?
package-management
Mandar Shinde
fuente
fuente
Respuestas:
.deb
los archivos son paquetes para dpkg , el administrador de paquetes Debian de bajo nivel (que APT y sus parientes invocan bajo el capó). Un.deb
archivo 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
.deb
archivo condpkg -c
ydpkg -I
. Si no tienedpkg
, puede usarar t foo.deb
para enumerar las partes de un.deb
archivo yar x foo.deb control.tar.gz
extraer lacontrol.tar.gz
parte (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.
.run
No es una extensión estándar. Un.run
archivo es presumiblemente algo que puede ejecutar. Puede instalar un programa o hacer algo completamente diferente.fuente
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
, orpm
.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.
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:
Con este instalador anterior, puede ver que contiene solo un blob binario de directorios de archivos:
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.
Referencias
fuente