2007年10月11日木曜日

減量仕様Puppyの作り方

コメ欄で減量Puppyの作り方訊かれたのでメモ代わりに書いときます。
減量puppy独自仕様の第3版の出来が芳しくないうえにちょうどいいタイミングでPuppyLinux3.0が公開されましたので、それを減量してみる。
なお、これを書いてる人はLinux歴2ヶ月です。保証もなにもありませんので参考にする人はどんな事態になってもおkな覚悟が必要です。

puppyには元々カスタマイズする機能があるのですが、それはオリジナルをベースに機能追加するだけ。
機能を追加すればするほどメモリを消費するのでそれは使わない。
減量仕様のPuppyを作ることによって

  • 容量節約
  • メモリ消費量が少ない(と思う)
  • メニューがすっきり
  • ディレクトリ周りもすっきり

等のメリットがあります。
逆に

  • 省いた機能により互換性が無くなる場合がある
  • 新しいバージョンが誕生したら作り直す必要がある

等のデメリットもあります。
puppyから減量して不要なアプリを外しても後からそのアプリを組み込むことはできるので、普段はあまり使わない機能を外しておくのも良い手だと思います。
用意するもの

  • 減量したいバージョンのPuppyLinux
  • Puppyが起動するPC
  • 十分に空きのあるHDD
  • 一通りのpuppyの知識
  • 失敗してもへこたれない根性
  • まとまった時間

作業手順
まず、Puppyを起動します。
次にHDDをマウントします。
HDDに作業ディレクトリを作ります。
/initrd/pup_ro2 の全てのファイル、ディレクトリを作業フォルダにコピーします。
コマンドラインでコピーするときは-aスイッチをつけてください
作業フォルダにはPuppyのファイルシステムが展開された形になっていますので不要なファイルを取り除きます。
どのファイルを削除したら良いのか分からない場合はpetパッケージを参考にしてください。
petパッケージはインストールするファイル+インストールスクリプトを圧縮しただけですので解凍できます。
インストールするファイルはディレクトリ構造がそのままの形になっているので辿っていけば削除するファイルは見つかると思います。
場合によってはインストールスクリプトによってファイルが書き換わっている場合もありますので調べてみましょう。
メニューも書き換える必要があります。/root/.jwmrcがJWMのメニューです。不要なメニューの編集をしましょう。
/usr/lical/binに起動するアプリの設定があります。
不要な物は削除しましょう。default***なファイルは標準設定のアプリです。
例えばdefaultbrowserをnetscapeにしておけばWebブラウザのデフォルトとしてSeamonkeyが起動するし、dilloを設定すればdilloが起動します。
必要に応じて書き換えてください。
一通り削除が済めばpuppyで使えるようにSquashFS形式に変換します。
コンソールから
mksquashfs /root/pup_300.sfs
/mnt/作業に使ったHDD/作業フォルダ

これでrootフォルダにpup_300.sfsが作成されたと思います。
あとは減量させたいpuppyのpup_300.sfsと今作ったpup_300.sfsを差し替えます。
再起動してチェックしてください。
応用としてSquashFS形式する前にFirefoxを組み込んでみたり壁紙変えてみたりすると独自のPuppyが出来ます。
試してみてください。