2021年10月17日日曜日

dpkgコマンドを使わずにdebパッケージを展開する方法

 


こんにちは。よっしーです。

仕事柄、Linuxをよく使っています。

先日、debパッケージのソフトウェアをインストールしようと、

とあるLinuxの実行環境にアクセスしたのですが、

その実行環境にはdpkgコマンドが存在しておらず、

どうやってdebパッケージ展開するの???

となりました。


いろいろと調べたところ、dpkgコマンドを使わずに

debパッケージを展開できることがわかったので

ここで紹介したいと思います。


そもそもdebパッケージとは、

Debian、Ubuntuなど多くのLinuxディストリビューションで利用されるバイナリのパッケージのこと。gzipやbzip2、LZMAで圧縮された2つのアーカイブで構成されており、dpkg/apt/aptitude でコントロールすることができる。

というものです。


※今回の実行環境では、dpkg/apt/aptitude は使えません。

で、この説明を見るにdebパッケージはただのアーカイブです。

 |--- debian-binary
 |--- data.tar.gz (拡張子は圧縮方式により異なる)
 | |--- . (root) (以下、インストール後のディレクトリ構造)
 |   |--- usr, bin ... 
 |
 |--- control.tar.gz
   |--- .
     |--- control
     |--- md5sums

なのでアーカイブを解凍するコマンドであればdpkgの代替が可能です。

data.tar.gz の中身がインストール後のディレクトリ構成となっているので、

今回は以下のようなコマンドで代替してみました。

 ar p xxxxxx.deb data.tar.gz | tar zx 

arコマンドは、 アーカイブ作成 / 展開のコマンドです。

ちなみに、arコマンドは、BusyBoxにも入っているぐらいなので、

どのLinux環境でも存在しているはずです。


普通のDesktop環境でLinuxを使っているのであれば

こんなことには巡り合わないかとは思いますが、w


組み込みLinuxなどは、容量に限りもあり、

実行環境にインストールするパッケージも厳選が必要になります。

dpkgをインストールせずにdebパッケージを展開したい場合は

参考にしてみてください。


ではまた~。







0 件のコメント:

コメントを投稿