Sirius -旧ブログ、更新されません-

<< 前のページ | 次のページ >>

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

2008年1月9日(水) 00:18

KURO-BOX/HG の HDD を CF に

http サーバにしている KURO-BOX/HG。
実は昨年の夏、ファンがとまってしまい、HDD が壊れてしまいました。ファンが止まっていて、あわててシャットダウしましたが壊れてしまいました。hddtemp で見た HDD の温度は 70 度を越えていました。
バックアップを取っていたので復旧は一日ですみました。
しかし、その後もファンが時々止まってしまう状態をなんとかだましながら使っています。今は電源ボタンがある面を下にしています。こうするとファンは止まりにくいみたいです。対策としてファンを交換したいのですが、端子の金具が手に入らずまだ交換していません。

ファイルサーバにすることをあきらめれば、内蔵 HDD を CF にすれば発熱が抑えられると思うので、今度の日曜日に CF に交換したいと思います。4GB の CF であれば Web ページを置いておくくらいは何とかなるでしょう。

ということで日曜日に何時間かページが見れないと思いますがしばらくすれば復活すると思います。

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 夕雨