Debian または Ubuntu の '.msi' ファイルと 'setup.exe' ファイルに相当するものはありますか?

Debian または Ubuntu の '.msi' ファイルと 'setup.exe' ファイルに相当するものはありますか?

この答えWindows にアプリケーションをインストールするための手順.msiとファイルについて説明します。setup.exe

Debian または Ubuntu に、.msiおよび に相当するファイルはありますか?パッケージ ファイルは または 、あるいは他の何かに対応していますか?setup.exe.deb.msisetup.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、依存関係が欠落しているとインストールに失敗するだけです。

したがって、 は.debMSI インストーラと の中間に位置すると言えます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 ファイルに近いため、同じ問題が発生します。

関連情報