石岡@中央農研・資材利用研です。
kinneko <ydate@xxxxxxxxxxxx> wrote:
> > まさに言えますね、とても出来そうにはありません。
> > 宝庫が一杯ありますが選択も大変だし...
> > 只今片っ端からCDをマウントしてls -lRをやっています。
>
> 必要なものは、かなりの確率でパッケージングされていると
> 思いますので、CD を漁るよりはほしいソフトウエアがパッケー
> ジされているかどうかを調べるほうが時間が無駄にならないか
> と...(^^;。
>
> hdinstall して apt-get が普通にできるのであれば、パッ
> ケージ探しは、apt-cash search を使うのが便利かもしれませ
> ん。debian.org でも既存パッケージの検索サービスをやって
> います。
apt-cache なんてのがあったんですね。依存関係を知る手段がないものかと思
いつつも、Web の方のパッケージリストを見ていました。
# まあ、大抵そのままダウンロードだったからいいんですけど。
> > > usbcd は、わたしの試した範囲ではまだ動いていません。
USB のデバイスへの対応ってどんなものなんでしょうか。ML の過去ログを見
たところ、HDD は使えたって話はあったのですが。こちらで産総研の
20020828 版を試したところ、MO ドライブは認識されたのですが、デスクトッ
プに表示されるアイコンが sda1〜4 で、それをクリックしても開かずにやや
悩みました。正解は /dev/sda だったんですけどね。
> > このusbcdは是非期待したいのです。
> > 何しろHD無し、FD/CDは外付けで行きたいのでUSBが欲しいです。
>
> HD 無しでやるには、メモリがたくさん必要ですよ?
そのためのパッケージ削除なんでしょうか。今のところ、私の作っているもの
は CD-R に焼くイメージが 160MB くらいです。圧縮されている KNOPPIX が
150MB くらいで、圧縮前のが 350MB くらいです。これで、X(blackbox) と
ブラウザ(konqueror)が起動します。普通の人が使わないものとして
apache, php, mysql が入っているので、もっと削れると思います。
# ただし、locales は ja_JP しか入れていないため、多言語対応するとなる
# とあと 100MB くらいは取ると思います。目的によってはもっと削ることが
# できるでしょうから、相殺されるかもしれませんが。
少し精神的にゆとりが出来たので、大量削除の筋道の簡単なメモだけ書きます。
まず必要なのは、最小限のパッケージのリストです。といっても、作業を始め
る段階ではリストは無いでしょうし、実際にはこれを調整するのが最終目的に
なります。一応、私が使ったものを添付しておきます(添付ファイル付けて投
稿しても大丈夫ですよね)。必要に応じてパッケージ加えるなり、調整をして
ください。
なお、これは本家の 2003-01-20 版(Debian の Testing がベース)のものな
ので、一部パッケージは産総研版や yak 版には存在しません。これをそのま
ま yak とかに使うと、依存関係とかでにっちもさっちもいかなくなるかもし
れないので注意してください。
chroot した後に、現在のパッケージの状態を取得します。
# dpkg --get-selections > original.txt
次に、perl のスクリプトを用意します(私は purge.pl って名前にしてます)。
これは dpkg での設定を purge に変更するものです。ただし、hold のものは
そのまま、パッケージ名に knoppix と入っているものは install にします。
while(<>){
split(/\t/);
$package = @_[0];
if($_ =~ /hold/){
system("echo $package hold | dpkg --set-selections");
}elsif($_ =~ /knoppix/){
system("echo $package install | dpkg --set-selections");
}else{
system("echo $package purge | dpkg --set-selections");
}
}
で、このスクリプトを original.txt を引数に動かします。
# perl purge.pl original.txt
これには、そこそこ時間がかかります。どう変わったか確認したかったら、
dpkg --get-selections の出力を見てください。
続いて、最小限のパッケージのみ install に変更します。同様に perl のス
クリプトを作ります(私は minimize.pl と言う名前にしています)。
while(<>){
split(/\t/);
$package = @_[0];
if($_ =~ /hold/){
system("echo $package hold | dpkg --set-selections");
}elsif($_ =~ /deinstall/){
system("echo $package deinstall | dpkg --set-selections");
}elsif($_ =~ /install/){
system("echo $package install | dpkg --set-selections");
}else{
system("echo $package purge | dpkg --set-selections");
}
}
これを、最小限のパッケージリストを引数に動かします。
# perl minimize.pl minimun.txt
これで、最小限のパッケージリストに書かれている状態が反映されます。
続いてパッケージの削除ですが、
# script process.log
とでもして、過程のログを取っておいた方がいいと思います。その後、
# apt-get dselect-upgrade
とします。依存関係に問題がなければ、大量のパッケージ名が表示されたあと、
0 packages upgraded, 0 newly installed, 996 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 1618MB will be freed.
Do you want to continue? [Y/n]
と出ます。ここで y リターンで削除が始まります。途中で質問してくる場合
もあるので、削除されていく様子を眺めていましょう。ディレクトリは削除さ
れない場合も多いので、それも削りたいならログを参考にしないといけないで
しょう(うまくスクリプトを作ればこれも一気に削除出来ると思います)。
依存関係に問題があった場合、
# apt-get dselect-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Sorry, but the following packages have unmet dependencies:
konq-speaker: Depends: festival but it is not going to be installed
libqt3-dev: Depends: libmng-dev (>= 1.0.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
E: Internal Error, problem resolver broke stuff
などと出ます。パッケージ数が少ない場合は、
# echo konq-speaker purge | dpkg --set-selections
# echo libmng-dev install | dpkg --set-selections
などとして個々に対応すれば良いと思います。多かった場合は、ログからパッ
ケージ名を切り出して、
while(<>){
chomp;
$package = $_;
system("echo $package install | dpkg --set-selections");
}
というスクリプトの引数にパッケージ名の入ったファイルを指定するなどして、
対応して下さい。
削除が終わったあと、dpkg --get-selections でパッケージの状態を見ると、
おそらく purge のまま残っているものがあると思います。それは、hold になっ
ているパッケージとの兼ね合いなどで、指定は purge だけど削除されなかっ
たものだと思います(自分でもよく分かっていません)。dpkg -l の出力を見
ると、
pi kdesktop 3.0.4-1 KDE Desktop
といった表示になっていると思います。これらのパッケージについては、
# apt-cache depends <パッケージ名>
で依存関係を確認して削除して行って下さい。
最終的には手作業が入りますが、一度最小構成のリストが出来てしまえば、再
度削除が必要になった時にはあっさりと進みます。
# まあ、サイズが小さくなるから、ディレクトリごとバックアップを取ってお
# くのも気楽ですけど。
とりあえず、こんなところで。
--------------------------------------------------------
石岡 厳 <ISHIOKA Gen> e-mail: gen@xxxxxxxxxxx
独立行政法人 農業技術研究機構 中央農業総合研究センター
土壌肥料部 資材利用研究室
--------------------------------------------------------
minimum.txt.gz
Description: Binary data
|