Product SiteDocumentation Site

5.5. 他のパッケージングシステムとの共存

フリーソフトウェア世界では Debian パッケージ以外のソフトウェアパッケージも使われています。Debian にとって最大の競争相手は Red Hat Linux ディストリビューションとその派生物が使う RPM フォーマットです。Red Hat は非常に人気のある商用ディストリビューションです。そのため一般に、サードパーティが提供するソフトウェアは Debian パッケージではなく RPM パッケージで用意されます。
Debian パッケージが提供されなかったとしても、Debian には RPM パッケージを取り扱うプログラム rpm がパッケージとして用意されており、Debian では RPM パッケージフォーマットを取り扱うことができます。しかしながら、パッケージから情報を引き出したり、整合性を検証するための操作は制限されていることに注意してください。実のところ、RPM を Debian システムにインストールするために rpm を使うのは合理的ではありません。さらに RPM はネイティブソフトウェア (dpkg など) とは異なる自分自身のデータベースを使います。このため、2 つのパッケージングシステムを安定に共存させることを保証するのは不可能です。
他方で、alien ユーティリティを使えば以下に示す通り RPM パッケージを Debian パッケージに変換したりその逆を行うことが可能です。
$ fakeroot alien --to-deb phpMyAdmin-5.1.1-2.fc35.noarch.rpm
[..]
Warning: Skipping conversion of scripts in package phpMyAdmin: postinst
Warning: Use the --scripts parameter to include the scripts.
[..]
phpmyadmin_5.1.1-3_all.deb generated
$ ls -sh phpmyadmin_5.1.1-3_all.deb
  6,0M phpmyadmin_5.1.1-3_all.deb
$ dpkg -c phpmyadmin_5.1.1-3_all.deb
drwxr-xr-x root/root         0 2021-08-09 02:02 ./
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/httpd/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/httpd/conf.d/
-rw-r--r-- root/root      1181 2021-07-27 09:32 ./etc/httpd/conf.d/phpMyAdmin.conf
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/nginx/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/nginx/default.d/
-rw-r--r-- root/root       430 2021-07-27 09:32 ./etc/nginx/default.d/phpMyAdmin.conf
drwxr-x--- root/root         0 2021-08-09 02:02 ./etc/phpMyAdmin/
-rw-r----- root/root      4546 2021-07-27 09:34 ./etc/phpMyAdmin/config.inc.php
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/doc/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/doc/phpMyAdmin/
[..]
$ dpkg -I phpmyadmin_5.1.1-3_all.deb
 new Debian package, version 2.0.
 size 6195324 bytes: control archive=44444 bytes.
     102 bytes,     3 lines      conffiles
     593 bytes,    15 lines      control
  180405 bytes,  1919 lines      md5sums
     448 bytes,    11 lines   *  postinst             #!/bin/sh
 Package: phpmyadmin
 Version: 5.1.1-3
 Architecture: all
 Maintainer: Daniel Leidert <[email protected]>
 Installed-Size: 40693
 Section: alien
 Priority: extra
 Description: A web interface for MySQL and MariaDB
  phpMyAdmin is a tool written in PHP intended to handle the administration of
  MySQL over the Web. Currently it can create and drop databases,
  create/drop/alter tables, delete/edit/add fields, execute any SQL statement,
  manage keys on fields, manage privileges,export data into various formats and
  is available in 50 languages
  .
  (Converted from a rpm package by alien version 8.95.4.)
見ての通り alien を使った変換作業は極めて単純です。しかしながら、生成されたパッケージには依存関係の情報が含まれないことを知らなければいけません。なぜなら、2 つのパッケージフォーマットの依存関係の間に系統的な対応関係がないからです。管理者は変換されたパッケージが正しく動くことを手作業で保証しなければいけません。そのため、生成された Debian パッケージを使うのは可能な限り避けるべきです。幸いなことに、Debian が用意しているソフトウェアパッケージの数はすべてのディストリビューションの中で最も多く、依存関係の解決に苦労することはないでしょう。
alien コマンドの man ページを見ると、alien が他のパッケージフォーマット、特に (単純な tar.gz アーカイブで作られている) Slackware ディストリビューションで使われているフォーマット、を取り扱うことも可能なことに気が付くでしょう。
dpkg ツールを使って配備されたソフトウェアの安定性は Debian の名声に寄与しています。次の章で説明する APT ツール集はこの長所を引き継いで、さらに、管理者が不可欠だが難しい作業であるパッケージの状態管理をしなくても済むようにしました。