dpkgコマンドを使用せずにどのように.debを抽出してインストールできますか?

dpkgコマンドを使用せずにどのように.debを抽出してインストールできますか?

.debパッケージがシステムとどのように対話するかを理解するために、Debian jessie stableを実行しています。packge_name.debコマンドを使用せずに抽出してインストールする正しい方法は何ですかdpkg

答え1

ファイルがアーカイブなので、.debこのarコマンドを使用してファイルを解凍できます。.debar

ar x file.deb

プロセスが開始されます。これにより、3つのファイルが提供されます。

  • Debian バイナリ
  • control.tar [または類似]
  • data.tar [または類似]

最後の2つは制御メタデータを含み、それには実際のパッケージファイルを含み、tarアーカイブ(などを使用して圧縮できますgzipbzipです。

最後の2つのファイルから制御データと実際のコンテンツを抽出し、理論的にはファイルを正しい場所にコピーできますが、単純ではありません。

データアーカイブにはインストールスクリプトが含まれているため、これがシステムと対話する方法を見つけるときに良い開始点になります。

.debを使用せずにファイルをインストールする正しい方法はないと思いますdpkg

答え2

このコマンドを使用してファイル自体をインストールできます。ar代わりに必要になる場合がありますtar

tar xOf my_package.deb data.tar.gz | sudo tar xzpomv

これは、パッケージにロジックが必要ない場合(通常は/opt/の下にすべてをインストールするスタンドアロンアプリケーション)で動作します。

controlそれ以外の場合は、メタデータ(ファイル)とスクリプト(利用可能な場合)も表示できます。

tar xOf my_package.deb control.tar.gz | tar xv

関連情報