Em geral, um arquivo .deb é semelhante a um arquivo zip, que contém arquivos junto com scripts curtos que podem executar pós-instalação para adicionar usuários, grupos, etc. ao sistema após a instalação.
Um arquivo .run é geralmente um único executável binário ou um shell script que contém um blob binário que pode ser instalado. Se for a variedade do script de shell, muitas vezes ele conterá um blob binário que geralmente é sinônimo de um arquivo zip ou tar recursivo. Em outras palavras, ele conterá estruturas de diretórios de arquivos.
Outras vezes, esse tipo de arquivo .run conterá simplesmente arquivos .deb ou .rpm que serão despejados no disco, e podem ser instalados individualmente ou o script que os continha, serão despejados no disco, e tente instalá-los usando o software gerenciador de pacotes do seu sistema.
Um exemplo disso seria se você baixasse o Java JDK da Oracle. Normalmente, é um único arquivo executável que, quando executado, despeja os arquivos .deb ou .rpm no disco e os instala usando the package management tools: dpkg
, apt
, yum
ou rpm
.
Exemplo
Aqui está um exemplo de como o download / instalação ficaria com um desses arquivos .run. A extensão é .bin, mas isso é simplesmente cosmético, a extensão não tem nenhuma relevância além de ajudar os usuários a distinguir entre os diferentes tipos de arquivos.
$ 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
Aqui, o arquivo acima irá despejar pacotes para os vários componentes que compõem o JDK, após o qual você pode instalar todos eles ou apenas aqueles que você precisa.
Faça isso desta maneira permite que coisas adicionais sejam feitas além da simples instalação de um pacote. Por exemplo, a Oracle tem um contrato de licença que eles querem que você aceite:
10.5 This Agreement is the parties' entire agreement relating to its subject matter. It supersedes all prior or contemporaneous oral or
written communications, proposals, conditions, representations and
warranties and prevails over any conflicting or additional te rms of
any quote, order, acknowledgment, or other communication between the
parties relating to its subject matter, including any Bi nary Code
Licenses, Supplemental Terms, or other licenses contained within
Licensed Software. No modification to this Agreement will be binding,
unless in writing and signed by an authorized representative of each
party.
Do you agree to the above license terms? [yes or no]
Com este instalador acima, você pode ver que ele contém apenas um blob binário de diretórios de arquivos:
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/
...
Nesse caso, esse tipo de instalação não pretende chamar o gerenciador de pacotes, mas simplesmente despejar o conteúdo em uma única árvore de diretórios, para que você possa movê-lo onde quiser.
Em ambientes de produção, muitas vezes você não quer usar o gerenciador de pacotes, mas sim ter mais controle sobre implantações. Talvez você tenha vários aplicativos que você está implantando e cada um deles requer uma versão diferente do JDK. Usando esse método, você pode fazer com que todos coexistam mais facilmente, em seguida, diga através do gerenciador de pacotes.
$ 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
Referências