.debおよび.rpmとは何ですか?.msiとはどう違うのですか?[閉まっている]


30

これらのファイル形式は何.msiですか?また、Windowsの形式とどのように違いますか?また、これらのパッケージ管理スキームの長所と短所は何ですか?


.debと.rpmは、.exeよりも.msiに似ています。
イグナシオバスケス-アブラムス

注:インターネット上の他の場所で「rpm vs deb / dpkgの長所と短所は何か」を尋ねると、フレーム戦争を引き起こす可能性があります。
strugee

回答:


40

.debやなどのファイル.rpmは、.zipファイルに似ています。これらは、特定のアプリケーションやファイルのライブラリに関連するファイルを含むファイルとサブディレクトリのディレクトリツリーです。

ディストリビューション

これらの.debファイルは、Debianから派生したLinuxのディストリビューション(Ubuntu、Linux Mintなど)用です。これらの.rpmファイルは、主にRedhatベースのディストリビューション(Fedora、CentOS、RHEL)から派生したディストリビューションとopenSuSEディストリビューションで使用されます。

それらの何が特別ですか?

これらのファイルには、ファイルとは別の特別な特性が.zip1つあり、これらのファイルのいずれかをインストールするシステムで実行されているパッケージマネージャーソフトウェアに追加のタスクを実行するよう指示する規則を含む仕様を含めることができます。これらのタスクには、次のようなものが含まれます。

  • システムでのユーザーアカウントの作成
  • 実際に.debor .rpmファイルに含まれていない構成ファイルの作成/変更
  • インストール後にファイルの所有権/許可を設定します
  • パッケージをインストールしているシステムでrootとしてコマンドを実行します
  • 依存関係。両方の形式に、インストール前にシステムに存在する必要がある名前、パッケージ、および/またはサービス名を含めることができます。

.msiファイルはどうですか?

.msiファイルは.deb.rpmファイルに似ていますが、さらに洗練されている可能性があります。.msiファイルは、Windowsインストーラが利用するとのような追加機能を提供しています:

  • GUIフレームワーク
  • アンインストールシーケンスの生成
  • それ自体の中のフレームワーク-サードパーティのインストーラーが使用するため
  • ロールバック
  • 広告
  • ユーザーインターフェース

より詳細な説明が必要な場合は、これらの主題に関するさまざまなウィキペディアのページをご覧になることをお勧めします。

参照資料


答えは「.debや.rpmなどのファイルは.zipファイルに似ている」で始まるため、debパッケージは実際にはarアーカイブであり、rpmは(おそらく一部)cpioアーカイブであることに言及する価値があります。debsの場合、debを使用してunpackできることを確認するのは簡単ar -xです。rpmの場合、これが可能かどうかわかりません。
ファヒムミタ

@FaheemMitha:rpm2cpio package.rpm | cpio -idv
ninjalj

@ninjalj-そのコマンドを追加するのを忘れてくれてありがとう。RPMを1つまたは2つだけ使いたいときにrpmを解凍するために使用しました。通常、.specファイル。
slm

@ninjaljありがとう、私はそれを知りませんでした。
ファヒムミタ

31

他の回答には、資質の触れ.deb.rpmに似ています.msi。それらにはすべて、圧縮形式のソフトウェアが含まれており、追加の処理を実行できます。既に言及した追加事項には、ユーザーの追加、インストール前およびインストール後のタスク、システムへのプログラムの登録(Windowsレジストリ、xdg-dirs、OpenRC / systemd initなど)が含まれます。

フォーマットを差別化するのは(そして大きなプロです)、依存関係です。.deb.rpmファイルの両方は、前提条件のソフトウェアとしてインストールする必要がある他のプログラムの名前とバージョンをリストできます。単独では、これは単なる情報提供ですが、...

通常.deb.rpmファイルと直接やり取りしてファイルを操作することはありません.msi。実際、前述のとおり、a .debは通常、特定のディレクトリレイアウトに含まれるファイルを使用してxzで圧縮された単なるアーカイブ(arまたはtar)です。代わりに、あなたは次のようなツールを使用dpkgしてrpmこれらのファイルを操作します。

dpkgそして、rpmの内容がインストールされます.debし、.rpmファイルを、すべての前提条件ソフトウェアがインストールされていることを確認します。これらのプログラムの実行は、.msiファイルをクリックすることに似ています。ただし、通常、ユーザーはパッケージと対話しdpkgたりrpm、パッケージをインストールしたりすることはありません。これらのツールには、ウィンドウ上に正確な類似物がありません。 apt-getyum

両方ともapt-getyumリモート(またはローカル)リポジトリ.debから.rpmファイルを取得し、およびファイルに保存されている依存関係情報を使用して、満たされていない前提条件を取得してインストールできます。これらのツールを使用するapt-get install chromiumと、必要な他のソフトウェアを知る必要も心配する必要もありません。apt-get手動でそれら.debを見つけてインストールすることなく、gtk +、alsa、特定のXライブラリなどがインストールされていることを確認するだけで、.rpmファイル。

apt-getそして、yum大きな2つのパッケージマネージャがあり、あなたも見つけるemergepacman異なる根本的なメカニズムを持つが、同じ仕事をしている、そこに。


7
依存関係管理について話すための+1。これを見落としてはなりません。
ldrumm

1
注:は.debarユーティリティを使用してパッケージ化されていると思います。理由はわかりません。
strugee

1
また、emergeパッケージマネージャーとしてカウントする場合は、おそらくBSDポートも検討する必要があります(それらについてはあまり知りませんが、GNU /のパッケージマネージャーと同等のものがあるかどうかはわかりません) Linux)。
strugee

3
@strugee true、それを反映するように編集しました。また、技術的には、portageはパッケージ管理エンジンの背後にemergeあり、portsと非常によく似ています。それはすべてソースベースであり、非常に設定可能ですが、コマンドがインストール/アンインストールし、依存関係を処理し、インストール済みパッケージのデータベースを保持する場合、パッケージマネージャーと呼びます。良いコメント。
ケーシー

@casey:dpkgとrpmの基礎となるメカニズムに関する詳細情報はどこで入手できますか?
デスホール

4

WindowsのMSIファイルとまったく同じ機能を備えています。

  • ソフトウェアをレジストリに登録し、
  • そのパッケージにインストールされているファイルを登録します。

Linuxでは、他のパッケージ間の依存関係も管理します。

このパッケージ管理形式は他にも多くのことを行いますが、これが主な機能です。


2

.rpmファイルはRPMパッケージで、Red HatおよびRed Hatから派生したディストリビューション(Fedora、RHEL、CentOSなど)で使用されるパッケージタイプを指します。.debファイルはDEBパッケージであり、DebianおよびDebian派生物(Debian、Ubuntuなど)が使用するパッケージタイプです。

ダウンロードされると、通常、関連するディストリビューションのrpmおよびdpkgコマンドを使用してインストールされます。言い換えれば、彼らはによってインストールされるファイルであるrpmdpkgいうより.msiか、.exe自分でインストール実行可能ですセットアップファイル。

RPMおよびDEBパッケージは、複数の点でMSIと異なります。

  • 上記のように、これらはインストールに他のツール(rpmおよびdpkg)を必要とするファイルです。
  • インストールされると、データベースに追加されますが、MSIファイルの場合はそうではありません。MSIファイルはレジストリにプログラムをリストしますが、コントロールパネルによるアンインストールでは、インストールされたすべてのファイルがディスクから完全に削除されることはほとんどありません。したがって、RPMおよびDEBパッケージがアンインストールされると、すべてのファイルが完全に削除されます。
  • 通常、これらは直接ダウンロードおよびインストールされませんがyumaptitudeそれぞれのようなパッケージマネージャーを介して-関連システム用にコンパイルされたパッケージを提供するいわゆるリポジトリがあり、パッケージマネージャーはリポジトリ内のデータからすべての依存関係を自動的にインストールします。
  • 通常、インストールされたパッケージはいくつかの構成ツールを実行します。たとえば、LightDMがすでにインストールされているシステムにGDMをインストールする場合、ツールはLightDMのGDMを使用するかどうかを尋ねます。
  • パッケージをインストールするとき、依存関係以外にいくつかのパッケージが推奨されます。これらのパッケージは、必要ではないがユーザーにとっては便利なパッケージを示しています。

1

両方.deb.rpmは、GNU / Linuxディストリビューション用のソフトウェアパッケージで、ソフトウェア(プログラム、アプリケーションなど)およびソフトウェア自体に関する「* installer *」ソフトウェアの情報と、何をどこにインストールするかに関する指示が含まれています。正しく。

  • .debDebian(ベース)ディストリビューションのDebianソフトウェアパッケージ。例えばapt/ aptitude(コマンドライン)を介して、または例えば「Synaptic」「Ubuntu Software Center」、「Gdebi」、…を介してグラフィカルにインストールされます。
  • .rpmRed Hat Package Manager:Fedora / Red Hat(ベース)Linuxディストリビューション。例yum(コマンドライン)を介して、または例 " yumex "を介してグラフィカルにインストール
  • .msiは→ Microsoft Installer:Microsoft Windows OSの場合、上記とまったく同じです。

インストーラー自体も、パッケージの保守、更新、削除を処理できます。また、ここで、「インストーラー」とは、このタスクを正しく実行するためのソフトウェアを意味します。もちろん、ユーザー自身に言及された情報を提供し、もちろんそのようなタスクを手動で実行します。


1
PackageKitはアプリケーションではありません。これは、ディストリビューション全体のさまざまなパッケージマネージャー用の抽象化ライブラリです。
strugee

@strugee dang、これが名前だと思った。私は本当に希望はyumex...ヒントのおかげで右の名前である
erch

FedoraのデフォルトはGNOMEソフトウェアだと思います。
strugee

@strugeeしばらくFedoraを試し、LXDEを使用し、パッケージ管理用のグラフィカルなフロントエンドを思い出しましたが、名前は…どんなものでも、自分の欲望に最も合っていると思います:)
13

1

.deb:Ubuntu、Linux MintなどのDebianベースのLinuxディストリビューションに使用されるDebianパッケージ

.rpmrpmRHEL、Fedora、CentOSなどのRed HatベースのLinuxディストリビューションのインストーラー

.msi:Windowsプラットフォーム用のバイナリインストーラー


Stack Exchangeへようこそ!なぜあなたがダウン投票されたのかの説明:私はダウン投票した二人のうちの一人ではありませんが、あなたはDebianやUbuntuがGNU / Linuxではないことを暗示しているからだと思います。偽。彼らです。(そして、Debian、Ubuntu、Fedora以外にも多くのディストリビューションがあります。)また、あなたは本当に何も説明しませんでした。
strugee

1
更新:その含意を削除するために編集
デビッドソンチュア

これらのパッケージが実際にどのように異なるかについての実際の説明ではなく、ファイルが何を意味するのかを1行で説明するためだけのものです。彼らは答えに期待する品質の一種である、ここで選択した答えを見てみましょう:)
Munim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.