~~正月休み中なのですが、ヒマなので昨年末の職場 PC を CentOS にした件のことをまとめてアップしたいと思います~~

ここ何年かは TurboLinux, SuSE と、KDE に注力するディストリビューションを使ってきたこともあり、デスクトップは KDE がお気に入りです。
もちろん CentOS にも KDE のパッケージは用意されていますが、デフォルトは Gnome で、オプションを選択しないとインストールされなかったりと、あまり力が入っていない感じです。
サーバ系のプロトタイプ開発のために CentOS にしたものの、デスクトップはやっぱり KDE が好きなので、オプションをインストールして、普段利用するデスクトップには KDE を選択します。

・・・が、RedHat の KDE と Gnome でデザインを統一するという余計なお世話な方針のせいで、KDE にするだけではイマイチ垢抜けない感じです。仕方ないので、細かくカスタマイズをしていくことにします。

まず、外観&テーマを変更します。

テーマ → クリスタル SVG
ウィンドウ装飾 → Quartz
ウィジェットスタイル → Plastik
色スキーム → Kermik (一部カスタム)
背景 → ブルーブレンド

フォントもイマイチなので、以前使用していた TurboLinux についていたリコーフォントをインストールしてそちらをデフォルトにします。

・・・カスタマイズを進めて、だいぶん良くなってきたと思っていたら、何故か GDM が core dump してログイン画面がまともに表示されなくなってしまいました。
軽く Google で検索してみても、原因や対策方法は見つかりません。
分かりませんが、どうせデスクトップは KDE なので、さっさと GDM には見切りをつけて KDM に切り替えてしまうことにします。

調べて見ると、切り替えるためには設定ファイル「/etc/sysconfig/desktop」を変更すればよいようです...

DISPLAYMANAGER="KDE"

変更して X をリセットすると、テーマが見つからずデフォルトのテーマになってしまいます。
まぁこのままでも機能上の害はないのですが「/usr/share/config/kdm/kdmrc」を修正すれば OK なようなので対策します。

Theme=/usr/share/apps/kdm/themes/CentOSCubes

OK。
GDM のときとぱっと見は区別がつかないログイン画面になりました。(^^;;;;;;

いつまでも見た目で遊んでいると怒られるので、次は適当に切り上げてユーティリティやアプリを設定して、仕事ができるレベルまで環境を整えることにします。

年末年始は、実家に帰省しています。
アニヲタ的には、この時期は番組の改編や特番などチェックするべきことが多く、HDD レコーダの EPG のリミットを越えて部屋を離れるのはかなり心残りなのですが、そんな理由で帰省期間を縮めると本格的にダメなひとの烙印を押されそうなので、ちゃんと帰ることにしました。(^^;;;;;;;;;;;;

とはいっても、やはり気になるので、実家から遠隔で HDD レコーダ を操作する方法を検討することにします。(^^;;;;;;;

幸い、うちの HDD レコーダは、東芝の RD-S300 で、こいつはネットに繋げばブラウザを利用して操作することが可能なのですが、実家からアクセスするためには 2 つほど問題がありました。

1 つめは、ネットから操作する場合は本体の電源を ON にしておく必要があるということです。考えれば当然なのですが、そもそも今回は部屋から遠く離れた場所で操作するのが目的なので、この制限はイタすぎます。

# 帰省期間中、電源入れっぱなしという方法もあるんでしょうが、電子ちゃんに怒られそうなのでとりあえず考えないことにします。

2 つめは、操作画面で Java アプレットを使用しているところがあるので、NAT を越せないのではないかという疑念がある点です。(最初からあきらめているので、本当にダメかは検証していませんが)

1 つめの方は、マニュアルを見ているときに発見した WOL (Wake-On-LAN) という単語から突破する方法が見つかりました。WOL は、サーバなんかの電源を特殊なパケットを送出して入れる規格で、以前使用していた PC が、電源を落としても LAN のリンクが down しない理由を調べたときに知ってはいたのですが、実際にやってみたことはないし、まさか HDD レコーダが対応しているとは思いもしなかったので盲点でした。

早速使い方を調べて、実験してみることにします...

Debian の場合、パッケージがあるので、

# apt-get install wakeonlan

で、インストールは終了します。
実行には、対象機器の MAC アドレスが必要なので、一旦電源を入れて arp で MAC アドレスを調べてから電源を切り、

# wakeonlan MACアドレス

を実行します。すると、ちゃんと HDD レコーダの電源が入りました。成功です。
電源 OFF は、GUI で行えるので、これで電源操作は OK そうです。

次は、アプレット対応ですが、これは OpenBlockS に PPTP のサーバをたてて VPN で実家から繋ぐという方法でクリアすることにしました。

PPTP もやったことないので調べると、ポート 47 と 1723 を使用するようなので、とりあえず ADSL ルータのポートマッピングを追加しておきます。
# よくよく調べたら今回の場合、ポート 47 は不要だったかも...

ルータ側の設定ができたら、

# apt-get install pptpd

で、インストールし、/etc/pptpd.conf の localip と remoteip を追加、 /etc/ppp/chap-secrets に、アクセスするためのアカウントとパスワードを追加して、/etc/init.d/pptpd start で起動します...

うまくいくようになったので、次は Windows 側の設定をします。
マイ ネットワークのプロパティから「新しい接続」で VPN の接続を追加します...

・・・接続。ちょっと時間がかかりましたが、接続できたようです。
内部 IP アドレスでブログにアクセスすることもできます。
うまくいっているようなので、目的の HDD レコーダにアクセスしてみます・・・

ん?接続がタイムアウトしてしまいます。

どうも PPTP サーバがたっているサーバ以外にアクセスできないようです。
ファイアウォールの類は設定していないのでパケットの転送の問題でアタリをつけます。

# cat /proc/sys/net/ipv4/ip_forward
0

やはり IP 転送が無効になっているようです。
とりあえず、

# echo 1 > /proc/sys/net/ipv4/ip_forward

で有効にしてやってみます。
OK。これだけだとリブートすると戻ってしますが、まぁとりあえずはよしとしましょう。

前回、DELL の OptiPlex 740 に CentOS 5.1 をインストールする記事で「インストールは問題なくできたようです」と書きましたがウソでした。
問題大有りです。マウスカーソルが表示されていません。(^^;;;;;;;;;;;;;;

マウスをぐりぐり適当に動かすと、マウスオーバのイベントであちこち表示が変わるので、マウスが認識されていないのではなく、マウスカーソルが描画されないだけのようです。

最近の UI では、ほとんどのメニューがマウスオーバに反応してハイライトされるので、マウスカーソルが出なくても、操作不能とまではいきませんが、それでも著しく操作性は悪いです。あと、マウスカーソルほどの問題ではありませんが、画面の解像度が 800x600 になっているのも、狭いのでとっととディスプレイにあわせて 1280x1024 に変更したいところです。

とりあえず、root でログインして、画面やマウスの設定を触ってみますが、改善は見られません。あと、解像度の選択にも 640x480 と 800x600 しか選択肢に出ていません。久しく忘れていたイヤな記憶がフラッシュバックします...

「あれ? ひょっとしてビデオチップがサポートされてない?」

そういえば、VGA は「内蔵」でいいやと思ってそれ以上は気にしていませんでした。今から思えば迂闊すぎます orz

「最悪、自腹でグラボ増設か・・・」

自腹でも、そんなに高価なものではないにしろ、精神的ダメージから軽く血の気が引いていきます。

といっても、載っているビデオチップがどう認識されているのかを確認するまでは、まだ敗北が確定したわけではありません。
大昔、X は、XF86Config をエディタで直接編集して startx で起動するものだった時代を思い出しながら調査を進めます。

まずは、X サーバの出すメッセージを確認。
/var/log を適当に覗くと、Xorg.0.log というファイルがそれっぽそうです。

(--) Chipset GeForce 6150 LE found

ふむ。
調べると、Athlon64 用の統合チップセットのようです。
とりあえあず、サポートされていないというレベルではないようなので、ちょっと安心します。だとすれば、マウスカーソルが出ないのはドライバのバグかなんかの可能性が高いので、Google で同じ症状が報告されてないかを探すことにします...

「まさにそれ!」は見つからなかったのですが、「ハードウェアカーソルがバグっているのでソフトウェアカーソルにしてみれば」というのがありました。そういえば、昔は結構 FAQ 的な話としてあった気がします...

X の設定変更を X の上でやると確認が面倒なので、一旦ログアウトしてから CTRL+ALT+F1 で、コンソールに切り替えて root でログインします。

/etc/X11/xorg.conf に sw_cursor のオプションを追加します。

Section "Device"
        Identifier  "Videocard0"
        Driver      "nv"
        Option      "sw_cursor"
EndSection

保存したら、CTRL+ALT+F7 で X に戻って、CTRL+ALT+BkSp で X をリセットします。

・・・無事マウスカーソルが表示されました。とりあえずめでたしです。

で、続いて解像度です。
これは、ドライバではなくモニタの認識に失敗してるためだけのようなので、モニタを手動で Generic LCD 1280x1024 を設定します。

・・・画面がブラックアウトして、サポートされていない解像度だと表示されてしまいます。サポートされていない解像度なわけはないので、うまく設定がされていない線を疑います。GUI はアテにならないので、直接 xorg.conf を編集します・・・解像度指定が挿入されている箇所が正しくないようなので移動してみます。

一応うまくいきました。
Nvidia のビデオチップならば、Nvidia ドライバも試してみたいところですが、それは後日。

リース期間の満了により職場で使用している PC のリプレースすることになり、新しいマシンは、ちょっと贅沢に DELL の OptiPlex 740 を、Athlon(TM) 64 X2 5600+, メモリ 4GB, HDD 250GB x2 の構成で決裁をもらい発注しました。
OS は、自分で Linux を入れるので、OS なしモデルで、その代わり VMWare Workstation と、パッケージ版の Windows Vista を購入します。

入れる Linux は、今は、新技術調査とか環境整備といった業務が多いので、自分の環境で実験できるように、実際の案件で採用することの多い RedHat Linux の clone である CentOS にします。ただし、バージョンは最新の 5 で 64bit 版を選択します。

その CentOS ですが、タイミングよく PC の到着とほぼ同じときに 5.1 がリリースされたので、自宅の OpenBlockS で rtorrent を仕込んで速攻でダウンロードし、 DVD に焼いてから職場に持ち込みました。

設置したばかりの真新しい PC の電源入れて、DVD をセットします...

ん? なんか OS が見つからないといわれます。
どうやら、OS なしモデルでも、BIOS は、とりあえず HDD ブート専用で設定されているようです。ブート直後にキーを押してメニューに入り、 DVD を指定して起動します。

今度は CentOS のロゴが表示され、OS がロードされていきます。
念のためメディアチェックを実行してから、インストール作業にかかることにします。

まずは、HDD のパーティションを決めます。

今回、ディスクが 2 台あるので、RAID を構成します。戦略は、基本はミラーリング (RAID 1) で、ワーク用に一部をストライピング (RAID 0) に、スワップ領域は RAID 不用なので、同じ位置にそれぞれ確保することにします。

16GB を / に、96GB を VMWare の仮想ディスク置き場として /vmdisk に、72GB を /home に、48GB x 2 をストライピングして /work に割り当てます。

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2089    16779861   fd  Linux raid 自動検出
/dev/sda2            2090        2220     1052257+  82  Linux swap / Solaris
/dev/sda3            2221       14752   100663290   fd  Linux raid 自動検出
/dev/sda4           14753       30394   125644365    5  拡張領域
/dev/sda5           14753       21018    50331613+  fd  Linux raid 自動検出
/dev/sda6           21019       30394    75312688+  fd  Linux raid 自動検出
 
Disk /dev/sdb: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2089    16779861   fd  Linux raid 自動検出
/dev/sdb2            2090        2220     1052257+  82  Linux swap / Solaris
/dev/sdb3            2221       14752   100663290   fd  Linux raid 自動検出
/dev/sdb4           14753       30394   125644365    5  拡張領域
/dev/sdb5           14753       21018    50331613+  fd  Linux raid 自動検出
/dev/sdb6           21019       30394    75312688+  fd  Linux raid 自動検出

パッケージの選択は、「Desktop - Gnome」「Desktop - KDE」「Server」「Server - GUI」ぐらいを、とりあえず選択しておきます。
# 仮想化は VMWare を入れるのでスルーします。

・・・インストールが無事終了してリブートされ、インストール後の設定に入ります。

接続が社内 LAN なのでファイアウオールと SELinux は、サクっと無効にします。

全ての設定が終わり、ログイン画面が表示されました。
とりあえず、インストールは問題なくできたようです。

今まで、RSS リーダーは Firefox で Sage を使っていたのですが、これだとその PC でしか使用できないので、サーバ型の RSS リーダーをインストールしてみたいと考えていました。

OpenBlockS の OS も更新できたので、次はこのあたりに手を付けることにします。

とりあえず、Google で検索です..

む。RSS もリーダーもサーバもネットではありふれた単語すぎてかすりもしません orz
少し検索語を工夫したら、「フレッシュリーダー」というのが見つかったのですが、残念ながら x86 のバイナリしか配布していないようなので、OpenBlockS では利用できなさそうです。
仕方ないので、さらに探していくと Gregarius というのを見つけました。
GPL ライセンスで、PHP、MySQL 。条件は問題なさそうです。

早速ソースをダウンロードして、Wiki のインストール手順を読みながらインストールしてみることにします。

ドキュメントを読むと、アーカイブを展開して、設定ファイルに DB の接続情報を設定して、DB のスキーマ作成を実行するという手順で進めればよいようです。

当然ですが、Apache の Alias で、アーカイブを展開したディレクトリをアクセスできるようにする設定も必要です。

作業が済んだら、実行です...

...なんかうまくいきません。(;_;)

あらためてアーカイブに入っている INSTALL ファイルを読んでみると、 .htaccess を無効にしてみること、詳細は FAQ を読めとあります。

FAQ を読んでみると、どうやら mod_rewrite が有効になっていないのが問題のようです。
Apache の設定を変更して mod_rewrite を有効にするのと、アーカイブに含まれる .htaccess が有効になるように、AllowOverride を All に変更します。

エラーは出なくなったので、Sage に登録していた Feed を OPML で出力して読み込ませます。

更新すると RSS 集めてきて新着は表示されます。
が、サイト別に表示させるリンクがうまく動作しないようです。
エラーを見ると、どうやら mod_write の書き換えがうまくいっていないようですが、それ以外にもサイト名に日本語が含まれていると、その部分が「_」で置き換えられて潰されてしまうという問題もあるようです。これでは、mod_write の設定を追加しても、結局だめなので、先にこちらを調べることにします...

bug track 情報を見てみると、開発版の方にはそれっぽい修正がいくつか登録されているようです。
ひょっとしたら、最新版 (nightly) なら直っているかもしれません。

nightlyの最新ソースをダウンロードして再挑戦します...

ブラウザからアクセスすると、なんとメッセージが日本語化されています。ちょっとびっくりだったのですが、当初目的のタイトルに日本語を含む場合の問題もちゃんと解決しているようなので良さげです。
mod_write の方の問題は、どうやら RewriteBase を定義していないことが原因のようなので、.htaccess に 設定を追加して対策します。

Admin画面を見ていくと、テーマ (デザイン) も変更できるようです。
試しに、テーマをデフォルトから記事を見出し行だけに折り畳めるやつに変更します。これなら購読しているサイトが多くなって未読記事が増えても、ある程度はうるさくなるのを防げそうです。

VMWare で試験的に構築してきた Etch 環境ですが、ほぼ満足がいくレベルになってきたので、このあたりで切り上げて「本番」である OpenBlockS の更新にかかりたいと思います。

段取りとしては、
(1) OpenBlockS の更新に必要なファイルをダウンロードしておく
(2) OpenBlockS をネットから切り離す
(3) VMWare の環境を IP アドレスを変更して、一時的に代替に供する
(4) OpenBlockS の OS を更新 (再インストール)
(5) 設定作業
(6) VMWare 環境の IP アドレスを変更して、代替を解除
(7) OpenBlockS の IP を変更して、本番復帰

といった順番で行っていく感じです。
代替の VMWare は、ノート PC で動いているので、できれば (2) ~ (7) は 1 日程度で完了させることを目標にします、

作業は、以下のドキュメントを適当にアレンジしながら進めれば問題なさそうです。

ftp://ftp.plathome.co.jp/pub/OpenBlockS266/misc/plathome/etch-powerpc-obs266-YYYYMMDD-SS.txt

このサーバには、身内の連絡用途で IRC サーバを立ち上げてあります。
あまり活用はしていないのですが、せっかくなので、これも Etch に持っていくことにします。

Sarge のときには、IRCNET-JP の IRCサーバソフトウェアから irc2.10.3p7+hemp2+jp6 を入れていたので、そのときのソースをそのまま利用することにします。

同じソースで同じ設定でよいのだから、前回やったことを思い出せれば楽勝・・・と思ったら、甘かったです。(^^;;;;;

まぁ順を追って書くと、

ソースを展開して、configure。ここまでは問題なし。次に、config.h を編集する訳ですが、前回は変更点をメモしていなかったので、前回のビルドしたときのディレクトリと新規に展開したディレクトリの diff を取って確認します。

変更点はこんな感じ。

#undef OPER_SET
#undef SPLIT_HANDLE
#define SPLIT_SERV  1
#define SPLIT_USERS 1
#undef DELAY_ACCEPT

終わったら、make all でコンパイルします・・・
う。なんかエラーが出ます。Sarge では問題なかったので Etch で gcc 4.1.2 に変わった関係でしょうか。このまま諦めるのも癪なので修正をかけてなんとかしてみます・・・
結構大変ですが、なんとかコンパイルは通り・・・あれ?リンクでもエラーが出ます。(;_;)

メッセージを見ると、数学関係の関数でエラーになっているようなので、Makefile を編集して libm を追加してみます。

LIBS = -lnsl -lcrypt -lm

再コンパイル・・・正常終了しました。OK。
make install して、ircd.conf を、旧サーバからコピー、起動します。
PC から CHOCOA を起動して繋いでみます。まぁ基本的なところでは問題ないようです。
同じことを本番でもう一回する必要があるので、今回の変更点を patch にしておきます。

diff -crN ../tmp/irc2.10.3p7+hemp2+jp6/ircd ircd > ../ircd.patch

# 適当なものでも、パッチが欲しいひとは こちら



ナビゲーション

これ以前の記事はアーカイブに移動されています。

最近のコメント


最近のコメントを表示...
Powered by Movable Type 4.01