2006年5月2日(火)
このページに記載の事項はLinux初心者の雪だるまが自分の玄箱HGをVine化させた時の単なる
覚え書きです。記載の通りに設定する事が正しいものか間違ったものかも分からずも先人達の足跡
を頼りに変更を加えていったことを書き連ねています。
もし、仮にこのページを参考に設定を行い、何らかの不具合が生じたとしても私雪だるまは
全く責任を負う事が出来ません。全てご自分の判断でお願いします。
------------------------------------------------------------------------------
- 玄箱HGのVine化
NASとして利用するだけでは玄箱HGを買った意味がないと勝手な理由を付け先人達の足跡を頼りに
Vine化を試みる。
●ファイルのダウンロード
『玄箱うぉううぉう♪』のホームページ(http://kuro.dsk.jp/)より
vine_2004_04_04_2_dist.tgzをダウンロードし、玄箱のshareフォルダにコピーする。
●必要なファイルのバックアップ
telnetで玄箱にログインし以下のフォルダ&ファイルを/mnt/share/keepにコピーする。
# mkdir /mnt/share/keep
# cd /mnt/share/keep
# cp /usr/sbin/ppc_uartd ./
# cp /sbin/start-stop-daemon ./
# cp -rf /www/ ./
# cp -rf /etc/melco/ ./
# cp -rf /lib/modules/2.4.17_kuro-box/ ./
●Vineイメージの展開
EMモードに入る。
# echo -n "NGNG" > /dev/fl3
# reboot
EMモードはDHCPの設定となっているためPINGで玄箱のIPアドレスを探り、telnetでログインする。
# mkdir /mnt/hdd1
# mkdir /mnt/hdd3
# mount -t ext3 /dev/hda1 /mnt/hdd1
# mount -t ext3 /dev/hda3 /mnt/hdd3
# rm -rf /mnt/hdd1
# cp /mnt/hdd3/share/vine_2004_04_04_2_dist.tgz /mnt/hdd1
# cd /mnt/hdd1
# tar zxvf vine_2004_04_04_2_dist.tgz .
●バックアップファイルの復元
# cd /mnt/hdd3/share
# cp ppc_uartd /mnt/hdd1/usr/sbin/
# cp start-stop-daemon /mnt/hdd1/sbin/
# cp -rf www/ /mnt/hdd1/
# cp -rf melco/ /mnt/hdd1/etc/
# cp -rf 2.4.17_kuro-box/ /mnt/hdd1/lib/modules/
●Vine化終了
EMモードを抜け出し再起動で完了。
# echo -n "OKOK" > /dev/fl3
# reboot
●Vine化した玄箱(kuroineと命名)の設定
kuroineにした事によりIPアドレスは192.168.0.100となっています。
telnetでログインし、ユーザーの追加とrootのパスワードを変更します。
kuroineではrootでログインできないため
ユーザー名『tmp-kun』、パスワード『tmp-kun』でログインする。
tmp-kunのパスワードを変更するかユーザーを削除する。
tmp-kunユーザーを削除する場合は他の一般ユーザーを先に作成して下さい。
bash-2.04$ passwd
bash-2.04$ su
bash-2.04$
# passwd
#
・ネットワークの設定
# vi /etc/sysconfig/network
NETWORK=yes
HOSTNAME=KUROINE
GATEWAY=192.168.0.1
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
# vi /etc/hosta
127.0.0.1 localhost
192.168.0.100 KUROINE
・シャットダウン用スクリプトの作成
# vi /sbin/poweroff.sh
#!/bin/sh
echo 'EEEE' > /dev/ttyS1
shutdown -h now
・shutdownコマンドを有効にする。
# vi /etc/init.d/halt
#See how we were called
Case "$0" in
*halt)
echo -n EEEE > /dev/ttyS1 ←ここを追加
message=$"Halting system...."
command="halt"
;;
*reboot)
echo -n CCCC > /dev/ttyS1 ←ここを追加
command="reboot"
;;
*)
echo $"S0: call me as 'rc.halt' or 'rc.reboot' please!"
exit 1
;;
esac>
シャットダウンは # shutdown -h 0
リブートは # shutdown -r 0
・そのままではEMモードに入れないのでフラッシュROMに対するデバイス設定を行う。
# mknod /dev/fl3 b 250 3
- 玄箱にSamba3をインストール
Vine化した玄箱HGを、本来のNASとして働かせるためにsambaをインストールする。
apt-getでは、まだsamba3をインストールすることができないので、ソースファイルをコンパイルして
インストールする手順をとりました。
【注意】下記は私の環境下で試したもので、全ての玄箱での動作を保証するものではありません。
●ファイルのダウンロード
以下の3ファイルをWindowsPCでダウンロードし、玄箱のshareフォルダへ置く。
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.9.2-cp932.patch.gz
ftp://ftp.samba.gr.jp/pub/samba/samba-3.0.22.tar.gz
●既存samba環境削除
#apt-get remove samba
# cd /etc
# rm -rf samba
●無いとダメ&あった方があとで便利なものをこの際インストール
# apt-get update
# apt-get install patch ntp proftpd
# apt-get install findutils
# apt-get install slocate
# apt-get install pam-devel readline-devel ncurses-devel autoconf libtool
# apt-get install wget
# apt-get install autoconf automake
# apt-get install python gettext
# apt-get install diffutils mount tar
# apt-get install tcp_wrappers
# apt-get clean
●libiconvのインストール
解凍&パッチをあてる
# cd /mnt/share
# tar zxvf libiconv-1.9.2.tar.gz
# zcat libiconv-1.9.2-cp932.patch.gz | patch -p0
makeファイルの生成
# cd libiconv-1.9.2
# ./configure
makeとインストール
# make ; make check
# make install
# make clean
参照ライブラリの追加
# vi /etc/ld.so.conf
/usr/local/libを書き足す
# ldconfig -v
●Sambaのインストール
解凍
# cd /mnt/share
# tar zxvf samba-3.0.22.tar.gz
makeファイルの生成
# cd samba-3.0.22/source/
# ./configure --with-libiconv=/usr/local --with-automount --with-smbmount --with-libsmbclient --with-pam --with-pam_smbpass --with-syslog --with-quotas --with-utmp --with-winbind --with-smbwrapper
実際の libiconv の在処は /usr/local/lib なのだが、途中で
> checking for iconv in /usr/local/lib... yes
と出たので、libiconvのディレクトリ指定はこれで良さそうだ。
makeとインストール
# make ; make install
※ make ; make checkを行うとエラーで止まってしまうので、check無しっ。
# make clean
●smb.conf置き場
本来のsmb.confの位置は、ソースからコンパイルした場合 /usr/local/samba/lib/smb.conf ですが、
これでは /etc/init.d/smb を書き換える必要が出てくるので、強引に /etc/samba/smb.conf とします。
こうしておけば、あとで新しい samba がRPMで配布されても同じ位置となると思うので。。
# mkdir /etc/samba
# vi /etc/samba/smb.conf
※ここに示したsmb.confは、あくまでも一例です。それぞれの環境に合わせ書き直してください。
[global]
unix charset = eucJP-ms
dos charset = CP932
display charset = eucJP-ms
workgroup = WORKGROUP
server string = Samba Server
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
dns proxy = No
log file = /var/log/samba/%m.log
netbios name = KUROINE
os level = 1
wins server =
security = user
encrypt passwords = Yes
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
unix password sync = yes
guest account = nobody
null passwords = yes
guest only = no
username level = 12
password level = 8
map to guest = Bad User
browsable = no
preserve case = yes
short preserve case = yes
veto files = /.AppleDesktop/Network Trash Folder/TheVolumeSettingsFolder/.AppleDouble/.AppleDB/
delete veto files = yes
invalid users = mail, deamon, adt
admin users = root
username map = /etc/samba/smbusers
getwd cache = yes
# printcap name = /etc/printcap
# load printers = yes
# printing = lprng
[share]
comment = KUROINE Share Folder
path = /mnt/share
browsable = yes
printable = no
writable = yes
guest ok = yes
force create mode = 777
force directory mode = 777
/etc/samba/smb.conf を、本来の設定ファイル位置へシンボリックリンクしておく。
# ln -s /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
●Sambaを起動
# /etc/init.d/smb start
マシン起動時も自動で起動するようにしておく。
# chkconfig smb on
※確認は # chkconfig --list smb です。
- 玄箱でDynamicDNS(No-IP)の設定
玄箱はPPCなのでDiCEを使用する事が出来ません。そこで、240ねっと!(http://240net.ddo.jp/)
を参考に(と言うより完全コピー?)設定を行う。
●ファイルのダウンロード
以下のファイルをWindowsPCでダウンロードし、玄箱のshareフォルダにコピーする。
http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
玄箱にtelnetし、/usr/local/srcに移動させ展開する。
# mv /mnt/share/noip-duc-linux.tar.gz /usr/local/src/
# tar -zxvf /usr/local/src/noip-duc-linux.tar.gz
# cd /usr/local/src/noip-2.1.1
# make
# make install
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
/usr/local/bin/noip2 -C -Y -c /tmp/no-ip2.conf
Auto configuration for Linux client of no-ip.com.
Please enter the login/email string for no-ip.com ****@****.**.jp
Please enter the password for user '****@****.**.jp' ********
Only one host [snow-man.no-ip.org] is registered to this account.
It will be used.
Please enter an update interval:[30] 10
Do you wish to run something at successful update?[N] (y/N) n
New configuration file '/tmp/no-ip2.conf' created.
mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
---------------------------------------------------------------------
vi /etc/rc.d/init.d/noip
#! /bin/sh
#
# no-ip
#
# chkconfig: 2345 99 80
#
# description: no-ip.com dynamic IP update client for Linux.
case "$1" in
start)
echo "Starting noip."
/usr/local/bin/noip2
;;
stop)
echo -n "Shutting down "
killproc noip2
echo "."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
---------------------------------------------------------------------
chmod 755 /etc/rc.d/init.d/noip
/etc/rc.d/init.d/noip start
マシン起動時も自動で起動するようにしておく。
# chkconfig noip on
※確認は # chkconfig --list noip です。
------------------------------------------------------------------------------