web-dev-qa-db-ja.com

DebianまたはUbuntuの「.msi」および「setup.exe」ファイルに相当しますか?

この回答 は、Windowsにアプリケーションをインストールするための.msiおよびsetup.exeファイルについて説明しています。

DebianまたはUbuntuの.msiおよびsetup.exeファイルに相当するものはありますか? .debパッケージファイルは.msiまたはsetup.exeなどに対応していますか?

15
Tim

おそらくsetup.exeよりMSIインストーラーに近い.debパッケージには、ファイルシステムにコピーするファイルのツリーと、実行するインストール前およびインストール後のフックのコレクションが含まれています物)。フックは、私がWindowsで見たことがないと思うものを含めて、システム上で何でも効果的に実行できます。つまり、システムサービスのユーザーを追加します。彼らができないことの1つは、別の.debパッケージをインストールすることです。データベースはインストール中にロックされるため、これは依存関係によってのみ達成できます。次に、.debパッケージをインストールすると、インストールされたパッケージの中央データベースにエントリが作成され、メンテナンスが容易になります。

ttf-mscorefontsパッケージは、パッケージ自体にフォントをダウンロードしてインストールするスクリプトのみが含まれているという点で興味深いものです。このスクリプトは、これらのフックの1つで実行されます。

setup.exeに近い場合は、プロジェクトのホームページからプログラムのソースコードをダウンロードしてから、./configure && make && Sudo make install、または作成者が使用することを決定した他の方法を実行している可能性があります。この方法では、インストールされたプログラムのデータベースにパッケージが追加されないため、後で削除することははるかに困難です。

もう1つの違いは、.debが依存関係を指定するため、適切なインストールが保証されることです。私の知る限り、Windowsの世界では、MSIは別のMSIのインストールを引き起こすことができないため、setup.exeは通常、この種の依存関係の追跡に使用されます。 MSIは依存関係に名前を付けることができるというコメントがいくつかありますが、.debパッケージのようにMSIの中央データベースがないため、依存関係がないとインストールに失敗します。

したがって、.debはMSIインストーラとsetup.exeの中間にあります。パッケージは、インストール前およびインストール後のフック中に必要なことをすべて実行でき、名前を付けて通常は独自の依存関係を見つけ、インストールの記録を中央の場所に残してメンテナンスを容易にします。

28
Fox

Linuxで見た単一ファイルのバイナリインストーラーは、次のように、バイナリBLOBと連結されたシェルスクリプトを含む.shファイルでした。

#!/bin/bash
tmpdir=$(mktemp -d /tmp/installer.XXX)
tail -n +6 "$0" | tar -xJf - -C "$tmpdir" || exit 1
Sudo "$tmpdir/setup.sh"
rm -rf "$tmpdir"
exit
[binary content follows]

これは基本的にsetup.exeと同等で、一時フォルダーに自己解凍し、そこから実際のインストーラーを実行します。

15

取得元: https://askubuntu.com/questions/13415/what-are-run-files/13416#13416

.runファイルは通常、プログラムをインストールするために実行する必要があるカスタムメイドのプログラムです。これらはファイルの場所を追跡せず、通常はアンインストール方法を提供しないため、一般的にサポートされていません。安全でないと見なされるため、スクリプトがシステムに対して何を行うかを確認する方法はありません。

彼らはwindowsのexeファイルに近いので、同じ問題が付属しています。

6
Zumo de Vidrio