[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:00272] Re: *.deb ファイルの展開



八田です

From: Masanori Inoue <realmen@xxxxxxx>
Subject: [debian-users:00270] *.deb ファイルの展開

> 現在、Slackware を使用しているのですが、システム自体を Debian にアップ
> デートしないと Debian の日本語パッケージは使用できないのでしょうか。

Debian FAQ (すみません、日本語訳はもう少しだけ待って下さい)より
-------------------------------
4.3 Debian パッケージ(".deb")は RedHat/Slackware/... の Linux システムで使えま
すか ? RedHat パッケージ(".rpm" ファイル)を Debian GNU/Linux システムで使えま
すか ?

異なる Linux 配布版では、異なるパッケージフォーマットと異なるパッケージ管理プ
ログラムが使われています。

    おそらくできること:

      `よその'配布版が動いている Linux ホストへ Debian パッケージをアンパック
      するプログラムが提供されていますが、ファイルがアンパックされるという意味
      においては一般に動作するでしょう。逆もまたおそらく真です。つまり RedHat 
      や Slackware のパッケージをアンパックするプログラムは、Debian Linux が動
      いているホストでもパッケージをアンパックし、たいていのファイルを意図され
      たディレクトリに置くでしょう。これは Linux ファイルシステム標準が存在す
      る(また広くそれに従っている)からです。

    できる望みがあまりないもの:

      たいていのパッケージ管理プログラムは、アーカイブをアンパックするときに管
      理ファイルに記録しています。このような管理ファイルは一般に標準化されてい
      ません。ですから、Debian パッケージを`よその'ホストでアンパックすると、
      そのシステムのパッケージ管理プログラムに予測できない(まあ、無用な)効果を
      与えます。同様に他の配布版のユーティリティは Debian システムにそのシステ
      ム用のアーカイブをアンパックできるでしょうが、おそらく Debian パッケージ
      管理システムがパッケージをアップグレードしようとしたり、削除しようとした
      とき、あるいは単にシステムに現在どんなパッケージが入っているか調べようと
      しただけのときでも失敗するかもしれません。

    よりよい方法:

      Linux ファイルシステム標準(ということはつまり Debian GNU/Linux)では、サ
      ブディレクトリ /usr/local/ の下はユーザの裁量にすべて任せることになって
      います。そのため、`よその'パッケージをこのディレクトリにアンパックでき、
      パッケージの構成やアップグレード、削除も個別に管理できます。
-------------------------------
ということなので可能なはずなのですが、具体的にどんなツールを使えば
いいかよく知りません。Debian システム上で .deb からファイルを
取り出すには通常 dpkg というツールを使います。
ファイルを取り出すだけだったら dpkg-deb を使えばいいのかな。
dpkg を使ってインストールすると余計な動作をしそう。
私は試したことはないので、よそのシステムで動くかどうか確実なことは
言えません。

dpkg も dpkg-deb も システムのインストール時にインストールされ、
バージョンアップも(当然ながら).debファイルとして配布されます。
他のディストリビューションで利用するなら、Debian FTP サイトか
そのミラーの stable/disks-i386/current/ の base1_2.tgz に
含まれていますので、そちらから取り出して下さい。

# ファイルサイズは 4.5M くらいあります。ソースを入手してコンパイル
# してもいいかも知れない。 

// 日本インターシステムズ(株) 共通システム部 八田修三
// e-mail : hattas@xxxxxxxxxxxxxx / hattas@xxxxxxxxxx
// PGP fingerprint = A6 2A 8A C7 5C C3 86 EF  29 0C 50 1C 0B C5 61 E4