回答:
.deb
ファイルは、低レベルのDebianパッケージマネージャーであるdpkgのパッケージです(APTとその親族によって内部で呼び出されます)。.deb
ファイルは、DebianまたはUbuntuのやミントなどの誘導体、例えばのためのパッケージです。
Debianパッケージには、パッケージに属するファイルと、パッケージの依存関係およびその他のメタ情報を記述した「制御ファイル」、およびパッケージのインストール、アップグレード、またはアンインストール時に実行されるインストールスクリプトが含まれています。
およびで.deb
ファイルの内容を確認できます。がない場合は、を使用してファイルのパーツを一覧表示し、パーツを抽出できます(他のパーツについても同様です)。dpkg -c
dpkg -I
dpkg
ar t foo.deb
.deb
ar x foo.deb control.tar.gz
control.tar.gz
Red Hat(およびCentOSやFedoraなどの親類)、SuSEなどは、同様の特性を持つ異なるフォーマットであるrpmを使用します。他のUNIXシステムには他にもあります。
.run
標準の拡張ではありません。.run
ファイルには、おそらくあなたが実行することができるものです。プログラムをインストールしたり、まったく異なることをしたりします。
一般に、.debファイルはzipファイルに似ており、インストール後にユーザーやグループなどをシステムに追加するためにインストール後に実行できる短いスクリプトと共にファイルが含まれています。
.runファイルは通常、単一のバイナリ実行可能ファイル、またはインストール可能なバイナリBLOBを含むシェルスクリプトのいずれかです。シェルスクリプトの種類である場合は、多くの場合、再帰的なzipファイルまたはtarファイルと同義であるバイナリblobが含まれていることがよくあります。つまり、ファイルのディレクトリ構造が含まれます。
その他の場合、このタイプの.runファイルには、単にディスクにダンプされる.debまたは.rpmファイルが含まれ、個別にインストールすることも、それらを含むスクリプトでそれらをディスクにダンプしてから、システムのパッケージマネージャーソフトウェアを使用してインストールします。
これの例は、OracleからJava JDKをダウンロードした場合です。それは、典型的には、実行時には、ディスクへの.debまたは.rpmのファイルをダンプして、使用してインストールすることを単一の実行可能ファイルですthe package management tools: dpkg
、apt
、yum
、またはrpm
。
以下は、これらの.runファイルの1つを使用した場合のダウンロード/インストールの例です。拡張子は.binですが、これは単なる表面的なものであり、ユーザーがさまざまな種類のファイルを区別できるようにする以外に、拡張子は実際には関係ありません。
$ 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
ここで、上記のファイルは、JDKを構成するさまざまなコンポーネントのパッケージをダンプします。その後、それらのすべてまたは必要なものだけをインストールできます。
これを行うと、パッケージをインストールするだけでなく、追加の作業を行うことができます。たとえば、Oracleはあなたに同意してほしいというライセンス契約を持っています:
10.5本契約は、その主題に関する当事者の完全な合意です。これは、以前のまたは同時の口頭または書面によるすべての通信、提案、条件、表明、保証に優先し、Biを含む、その主題に関連する当事者間の引用、注文、確認、またはその他の通信の矛盾または追加の規約に優先します。 naryコードライセンス、補足条項、またはライセンス対象ソフトウェアに含まれるその他のライセンス。各当事者の正式な代表者が書面で署名した場合を除き、本契約の変更は拘束力を持ちません。
上記のライセンス条件に同意しますか?[はい、もしくは、いいえ]
この上記のインストーラーを使用すると、ファイルのディレクトリのバイナリBLOBのみが含まれていることがわかります。
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/
...
この場合、このタイプのインストールは、パッケージマネージャを呼び出すのではなく、コンテンツを単一のディレクトリツリーにダンプして、好きな場所に移動できるようにすることを目的としています。
本番環境では、多くの場合、パッケージマネージャーを使用したくないが、展開をより詳細に制御したい場合があります。おそらく、デプロイしているアプリケーションがいくつかあり、それぞれに異なるバージョンのJDKが必要です。この方法を使用すると、パッケージマネージャーを使用して、これらすべてをより簡単に共存させることができます。
$ 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