No Bugs, No Life

読んだ本や、プログラミング、システム開発等のねたを中心に。文章を書く練習なので少し硬派に書くつもりだけど、どうなることやら。

代替PCのセットアップ

我が家愛用のノートPC*1が破損・修理行き*2となってしまったので、暫く自宅でPCが使えない状態になっていた。
何とか代替機の目処(この記事は代替機で書いている)も付いたことで、代替機セットアップの経緯を記録しておく。

代替機のスペック

name
Pluto
メモリ
256M(うち、32MBがグラフィック用なので実際には224M)
CPU
Intel Celeron M 1.4G
OS
Windows XP Pro SP3
vendor
IIYAMAのよく分からない型

代替機の課題と対応案

課題

メモリ搭載量が小さいのでFirefoxを動かすだけで精一杯。
アンチウイルスはAVGを使っているのだが、定義ファイルのupdateが始まってしまうと、その後のupdate後スキャンが終わるまでの数十分は何も使用できない程度に固まる。

なお、自分自身の自宅でのPCの用途は、Web閲覧、読書とか体重とかのライフログ管理、自宅用ツール開発といったあたりが主だったところで、最初の2つは家族もそれなりにつかってる。
特にライフログ管理系のうち「読書マラソン」は家人もガキンチョも使っているうえに、VisualuRubyをUIに採用しているのでWindows縛りがある。

対応案

対応としては以下のような案が考えられる。

  1. 我慢する
  2. PCをとことん軽量化して頑張る
  3. 別の軽量OSを試してみる

とはいえ、案1は無理。
Win7とはいえ一度2Gのメモリに慣れてしまうと、ウイルス定義ファイルのupdateの都度30分以上も固まってるようでは萎える。
案2もtryしたけど、必要最小限とおもえるぐらいまで導入SWを削っても、結局Windows+SP(とかその他のHotFixとか)の部分には踏み込めず、あまり状況は改善しなかった。
ということで、案3を中心に考える。

代替OSの検討

別の軽量OSを探すといっても、自宅PCとして家族も使うことを考えると選択肢はDesktop系のLinuxディストリビューションしか思いつかない。*3
Google(とWikipedia)にお世話になって、軽量ディストロをいくつか見繕う。候補として残ったのは以下。

Damn Small Linux
今回調べた中では最軽量。公式ページ(DSL information)の状況を見ているかぎり、あまり開発が活発ではない?*4
EcoLinux
日本人の学生さんが作ったUbuntuベース。ただ、WikiPediaの以下の記述に怯む。公式ページ(The Ecolinux Project)

ただし、LiveCDでの起動はUbuntuと同様のスペックを要する。

http://ja.wikipedia.org/wiki/Ecolinux
Puppy Linux
気のせいかも知れないけど日本語の情報が多めな気がする。何となく犬が可愛らしかったのでまずはこれから試してみる。公式ページ(Puppy Linux)、日本語版(Puppy Linux 日本語版)

というわけで、次回はPuppy Linux の導入から。

*1:Saboten:Lenovo G570,RAM 2048M,CPU Intel B800 1.5G

*2:ディスプレイとキーボードの接合部が分解... orz

*3:ADとしては最悪の記述だ...。

*4:2012.9月頃に4.11のRC2が出ているが、それ以降の動きが見えていない。

Puppy Linuxの導入

前回の続きとして、代替PC(Pluto)へのPuppy Linuxの導入に関して記録する。

Puppy Linuxのバージョン

日本語版公式サイト(Puppy Linux 日本語版)によると、最新版は4系列に分かれている様子。

本家版「公式」は複数の系列が並立しています。
Precise (開発者 Barry): Precise Puppy 5.4.3 viewtopic.php?t=2216
Wary (開発者 Barry): Wary-5.3 viewtopic.php?t=02784
Racy (開発者 Barry): Racy-5.3 viewtopic.php?t=02784
Slacko (開発リーダ 01micko): Slacko-5.4 viewtopic.php?f=23&t=2085

Lupu (開発リーダ Playdayz): Lupu-528.005 viewtopic.php?f=23&t=1963
Lupu (Lucid Puppy) は今後の更新予定はなく、現在「公式」からは外されています。

http://sakurapup.browserloadofcoolness.com/viewtopic.php?t=2105

また、WikipediaによるとRacy Puppyが比較的新しいカーネルをサポートしているとのことから先ずはRacyを試行する。

Racy Puppy
Barry K による開発。Waryに比べ新しいカーネルや Xサーバーを採用し、最近のハードウェアへのサポートを意図している。カーネルと Xサーバー以外は基本的に Waryと同じ。バージョン 5.2.2 から Waryと Racyが同時リリースされる。

http://ja.wikipedia.org/wiki/Puppy_Linux

Racy Puppyをダウンロードする

日本語版公式サイト(Puppy Linux 日本語版)からのダウンロードリンクにしたがって素直にisoを落とす。
ダウンロードしたisoは、racy-5.2.90.iso*1
特に問題はなし。

isoをCDに書き込む

CD writerの類のSWも一式削除していたので、ディスクメディエーター呉葉 Version 0.8.4a(黒色雑音)をダウンロード、インストール*2してisoを書き込む。
特に問題はなし。

Racy Puppyを起動

焼き付けたLiveCDで起動する。
ここで問題が発生した。
OSとしての起動は問題ないのだが、Xがキーボードもusbマウスも認識しない。
(初期画面は表示されるが、マウスもキーボードも動作せず。)

試したこと
  1. boot時にpuppy pfix=nox としてコンソールログイン
  2. ログインの過程でキーボード(jp106)を設定。
  3. 同じくロケール(ja_JP)を設定
  4. 同じくタイムゾーン(Asia/Tokyo)、Localを設定
  5. xorgwizardでディスプレーサイズ(1024x768x16)を設定
  6. xorgwizardからTest_X_Runを実行
  7. Test画面が表示されてXが動いているってメッセージが表示される。ただし、キーボードが動作せず(Shift+CapsLockも効かない)、マウスも動作せず、60秒でタイムアウト
  8. 復帰がうまく行かないようで、真っ黒になったり砂嵐状態になったり。

どうやら、新しいXでは駄目なのかもと挫折。
後付けではあるが、Xのバージョンを確認する(手打ちなので微妙に間違ってるかも)。

# Xorg -version

X.Org X Server 1.11.0
Release Date : 2011-08-26
X Protocol Version 11, Revision 0
(snip)
# 

ひとまず自分の手にはあまりそうなので、4.3.1を試行することにする。

Puppy 4.3.1-JP2012をダウンロードしてLiveCD作成

ダウンロード元は日本版公式(Puppy Linux 431JP2012)
ダウンロードも書き込みも問題なし。

Puppy431-JP2012を起動

焼き付けたLiveCDで起動する。
今度は難なく起動できた。
f:id:kazyury:20130217190904p:plain

一応Xのバージョンを確認しておこう。

# Xorg -version
X Window System Version 1.3.0
Release Date: 19 April 2007
X Protocol Version 11, Revision 0, Release 1.3
Build Operating System: UNKNOWN 
Current Operating System: Linux puppypc 2.6.30.5 #1 SMP Tue Sep 1 15:48:26 GMT-8 2009 i686
Build Date: 28 November 2007
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Module Loader present
# 

うむ。
Xの件は後で調べることとしてとりあえず4.3.1を主環境として運用してみることにする。
(続く)

*1:関係者の皆様に感謝致します

*2:作者様に感謝致します。とても便利なSWです。

Puppy LinuxへのFirefox導入

Puppy4.3.1-JP2012にはデフォルトのWebブラウザとしてSeaMonkey1.1.18が初期導入されている。
SeaMonkeyは動作もとても軽く、(懐かしの)Netscape Navigator風味のUIで味わい深さを醸し出しているのだが、いかんせん最近のWebページには対応しきれていない。
例えば、はてなブログも書き込むことができなかったり、Twitterに至ってはログインすらできない。*1

家人もWebでアンケートに答えたりポイントを貯めたりしているので、SeaMonkeyではなくFirefox(の新しい版)をデフォルトのWebブラウザにしてみる。

選択肢

ざっと見たところ以下の選択肢がある様子。

PPM(Petget Package Managaer)からのFirefox導入
Puppy標準のパッケージマネージャにもFirefoxは登録されている。ただ、いかんせん古いだろ、これ...。

f:id:kazyury:20130217195604p:plain

日本語版関係者の方によるsfsパッケージ
日本語版関係者の方(シノバー様)によりFirefox 15がsfsとしてパッケージングしてくださっている。感謝します。ここ(Bridge to minibar)からダウンロードすることができる。が、最新版ではない*2
mozillaからダウンロード
当然のことながら本家(次世代ブラウザ Firefox 高速・安全・カスタマイズ自在な無料ブラウザ)からのダウンロードも可能。ここは当然ながら最新版も可能だが、ダウンロード形式がtar.bz2となる。インストール手順についてはインストール手順 (Linux) | Firefox ヘルプに記載されている。

新しもの好きの自分としては、mozillaからの最新版ダウンロードを試みる。

案3mozillaからの最新版ダウンロード試行の記録

mozillaからのダウンロード

本家(次世代ブラウザ Firefox 高速・安全・カスタマイズ自在な無料ブラウザ)から最新版をダウンロードする。何も考慮不要。
ダウンロードが終わったら適宜のアーカイバで適宜の場所に展開する。
ひとまず何も考えずに~/my-documents/firefox以下に展開した。
展開先のセンスが無いことは不問。

実行

何も考えずにインストール手順 (Linux) | Firefox ヘルプに記載されているように展開したfirefox/firefoxを実行してみる。
...動かない。

XPCOMGlueLoad error for file /root/my-documents/firefox/libxpcom.so:
libxul.so: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
Script completed hit RETURN to close window.

libxul.soが見つからないのかと思ったのでLD_LIBRARY_PATHをセットしてみる(知ってる人には怒られそうだけど)。

# echo $LD_LIBRARY_PATH
/lib:/usr/lib:/usr/X11R7/lib:/root/my-applications/lib:/usr/lib/seamonkey:/opt/samba/lib:/usr/lib/seamonkey-1.1.18
# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
# echo $LD_LIBRARY_PATH
/lib:/usr/lib:/usr/X11R7/lib:/root/my-applications/lib:/usr/lib/seamonkey:/opt/samba/lib:/usr/lib/seamonkey-1.1.18:/root/my-documents/firefox

やはりダメ。

# ./firefox
XPCOMGlueLoad error for file /root/my-documents/firefox/libxpcom.so:
/lib/libc.so.6: version `GLIBC_2.7' not found (required by /root/my-documents/firefox/libxul.so)
Couldn't load XPCOM.

ここでようやっと依存が解決されていないことに気づく。
Firefox 18 システム要件 | 次世代ブラウザ Firefoxを確認すると、

Firefox を利用するには、最低限以下のライブラリまたはパッケージが必要です。
GTK+ 2.18 以上
GLib 2.22 以上
Pango 1.14 以上
X.Org 1.0 以上 (1.7 以上を推奨)
libstdc++ 4.3 以上

http://www.mozilla.jp/firefox/18.0/system-requirements/

とのこと。
PPMからgtk+,glib,pango,libstdc++ を導入する。
f:id:kazyury:20130217205331p:plain
念のため再起動してから再試行。

# ./firefox
XPCOMGlueLoad error for file /root/my-documents/firefox/libxpcom.so:
libxul.so: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
# ./firefox
XPCOMGlueLoad error for file /root/my-documents/firefox/libxpcom.so:
/lib/libc.so.6: version `GLIBC_2.7' not found (required by /root/my-documents/firefox/libxul.so)
Couldn't load XPCOM.

...orz
glibcの2.7が無いと言ってるんだっけ。
glibcのバージョンを確かめる。

# /lib/libc.so*
GNU C Library stable release version 2.6.1, by Roland McGrath et al.
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.2.2.
Compiled on a Linux >>2.6.21.7<< system on 2007-10-18.
Available extensions:
	crypt add-on version 2.1 by Michael Glad and others
	Native POSIX Threads Library by Ulrich Drepper et al
	BIND-8.2.3-T5B
For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html.
# 

2.6.1か、、、。PPMでglibcを探すも、2.7は無い様子。
ここ迄くると手に余りそうなので、最新版は一旦諦める。無念。

日本語版関係者の方によるsfsパッケージの導入

日本語版関係者の方(シノバー様)によりFirefox 15がsfsとしてパッケージングしてくださっているので、ここ(Bridge to minibar)からダウンロード。
ダウンロード後は、SFS-Load on-the-fly(メニュー>セットアップ)でSFSをロードする。
こちらは何も問題なくあっさりと使用可能。本当に関係者の皆様には頭が上がりません。ありがとうございます。

後日譚

Firefoxの導入で思わず楽しんでしまったけど、やはりSeaMonkey1.1.18の軽快さは失われてしまったようだ。

Mem: 176904K used, 44148K free, 0K shrd, 2100K buff, 46860K cached
CPU:   1% usr   0% sys   0% nic  93% idle   3% io   0% irq   0% sirq
Load average: 0.61 0.55 0.48 3/87 15780
  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND
 9404  5756 root     S     436m 202%   0   1% /usr/lib/firefox/firefox-bin 
(snip)

firefoxだけで搭載メモリの2倍使ってやがる、、、。

*1:ユーザIDとパスワードの入力が行えない

*2:この記事を記載時点のFirefox最新版は18.0.2