Sirius

<< 前のページ

2008年11月10日(月) 00:05

Fedora9 にした後の設定

シリアルコンソールが使えないのはどうやら agetty が動いてないからのようです。
upstart は/etc/event.d 以下をみているようなので、/etc/event.d/ttyS0 を作成してみました。
tty1 をコピーして、tty1 を ttyS0 に変更し、最後の行も /bin/agetty 57600 ttyS0 にしてみたところ、シリアルコンソールにログインプロンプトが出るようになりました。

セカンドサーバにする予定なので NetworkManager が動いていると勝手にネットワークの設定をしてしまうので、停止しました。
ntsysv コマンドを使用して起動時に NetworkManager が動かないように登録を解除しました。
ただ、そのままだと DNS が使えなくなるので /etc/resolv.conf を修正しました。
domain xxx.yyy.jp
nameserver www.xxx.yyy.zzz

ジャンボフレームを使うように MTU の設定を /etc/sysconfig/network-scripts/ifcfg-eth0 に追加しました。


インストールしているパッケージのアップデートをしておきます。
yum -y update

セカンド DNS サーバとしたいので bind をインストール。設定ファイルはメインのサーバからコピーして必要箇所を修正。

Samba をインストールしましたがユーザの設定がうまくいかなかったので、swat からユーザを追加しました。

swat の有効化は、/etc/xinetd.d/swat を以下のように修正しました。
service swat
{
    port = 901
    socket_type = stream
    wait = no
    only_from = 127.0.0.1
    only_from = 192.168.1.0 ← 追加(内部ネットワークアドレス)
    user = root
    server = /usr/sbin/swat
    log_on_failure += USERID
    disable = yes
    ↓
    disable = no ← noへ変更
}
これで http://サーバ:901/ で swat のページが開けます。

あと、kernel のコンパイルで menuconfig が使えるように ncurses を入れました。

システムのバックアップを rsync を利用して USB でつなげた HDD にとりますが、バックアップ時以外はスタンバイするように sdparm をインストールしました。
起動時にすぐスタンバイするように sdparm --command=stop /dev/sda を /etc/init.d/rc.local に追加しました。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(1)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月8日(土) 21:19

Fedora9化成功

Fedora9 にしたものの、Fedora8 パッケージが一部残ってしまったので今度は FC7 から Fedora9 にしてみました。掲示板等で Fedora9 でうまく動かないというのはカーネルのバージョンのためでしょうか、カーネル 2.6.25.19 にした状態でアップグレードしています。
FC7 は インストールキットでインストールし、yum を動くものに変えた後、rpm と python、perl を FC7 の最新にした状態です。

念のため、rpm のデータベースを再構築。
# rpm --rebuilddb

リリースをダウンロードしてインストール。

# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-9-2.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
# rpm -Fvh fedora-release-9-2.noarch.rpm fedora-release-notes-9.0.0-1.noarch.rpm
rpm とyum を Fedora9 のパッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

再度rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade
今度はエラーなく終わりました。

続いて Base システムのアップグレード
# yum groupupdate Base
再起動。
# reboot

…。やはりシリアルコンソールにログインプロンプトが出ません。ssh で作業。

パッケージのチェック
# package-cleanup --orphans
古いカーネルパッケージを削除。

rpm のデータベースを再構築して開発環境のインストール。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
# yum groupinstall "Development Tools"

Fedora9 になったので、当分の間、玄箱/HG も現役で使えそうです。
この Fedora9 でいろいろ設定していきたいと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(2)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月3日(月) 10:43

Fedora9 が動いた?

うまく Fedora8 にできたので今度は Fedora9 にしてみました。
init プロセスが upstart に変更になって玄箱でうまく動かなくなったという話を聞くし、Fedora9 で動いているという話も聞かないので失敗する可能性が高いのですが、自分で確かめてみないと分かりません。
Fedora8 で最新の状態にしてから挑戦してみました。まず、リリースをアップデートします。
なお、シリアルコンソールから作業しています。

念のため、rpm のデータベースを再構築。
# rpm --rebuilddb

リリースをダウンロードしてインストール。
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-9-2.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/releases/9/Fedora/ppc/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
# rpm -Fvh fedora-release-9-2.noarch.rpm fedora-release-notes-9.0.0-1.noarch.rpm
rpm とyum を Fedora9 のパッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

再度rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade
ここでエラーになってしまいました。Fedora8 で最新にしていたので、Fedora9 のパッケージのほうが古く、不整合を起こしてしまったようです。

そこで、リリースを新しいものにしてみました。
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/updates/9/ppc64.newkey/fedora-release-9-5.transition.noarch.rpm
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/updates/9/ppc64.newkey/fedora-release-notes-9.0.2-1.noarch.rpm
# rpm -Fvh fedora-release-9-5.transition.noarch.rpm fedora-release-notes-9.0.2-1.noarch.rpm

再度rpm とyum を Fedora9 の最新パッケージにアップグレード
# yum clean all
# yum -y update rpm\* yum\*

rpm のデータベースを再構築してアップグレード
# rpm --rebuilddb
# yum -y upgrade

うまくいきました。続いて Base システムのアップグレード
# yum groupupdate Base
再起動。
# reboot

どきどき。

起動したようだけどログインプロンプトが出ません。
???
ssh でログイン。
できました。??

ここからは ssh で作業しました。
パッケージのチェック
# package-cleanup --orphans
hal-info-20080607-2.fc8.noarch
ntfsprogs-1.13.1-8.fc8.ppc
kernel-2.6.26.5-28.fc8.ppc
のパッケージが検出されました。hal-info-20080607-2.fc8.noarch や ntfsprogs-1.13.1-8.fc8.ppc を削除しようとすると、Fedora9 のパッケージまで削除しようとするので kernel-2.6.26.5-28.fc8.ppc だけ削除しました。
# yum remove kernel-2.6.26.5-28.fc8.ppc

パッケージの二重チェック
# package-cleanup --dupes
二重になっているパッケージは無し

rpm のデータベースを再構築して開発環境のインストール。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
# yum groupinstall "Development Tools"

シリアルコンソールからログインできませんが、どうやら Fedora9 になったようです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年11月1日(土) 13:43

Kernel-2.6.25.19 をコンパイルしてみる

玄箱/HG を Fedora8 にできたので今度はカーネルのコンパイルをして見ます。
一応、gcc とかは最新の状態になっているはずなので、玄箱のパッチのある最新のソースということで、2.6.25.19 をコンパイルしました。

まず、ソースとパッチを取得します。
玄箱用のパッチを公開してくれている人に感謝です。場所はここです。

# wget http://www.genbako.com/kurobox-sources-2.6.25.patch
# wget http://www.genbako.com/kurobox-section-mismatch2625.patch
カーネルソースは ring サーバから取得しました。
# wget http://www.t.ring.gr.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.25.19.tar.gz

ソースを展開してパッチを当てます。
# tar xvfz linux-2.6.25.19.tar.gz
# cd linux-2.6.25.19
# patch -Np1 <../kurobox-section-mismatch2625.patch
# patch -Np1 <../kurobox-sources-2.6.25.patch

コンフィグレーションを行います。
# cp config_kuroboxhg .config
# export ARCH=ppc
# make oldconfig

環境変数 ARCH を設定しないとうまくいきません。
カーネルの作成。
# make vmlinux

できたカーネルを hda1 のブートへコピーします。hda1 は /mnt/hda1 へマウントしました。
# mount /dev/hda1 /mnt/hda1
# objcopy -O binary vmlinux /mnt/hda1/boot/vmlinux-2.6.25-kuroboxHG
# cp System.map /mnt/hda1/boot/System.map-2.6.25-kuroboxHG

モジュールのコンパイルとインストール。
# make modules
# make modules_install

起動時に新しいカーネルを選択できるようにブートメニューに追加します。

# vi /mnt/hda1/etc/kuro_boot.conf

3 番目のメニューに追加しました。
# Menu entry No.3
#
menu3="Fedora8(kernel 2.6.25.19)"
loader3=/boot/loader_hg.o
kernel3=/boot/vmlinux-2.6.25-kuroboxHG
option3='cmdline="root=/dev/hda3"'

再起動して 3 番目から起動して動きました。
kuro_boot.conf を書き換えてデフォルトで 3 番目から起動できるようにしました。

うーーん、これで一通り環境はできたから後はサーバーとして dhcp や dns を動かせばいいのですが、Fedora9 にしたい。
ところが、Fedora9 から init プロセスが upstart に変わったのでうまく動かないらしい。どうするか。思案中です。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年10月30日(木) 23:23

Fedora8 化成功!

rpm のデータベースを再構築して yum が動くようになったので Fedora8 化へ再挑戦してみる。
できる!玄箱 Fedora化!!(F-7対応) の掲示板の【316】 re(2):Fedora8化のなおき氏の手順を参考にしました。
念のため、ところどころで rpm のデータベースの再構築をしました。

# rpm --rebuilddb
Fedora8 の rpm を持ってきてインストール。
# wget http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm
# wget http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm

# rpm -Fvh fedora-release-8-3.noarch.rpm fedora-release-notes-8.0.0-3.noarch.rpm
yum をクリアして
# yum clean all
rpm と yum を Fedora8 のものにアップデート。
# yum -y update rpm\* yum\*
リリースがアップデートされているようなのでリリースもアップデート。
# yum -y update fedora-release
念のため rpm のデータベースを再構築。
# rpm --rebuilddb
rpm と yum を再度アップデート。
# yum -y update rpm\* yum\*
念のため rpm のデータベースを再構築。
# rpm --rebuilddb
パッケージのアップデート。
# yum -y upgrade

Base Groupをアップデートして再起動
# yum -y groupupdate Base
# reboot

Fedora8 になって公式から消えた rpm を調べる。

# yum install yum-utils
# package-cleanup --orphans
古い(FC7の)カーネルがでてきたのでこれを削除。
# yum -y remove kernel-2.6.23.17-88.fc7.ppc

rpmデータベースの依存関係のチェックする。
# package-cleanup --problems
さらにパッケージが二重になっているかを調べる。
# package-cleanup --dupes
二重になっているパッケージは無し。

rpm のデータベースを再構築。
# rm -f /var/lib/rpm/__* ; rpm --rebuilddb
開発環境をインストール。
# yum groupinstall "Development Tools"

以上、うまくいきました。
次はカーネルのコンパイルをしたいと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年10月28日(火) 23:40

yum が動かない

最新にした FC7 で、Samba を使おうと思い、yum でインストールしたら yum がハングアップしたようです。
ハングアップ以外もどうもおかしい。libjpg や libtiff を従属インストールしようとする。なんで Samba に libjpg や libtiff が必要なんだろう。

とにかく yum ではインストールできないので 直接ダウンロードして、rpm でインストールを試みました。
しかし、rpm でもとまってしまうようです。rpm でデバッグ情報を出力させてみたら、どうやらデータベースを読みに言ったところでとまっているようです。

調べたら、yum はたまに rpm のデータベースを壊すことがあるようです。
と、いうことで rpm のデータベースを再構築。
# rpm --rebuilddb

ちょっと時間がかかりましたが再構築できたようなので yum で Samba のインストール。
今度はちゃんとインストールできました。やはり libjpg とかはいらないようで今回は従属インストールの中には入っていませんでした。

これは、ひょっとすると、Fedora8 にアップグレードできるかもしれません。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年10月27日(月) 00:18

FC7を最新にする

今年の初めに FedoraCore 7 をインストールしてほおって置いた玄箱/HG。本当は Fedora8 にしたいのだがうまくいかないのでとりあえず FedoraCore 7 の状態で最新にすることにしました。
まず EM モードにして、
# echo -n 'NGNG' > /dev/fl3
# /www/script/melsub_shutdown.sh 1;exit

できる!玄箱 Fedora化!!(F-7対応)からインストールキットをダウンロードしてインストール。

インストール後に、シリアルコンソールからルートでログインできるようにします。
# echo ttyS0>>securetty

インストール直後の yum はうまく動かないので、rpm を持ってきてインストールします。
# wget http://ftp.kddilabs.jp/Linux/packages/fedora/updates/7/ppc/yum-3.2.8-2.fc7.noarch.rpm
# rpm -Uvh yum-3.2.8-2.fc7.noarch.rpm

次にパッケージのアップデートをしますが、一気にやろうとするとうまくいかないので、一つずつアップデートします。
# yum -y update rpm\*
# yum -y update python\*
# yum -y update perl\*
# yum -y update udev
# yum -y update syslog-ng
# yum -y update kernel-headers
# yum -y update tzdata
# yum -y update glibc-common
# yum -y update libgcc
# yum -y update glibc
# yum -y update e2fsprogs-libs
# yum -y update ncurses
# yum -y update bash
# yum -y update libselinux
# yum -y update info
# yum -y update audit-libs
# yum -y update shadow-utils
# yum -y update glib2
# yum -y update libnl
# yum -y update tcp_wrappers-libs
# yum -y update libdhcp4client
# yum -y update libstdc++
# yum -y update e2fsprogs
# yum -y update dmraid
# yum -y update procps
# yum -y update libxml2
# yum -y update cyrus-sasl-lib
# yum -y update libattr
# yum -y update libacl
# yum -y update bzip2-libs
# yum -y update file-libs
# yum -y update libgomp
# yum -y update cpio
# yum -y update gzip
# yum -y update tar
# yum -y update net-tools
# yum -y update logrotate
# yum -y update libxml2-python
# yum -y update pcre
# yum -y update dbus
# yum -y update cpp
# yum -y update tcl
# yum -y install libmudflap
# yum -y update elfutils-libelf
# yum -y update sqlite
# yum -y update libvolume_id
# yum -y update file
# yum -y update bzip2
# yum -y update vim-minimal
# yum -y update groff
# yum -y update tcp_wrappers
# yum -y update diffutils
# yum -y update libselinux-python
# yum -y update iptables
# yum -y update vim-common
# yum -y update ftp
# yum -y update glibc-headers
# yum -y update glibc-devel
# yum -y update crontabs
# yum -y update gcc
# yum -y update coreutils
# yum -y update krb5-libs
# yum -y update openssl
# yum -y update libgssapi
# yum -y update pam
# yum -y update libdhcp6client
# yum -y update util-linux
# yum -y update initscripts
# yum -y update openldap
# yum -y update libdhcp
# yum -y update nash
# yum -y update nfs-utils-lib
# yum -y update libtirpc
# yum -y update rpcbind
# yum -y update mkinitrd
# yum -y update nfs-utils
# yum -y update dhclient
# yum -y update ntp
# yum -y update vsftpd
# yum -y update kernel

これでとりあえず、パッケージが最新の状態になりました。
これを Fedora8 にアップグレードできないかな。
欲をいうと Fedora9 にしたいです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年2月16日(土) 17:47

玄箱に rsync をインストール

外向きサーバーのデータをバックアップするため、rsync をインストールしました。いままで手動で tar でバックアップしていました。

特に難しいことも無く、tar で解凍、./configure 、make 、make install でいけました。
インストールしたのは rsync-3.0.0pre8 です。

早速動かしますが、バックアップ先は、別な玄箱にしたいと思い、そちらにもインストールしました。

バックアップは、次のようにします。
# rsync -avz --delete /[^p]* foo:/mnt/Backup/Daily

ルートの /proc 以外をすべて foo というマシンの /mnt/Backup/Daily へバックアップします。

ssh か rsh が使われるようなので、ssh でキーを作成してパスワード入力が必要ないようにすれば cron からの実行も出来ます。

毎日と一週間に一度、それぞれ別ディレクトリへバックアップするように cron に登録しました。
相手側の玄箱はスリープ機能を使って自動的に起動するようにして、次のようなシェルスクリプトを cron に登録しました。

#!/bin/bash

LOG_FILE=/var/log/rsync_backup.log
echo "Daily Backup Start `date`" >> $LOG_FILE
if
    /usr/local/bin/rsync -avz --delete /[^p]* XXXXX:/mnt/Backup/Daily/
then
    echo "Daily Backup Done `date`">> $LOG_FILE
else
    echo "Daily Backup Faild `date`">> $LOG_FILE
fi
ssh XXXXX /www/script/melsub_shutdown2.sh 2
XXXXX は相手先の玄箱です。バックアップが終わったら、相手先の玄箱を ssh を使ってシャットダウンします。
proc 以外のすべてをバックアップしていますが、全部で 4G + 1G なのでたいした容量にはならないです。(フルに使っているわけでもないし)

これで CF が壊れても復旧は短時間で出来そうです。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月31日(木) 19:03

玄箱でNamazuを使う

前々からサイト内検索機能を実装したいと思っていました。せっかく情報発信しているのに、訪れてくれた方に勝手に探せというのも不親切だし、最近は blog のほうしか更新していないので、過去の記事を探すのは大変だと思いました。
そこで、Namazu を使ったサイト内検索を構築しました。
PC Linux で Namazu を使ったサイト内検索は構築したことがあり、玄箱用にコンパイルすれば大丈夫だと思っていました。
たしかに大丈夫だったのですが、漢字コードの問題で日本語検索が出来るようになるまでに二日ほどかかってしまいました。

今回コンパイルしたもの
libiconv-1.10-ja-1.patch.gz
darts-0.2.tar.gz
chasen-2.3.3.tar.gz
ipadic-2.6.3.tar.gz
kakasi-2.3.4.tar.gz
Text-Kakasi-1.05.tar.gz
namazu-2.0.17.tar.gz

1、それぞれのコンパイル、インストール
・libiconv
./configure & make & make install

・darts
chasen に必要
./configure & make & make install

・chasen
./configure にパラメータをつけないとだめ。
./configure --with-darts=/usr/local/include --with-libiconv=/usr/local/lib
make & make install
なお、chasen で shift-jis を扱うためには、chasenrc も shift-jis で記述する必要があります。

・ipadic
玄箱の漢字コードが shift-jis なので shift-jis 用の辞書を用意する。
具体的には、アーカイブを展開してできた *.dic、*.cha を sift-jis に変換し、./configure した後の Makefile で makemat と makeda に "-i s" オプションを付ける。

・kakasi
./configure & make & make install

・Test::kakasi
perl Makefile.PL & make & make install

・namazu
./configure にパラメータをつける。
./configure --with-libiconv-prefix=/usr/local
make & make install

2、インデックス作成。
mknmzrc を適切に修正する。
$ADRESS とか。この中で、kakasi の文字コードについては、
$KAKASI = "module_kakasi -isjis -oeuc -w";

とすること。"-isjis -osjis -w" としたことで日本語検索できるまでに時間がかかってしまった。Namazu は内部コード euc で動いているようで、形体素解析の出力を shift-jis にするとうまくインデックスが作成されず、日本語検索が失敗します。

chasen をインストールはしましたが、内部コードが euc ということで、shift-jis をデフォルトコードにした 玄箱では使えませんでした。chasen 単体では、shift-jis を扱えますが、漢字の入出力のコードを別々に指定する方法が見つからず、インデックスがうまく作成できませんでした。

3、ホームページへ Namazu の CGI を設置。

本当は、日本語の形体素解析には chasen を使いたかったのですが仕方ないようです。chasen 単体での使用では問題ありませんでした。
MeCab はコンパイルエラーとなったのでインストールしていません。gcc のバージョンが古い所為だと思います。

自動でインデックスの作成をするように cron に登録しました。
近いうちに、blog のテンプレートを変更し blog のページからも検索できるようにしたいと思っていますが、今はサイトのトップページに検索用のフォームを置いています。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月22日(火) 00:24

swap を USB メモリに

内臓 HDD を CF に交換した玄箱ですが、やはり書き換え回数が心配なので、swap や /var, /tmp, apache のログなんかを内臓した CF から追い出したいと思い、Lexar の 1GB の USB メモリを(ホント安かったので)購入しました。


一度フルにデータをコピーして読み出せるかどうかチェックしてから使います。(今は違うのかもしれませんが、昔、A-DATA の 1GB SD を買ったとき、買った 2 枚とも使い物にならなかった。もう絶対に、どんなに安くても A-DATA だけは使うまいと思いました。非常に品質の悪い Flash メモリにでひどい眼にあいました。それ以来一度確認してからでないと使う気になりません。最悪ですよ、品質の悪い Flash は。)

チェックも通り、大丈夫なようなので、早速差して使ってみたいと思います。まず、swap 領域は 256M とし、残りを /var 等にするためにパーティションを二つに切りました。こちらの swap が使えたら hda2 のスワップは使わないようにします。
 Disk /dev/sda: 32 heads, 61 sectors, 1015 cylinders
 Units = cylinders of 1952 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
 /dev/sda1             1       746    728065+  83  Linux
 /dev/sda2           747      1015    262544   82  Linux swap

ファイルシステムを作成します。sda1 を /var や /tmp に、sda2 を swap にします。

# mke2fs -j /dev/sda1
# mkswap /dev/sda2

起動時にマウントするように /etc/fstab を書き換えます。sda1 を /mnt2/usb にマウントするようにして、hda2 の変わりに sda2 を swap に設定します。例えばこんな感じ
 # /etc/fstab: static file system information.
 #
 #                        
 /dev/hda1       /               ext3    defaults,noatime,errors=remount-ro      0 0
 proc            /proc           proc    defaults                        0 0
 none            /dev/pts        devpts  gid=5,mode=20                   0 0
 #/dev/hda2      swap            swap    defaults                        0 0
 /dev/sda2       swap            swap    defaults                        0 0
 /dev/hda3       /mnt            ext3    defaults,noatime                0 0
 /dev/sda1       /mnt2/usb       ext3    defaults,noatime                0 0
 /dev/ram        /ram            ext2    defaults,noatime                0 0


次に、EM モードで起動して /var 等をコピーします。EM モードにするには、/usr/bin/write_ng を使うと便利です。ただし、コマンドの実行はフルパスで実行しないとうまくいきません。

再起動。EM モードでは、USB ディスクのデバイスファイルが無いので、まず、/mnt に hda1 をマウントし、/mnt/dev にあるデバイスファイルを使って sda1 をマウントしました。例えば次のようにします。

# mount /dev/hda1 /mnt
# mount /mnt/dev/sda1 /mnt2/usb

USB メモリにコピーします。

# cd /mnt
# tar cf - var|(cd /mnt2/usb;tar xvf -)
# mv var var.org
# ln -s /mnt2/usb/var var
# tar cf - tmp|(cd /mnt2/usb;tar xvf -)
# mv tmp tmp.org
# ln -s /mnt2/usb/tmp tmp

その他 USB メモリに追い出す必要があるものは同様にします。

HDD から起動するため /usr/bin/write_ok を実行して再起動します。正常に起動したら、/var.org や /tmp.org は削除しても大丈夫です。

これで OK。ただ、玄箱は USB にディスクを 2 台つなぐとうまく動かないので、おそらく USB メモリを差していると外付けの HDD は使えないと思います。

次は Acerpower100 の内臓 HDD を 2.5 インチの HDD に変える予定です。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月21日(月) 00:35

FAN 交換

止まりがちになっている玄箱のファンを交換したいと思います。
これです。


玄箱はファンのパルスセンサーを見ているので、センサーの無いファンは付けられません。玄箱のファンは、40mm, 12V, 0.07A のファンです。回転数はちょっとわかりませんが、同じ40mm で 12V, 0.08A の 4200 回転のファンに交換します。元々の FAN と同じ ADDA 社の FAN にしました。


元々付いているファンのケーブルをニッパーで切り、新しいファンのケーブルも切ります。
こんな感じ


赤/赤、黒/黒、白/青(ファン側/コネクタ側の色)を半田付けし、熱収縮チューブで保護します。
こんな感じ


これを玄箱につけてみました。今のところ大丈夫なようです。時々うなっていたのが無くなりとても静かになりました。

KURO-BOX/PARTSを持っていますが、これは 3000 円近くします。今回はファンのみなので 1000 円ちょっとですみました。
結構音を出してそろそろ不安な玄箱/Linkstation が何台かあるので、このファンは予備にもっと買っておこうと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月14日(月) 23:28

KURO-BOX 総 Flash 化

発熱対策のため、玄箱の内臓 HDD を CF に換装しました。
内臓させたのはこれ

CF を一枚だけ差せるやつです。二枚差せるものも持っていますが、一枚目しか認識しませんでした。
パーティションは次のように切りました。
 Disk /dev/hda: 16 heads, 63 sectors, 7996 cylinders
 Units = cylinders of 1008 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
 /dev/hda1             1      6756   3404992+  83  Linux
 /dev/hda2          6757      7014    130032   82  Linux swap
 /dev/hda3          7015      7996    494928   83  Linux

本当は二枚差して片方を swap や temp や var に割り当てたかったのですが、一枚だけなのでこうなりました。ときどき外からファイル転送をすることもあるので、その場所は hda3 にしました。
データは、元の HDD をグラタンにつなげてコピーしました。

CF に換装して、玄箱を持ったとき、非常に軽く感じました。今までの重量の半分以上は HDD の重さだったんですね。今度の休みには、止まりがちなファンの交換をしたいと思います。

余った 40GB の HDD は、しばらく様子を見て、CF で問題なければもう一台ある 40GB と合わせて予備のマシンでミラーリングさせようと思います。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月12日(土) 23:27

玄箱 FC8 化挫折

yum でアップグレードしようとしてハングするパッケージ
openldap
module-init-tools
sysvinit

ここで挫折。sysvinit なんて手が出せない。
うーーん。
どうも kernel に問題があるような気がしてきた。kernel の構築に挑戦かなー。
何でだろう。うまくいっている人もいるのに。

でも、代替 http サーバの新規玄箱での構築はここで中止。
現在動作している別の玄箱で動かすことにします。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月11日(金) 23:22

FC8 への遠い道のり

yum がどうもハングする。しかも頻繁に。
そこでまず、yum のアップグレードを試みる。python もアップグレード。

yum upgrade python
yum upgrade yum

それから FC8 へアップグレードすることにする。しかしこれもだめ。

じゃあ、FC7 で最新にしてからと思ったが、これもだめ。FC7 のアップグレードでもこける。

そのまま使えばいいのかもしれないが納得できない。

あーーーーーーーーーー!
もう!

結局、掲示板にあったとおりの手順で、yum がこけるたびにリブートし、こけたものは手動で remove してから install という手順をとることにした。
これでだめだったら NetBSD に転ぶぞ。
結果は明日報告します。

(本当は代替の http サーバを立てるのが目的だったはずだが、手段が目的となってしまった。ま、いいけど)

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2008年1月10日(木) 23:45

玄箱に Fedora

http サーバーを停止するので代替サーバーを準備することにしました。
といっても各ページで"メンテナンス中"と表示させるだけなので、余っていた Kuro-Box/HG を利用することにしました。

ただ代替サーバーにするのも面白くないので、Fedora を入れてみようと思います。(ただ単に標準のシステムを入れるのに飽きただけです。こうでもしないと代替サーバを立てないと思う。)
できる!玄箱 Fedora化!!(F-7対応)から必要なものをダウンロードして動かします。

XP で使っていた 250GB の HDD を Kuro-Box/HG に内蔵させ、「F4K Install Kit」をダウンロードして、Windows XP(SP2) で実行します。
はじめに DHCP を使うようにインストール使用としましたが、どうしてもセットアップ後の起動がうまくいかず、固定IP にすることにしました。
まず、Kuro-Box/HG を EM モードで起動し、F4KSetupc.exe を実行します。
hda1 は 1GB、swap はデフォルトの 256MB、hda3 は 8GB で設定しました。ネットワークは固定 IP で設定します。

設定が終わると、フォーマットが始まり、ファイル転送、セットアップ(フェーズ1、フェーズ2)と続きます。
フェーズ2 が終わると自動的に電源が切れます。

次の起動ではハングしてしまうので、起動してしばらくしたら電源を引っこ抜いて、再度起動します。そうすると起動できて ssh でログオンできますが、その ssh も何度かチャレンジしないとログオンできませんでした。何でだろう。
とにかく、ssh でログオンできるようになりました。

次に、yum でアップデートしようとしましたが yum がうまく動きませんでした。
できる!玄箱 Fedora化!!(F-7対応)の掲示板にあったように /usr/lib/python2.5/site-packages/yum/packages.py を修正する必要がありそうです。
ついでなので、FC8 化してしまおうとやはり掲示板にあった手順をやってみました。

1、yum の packages.py を修正

30行目近辺の
import rpmUtils.miscutils
import Errors
の下に
import md5
を追加

658行下近辺の
    self.pkgid = self.hdr[rpm.RPMTAG_SHA1HEADER] or \
      self.hdr[rpm.RPMTAG_SIGMD5]
の下に
    if not self.pkgid:
      self.pkgid = md5.new(str(self.hdr)).hexdigest()
を追加。

2、FC8 の次の rpm を wget してアップデートする
http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm
http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm

# rpm -Fvh fedora-release-8-3.noarch.rpm fedora-release-notes-8.0.0-3.noarch.rpm

3、rpm と yum をFC8の物にアップデート
# yum clean all
# yum update rpm\* yum\*

4、アップグレード
# yum -y upgrade

しかし、ここで yum がハングアップしたようです。OS がハングしているわけではないので一晩放置して見ます。
掲示板ではハングした後で再起動してもう一度実行すると大丈夫ということが書いてあるので、終わって無くても強制終了し、再度やってみます。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2007年1月15日(月) 00:28

Mserv を使ってみる

内向きのサーバとして使っている Kuro-Box/HG は、250GB HDD を内臓させて、MP3 倉庫としても使っています。
倉庫といっても、USB スピーカをつないで、JUKE-BOX としても使っています。この JUKE-BOX 用の Web インターフェースとして、「玄箱の本」の中のものを改造して使っていました。
ところが最近、この Web インターフェースがうまく動いてくれなくなりました。多分、曲数が多くなったせいでしょう。

探してみたところ、Mserv というものが同様なことができるようなので使ってみました。ソースからビルドしましたが、そのままでは問題がありました。

日本語が使えね〜〜
日本語のファイル名やパスがあるとうまく表示されませんでした。また、日本語のタグがやはり取得できないようです。

ソースからビルドしたので、当然、ソースコードがあります。
改造しちゃえ。
日本語の id3v2 タグが使えるようにソースを修正し、CGI でも日本語が使えるように jcode.pl を利用して日本語コードを euc に変換するようにしちゃいました。そしたらもうひとつ問題が…。

ファイル数を増やしたら落ちた
やっぱり…。

結局、この手の動的に曲情報を一括して取得する方式では、ファイル数が多くなると Kuro-Box/HG の様にメモリの少ない場合にうまくいかなくなるという事でしょう。
ということで、自分用に新規に作るか…。(めんどくせ〜)

せっかく改造したので、Msserv(ver 0.35) 用のパッチをここに置いておきます。ただし、普通、id3v2 タグは UTF-8 のようですが、jcode.pl を使っているので、UTF-8 は使えません。また、Kuro-Box ではファイル名が shift-jis なので、id3v2 タグも shift-jis でないと Web ページが文字化けします。(UTF-8 以外なら jcode.pl で変換しているので大丈夫なはず。2007.01.15 訂正)本体はこちらからどうぞ。
いつも通り、使用は自己責任で。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Sirius

MySketch 2.7.2 written by 夕雨