DebianまたはUbuntuの「.msi」および「setup.exe」ファイルと同等ですか?


15

この答えは、説明.msisetup.exeWindows上のアプリケーションをインストールするためのファイル。

DebianまたはUbuntuのファイル.msiと同等のsetup.exeファイルはありますか?実行(Do).debパッケージファイルは、対応.msiまたはsetup.exeまたは他の何か?


8
なぜあなたがこれを尋ねているのか分かりませんので、この質問に出くわした人への一般的なコメントとしてこれを言います。ソフトウェアを「手動で」インストールする方法はありますが、ほとんどのLinuxディストリビューションで推奨される(そして強く推奨される)方法は、パッケージマネージャーを介してソフトウェアをインストールすることです。これにより、セキュリティ更新プログラムが自動的に取得され、ディストリビューションとの互換性を確認するために、ある程度のテストが行​​われます。メインリポジトリにない最新かつ最高のバージョンのソフトウェアが必要な場合は、コミュニティリポジトリ(UbuntuのPPAなど)を使用しますが、常にパッケージマネージャーを使用します。
ミューザー

.setupWindowsにはファイルがありませんsetup.exe。インストーラーの一般的な名前はどちらですか?
グロノスタジ

マニュアルページとそこからリンクされているドキュメントを参照しapt-getください。Windowsには、に相当するapt-get installものはありません。基本的に、他にできることは何もありません。
-jthill

5
@jthill、それは真実ではありません。完全な機能や人気はありませんが、apt-getPowershellの最近の(Win7以降)バージョンOneGetを使用してインストールできますChocolateyHomebrewMacに相当)。それらは 'nixの同等物よりも人気が低いかもしれませんが、Windowsに同等物がないと言うのは、明らかに間違っています。
フリス

1
@Tim:この質問は、「同等」の意味を正確に指定しないと、賢明に答えることができません。ファイルとインストーラーのどの特定のプロパティに.msi興味がありますか?何かが「同等」かどうかを判断するための正確な基準は何ですか?たとえば、インストーラーは他のプログラムと同様のプログラムです。という名前のプログラムについて特別なことはまったくありませんsetup.exe。以来setup.exe、他のプログラムのような単なるプログラムであり、Debianは最も確かにますが、それは同等考えるか、「プログラム」の概念を持っていますか?そうでない場合は、なぜですか?
ヨルグWミットタグ

回答:


28

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

ttf-mscorefontsパッケージは、パッケージ自体はダウンロードするだけのスクリプトが含まれており、フォントをインストールすることは興味深いです。このスクリプトは、これらのフックのいずれかで実行されます。

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

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

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


2
Windowsでは、setup.exe-styleインストーラーも追跡インストーラーシステムに統合されます(アンインストーラーなどを使用)。MSIとの両方で.exeインストーラ、依存関係は、インストーラ(に依存を埋め込むことによって処理され、例えば VC再配布インストーラまたはDirectXのインストーラ)と実行(またはシステムアセンブリなど)と一緒に依存DLLをインストールすることによって。にsetup.exeも似てい.debます。ソースからビルドするのと同じことは、Windowsでもソースからビルドすることです;-)。
スティーブンキット

私がやる MSIが(除いDebianパッケージが別のパッケージをインストールすることはできません同じように、別のMSIをインストールすることはできません:ない、セットアップ実行ファイルよりも近いDebianパッケージへのMSIを作る一つのことを経由してその依存関係を)。
スティーブンキット

@StephenKitt:-style setup.exeインストーラーは、MSIの下で実行されない限り、OSによって「追跡」されません(そして、MSIが追跡されます)。アンインストールレジストリキーがあるという事実は、これとは関係ありません。これは、ファイルシステムにリストされているため、すべてのファイルが追跡されていると言っているようなものです。
user541686

2
ただし、MSIの中央リポジトリがないため、MSIには(大規模な製品では)依存関係がある場合があります。通常、依存関係を見逃した場合に起こるのはインストールを拒否することです。
マッテオイタリア

1
「Windowsでこれまで見たことがないと思うもの:システムサービスにユーザーを追加する」。SQL Server、IIS、およびVisual Studioのインストーラーがこれを行うことは確かです。しかし、Windowsユーザーモデルは、デフォルトのUnix / Linuxモデルよりも少し洗練されているため(あなたがルートであるか、そうでないかのどちらかです)、それほど明白ではないかもしれません
。– MSalters

15

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、一時フォルダに自己解凍し、そこから実際のインストーラを実行するものと本質的に同等です。


6

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

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

それらは、Windows exeファイルに近いため、同じ問題が発生します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.