この文書には、誤りが含まれる可能性があります。
また、網羅性もありません。
知識として...
Debianのポリシーは非常にわかりやすくて(シンプルという意味ではない)、文書化されている。 例えば、
などがある。非常に厳格に、フリーであろうとしているようだ。 (DFSGは非常に有名である。後に オープンソースの定義 を作る際のひな形になったため。 Debianはそういう意味でもフリーであるというポリシーのはしりだったわけらしい。) そのため以下でも述べるように、 "フリーなソフトウェアのパッケージ"と、"フリーでないソフトウェアのパッケージ" は明確にわかれている。
などがある。非常に厳格に、フリーであろうとしているようだ。 (DFSGは非常に有名である。後に オープンソースの定義 を作る際のひな形になったため。 Debianはそういう意味でもフリーであるというポリシーのはしりだったわけらしい。) そのため以下でも述べるように、 "フリーなソフトウェアのパッケージ"と、"フリーでないソフトウェアのパッケージ" は明確にわかれている。
パッケージの種類
パッケージはDebian Projectによって配布される。現状29000くらいのパッケージがあるらしい。 パッケージにはいくつかの分類がある。
- アーカイブエリア: フリーかどうか
- main: DFSGにおいてフリーなもの
- contrib: non-freeに強く依存するもの
- non-free: フリーでないもの
- セクション: 機能による分類
- admin, cli-mono, comm,… たくさん。エリアがmainのとき、<section>という書式で、それ以外は<area>/<section>で書かれる。
- ディストリビューション: 安定度による分類
- stable: リリースされて以降はFixされていて、バグやセキュリティ対策のアップデート(※)のみ。
- ※ http://security.debian.org/で配布。update/main,update/contrib,update/non-freeがある。
- testing: unstableに入ってから一定期間バグが報告されないときに、自動的にtestingに追加される
- unstable: 開発用。頻繁な更新がある。
- experimental: 実験的。上の3つはDebian自身のリリースと関係があるが、ここは直接関係ない。
- stable: リリースされて以降はFixされていて、バグやセキュリティ対策のアップデート(※)のみ。
- 優先度: 依存関係の様子、システムにどれくらい必須か。以下の順番で優先度が高く、優先度高位のものが、低位のものには依存しない(例:requiredがextraに依存しない)ようになっている。
- required: これがないと適切に動作しないもの。
- inportant: UNIXシステムの最低限のために必要と思われるパッケージ。
- standard: UNIXシステムとして、十分に機能するために必要と思われるパッケージ。
- optional: 他に入らないもの。
- extra: 目的化されているもの、他の優先度のパッケージと衝突しているもの。
パッケージの形態
次の2つに分かれる。
- バイナリパッケージ
- ソースパッケージ
バイナリパッケージ
ソフトウェアをコンパイルするなど、利用可能な形式にして配布されるもの。 .debという識別子がついているため、debパッケージ,debファイルともいう。 さて、バイナリパッケージは単一のファイルとして配布されているが、実際には3つのファイルのアーカイブになっている。
- debian-binary: パッケージのフォーマットのバージョン
- control.tar.gz: アーキテクチャや依存関係や、パッケージメンテナの名前など
- data.tar.gz: データそのもの
- バイナリパッケージをダウンロードする。
$ sudo apt-get download tmux
- lessコマンドで説明を見てみる。以下では、ダウンロードしたファイルなどを、<tmux>.debとか書くことにする。
$ less
<tmux>.deb - アーカイブの展開
$ ar xv <tmux>
.deb
ソースパッケージ
元々のソフトウェアのソース、バイナリパッケージのための変更(パッチファイル)、ソースパッケージについての情報からなる。 ソースパッケージからバイナリパッケージを構築することができる。
続きはまた今度。
続きはまた今度。
0 件のコメント:
コメントを投稿