
この答えWindows にアプリケーションをインストールするための手順.msi
とファイルについて説明します。setup.exe
Debian または Ubuntu に、.msi
および に相当するファイルはありますか?パッケージ ファイルは または 、あるいは他の何かに対応していますか?setup.exe
.deb
.msi
setup.exe
答え1
おそらく というより MSI インストーラーに近いパッケージにはsetup.exe
、.deb
ファイルシステムにコピーするファイルのツリーと、実行するインストール前およびインストール後のフックのコレクション (など) が含まれています。フックはシステム上で事実上何でも実行できますが、Windows では見たことがないような機能 (システム サービスにユーザーを追加するなど) も実行できます。ただし、別の.deb
パッケージをインストールすることはできず、インストール中はデータベースがロックされるため、依存関係を通じてのみ実行できます。.deb
パッケージをインストールすると、メンテナンスを容易にするために、インストールされたパッケージの中央データベースにエントリが作成されます。
このttf-mscorefonts
パッケージの興味深い点は、パッケージ自体にフォントをダウンロードしてインストールするスクリプトのみが含まれていることです。このスクリプトは、これらのフックの 1 つで実行されます。
より近い方法は、setup.exe
プロジェクトのホームページからプログラムのソース コードをダウンロードし、 を実行するか./configure && make && sudo make install
、または作成者が使用すると決定したその他の方法を使用することです。この方法では、パッケージがインストール済みプログラムのデータベースに追加されないため、後で削除するのがはるかに困難になる可能性があります。
もう 1 つの違いは、 は.deb
依存関係を指定するため、適切なインストールが保証されることです。私の知る限り、Windows の世界では、MSI は別の MSI のインストールを引き起こすことはできないため、setup.exe
通常はこの種の依存関係の追跡に使用されます。いくつかのコメントでは、MSI は依存関係に名前を付けることができると指摘されていますが、パッケージの場合のように MSI の中央データベースがないため.deb
、依存関係が欠落しているとインストールに失敗するだけです。
したがって、 は.deb
MSI インストーラと の中間に位置すると言えますsetup.exe
。 パッケージは、インストール前およびインストール後のフック中に好きなことを実行でき、独自の依存関係に名前を付けて通常は見つけることができ、メンテナンスを容易にするためにインストールの記録を中央の場所に残します。
答え2
Linux で見た単一ファイルのバイナリ インストーラーは.sh
、次のように、バイナリ BLOB と連結されたシェル スクリプトを含むファイルでした。
#!/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
これは本質的には、一時フォルダーに自己解凍され、そこから実際のインストーラーが実行されると同等です。
答え3
出典:https://askubuntu.com/questions/13415/what-are-run-files/13416#13416
.run ファイルは通常、プログラムをインストールするために実行する必要があるカスタム プログラムです。これらは、ファイルの保存場所を追跡せず、通常はアンインストール方法を提供しないため、一般的にはサポートされていません。スクリプトがシステムにどのような影響を与えるかを確認する方法がないため、安全ではないと見なされます。
これらは Windows の exe ファイルに近いため、同じ問題が発生します。