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

[debian-users:11967] historical info (Re: Re: xf86-tt_updat...)



岡@情報科学.高知大です。


"Ken"すなわち"Ken N."さんより:

Ken> oka@debian.or.jp says:
Ken> =   Debian のパッケージシステムに足りない部分が露骨に見え隠れし
Ken> =   てますね...。依存関係によるシステムって、オブジェクト指向モ
Ken> =   デルに非常に似てますけど、どちらも静的なもので時系列の概念を
Ken> =   うまく表現できないのが弱いと思います。

Ken> 例えば、ある時点での依存関係なりオブジェクト群のconformationな
Ken> りのsnapshotを格納するオブジェクトを用意して、そのオブジェクト
Ken> 自身はスタックの機能を持つ(別に継承でも委譲でもいい)ようにすれ
Ken> ば時系列を空間配列に展開できそうですね。ただ、それが必ずしもオ
Ken> ブジェクト指向的かと言うとなんともいえないわけで... って、それ
Ken> はDebianとは関係ないか (^^;

Ken> #履歴の概念そのものはOOでも扱えます(設計/ 実装が可能です)よ。

クラスレベルの履歴ならともかくインスタンスレベルだと不可能じゃ
ないにしても、結構大変だと思いますが(^^; それに、今の所、
「オブジェクト指向」の範疇ではないですね...。


Ken> =   Debian の場合、全パッケージの history みたいなのを別ファイル
Ken> =   で用意して、時系列遷移関係を表現するといいんじゃないかと思い
Ken> =   ます。

Ken> ふむ。
Ken> /var/lib/dpkg/をcvs で管理するとかでしょうか、やるとしたら。
Ken> ただ、いかんせんパッケージ数がアレなんで、膨大どころかあっさり
Ken> 破綻しそうな気がします、よほど入念に設計しない限り。

それと、どの時点で古い情報を捨てるかが結構難しい、Debian の
場合はディストリビューション単位で切ることができるのでどうに
かなりそうですが...。

Ken> インストール済の*.deb についてもどこかに保持しておかなくてはな
Ken> らないですよね。でないと経時状態遷移を管理する意味が無いですか
Ken> ら。これも大変ですね。

Ken N. さんがおっしゃってるのは先のオブジェクト指向で言う所
のインスタンスレベル(→Debian で言うとインストールされたパッ
ケージ)での保管じゃないですか? それはちょっと莫大というか、
大変です。

クラスレベル(→作成され公開されたパッケージごと)だとそこまで
複雑ではないと思います。


Ken> #available listの概念を捨てて、依存/ 競合関係をファイルの粒度
Ken>  で管理する、というのまで考えたんですが、そこまでやったらもう
Ken>  dpkgじゃない...

クラスレベルだと、dpkg とは無関係にモデルを用意できます。持
たせるなら apt レベル。ディストリビューションのアップデート
の際にこの情報を元に推論してパッケージを取捨します。xtt への
移行も思いの他スムーズにいきます。


あと、ガーベッジコレクションに相当する、パッケージの自動除去
というのもちらっと考えています。一番単純なのは、何月何日付け
でパッケージを削除とか。特定のコンディションを与えておいて、
それを満たした時に(cronとかで定期的にチェック)削除とか。

--
岡 充 (Mitsuru Oka)
高知大学理学部情報科学科4回生