coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

MySQLインストール

2006-12-15 23:34:42 | MySQL
コタツの部屋に移って、OpenSSH を使って、TeraTerm から coLinux が使えるようになり、ずっと暖かくなりました。

まずは、MySQL からインストールします。先に lynx を入れます。lynx は、coLinux のようにテキストベースで作業するときにソースなどをダウンロードするときに便利です。
# yum install lynx.i386
.................
# which lynx
/usr/bin/lynx
#

これを使って、MySQL公式サイト( http://www.mysql.com/ ) からソースをダウンロードします。  
mysql-5.0.27.tar.gz
mysql-5.0.27.tar.gz.asc

ソースのダウンロードとかは、先ほどの lynx を使うか、Windowsで行い、先ほど用意したc:\Temp を通して Linux 側に持っていっています。この環境では、とりあえず samba は使わないことにしました。MySQL のサイトは、少々複雑でソースまでたどり着くのにちょっと戸惑いました。

まずは、ダウンロードしたソースが問題ないかどうかを出来る範囲でチェックします。ダウンロードサイトに MD5 の値
MD5: 584d423440a9d9c859678e3d4f2690b3

がありましたのでそれを調べます。
$ md5sum mysql-5.0.27.tar.gz
584d423440a9d9c859678e3d4f2690b3  mysql-5.0.27.tar.gz

で、問題なしでした。ついでに 署名も調べます。
$ gpg --verify mysql-5.0.27.tar.gz.asc
...................
gpg: Signature made Sun 22 Oct 2006 06:06:31 AM EDT using DSA key ID 5072E1F5
gpg: Can't check signature: public key not found

$ gpg --import 5072e1f5.txt
...................
gpg: key 5072E1F5: public key "MySQL Package signing key (www.mysql.com) <build@mysql.com>" imported
...................
$ gpg --verify mysql-5.0.27.tar.gz.asc
...................
gpg: Good signature from "MySQL Package signing key (www.mysql.com) <build@mysql.com>"
...................

正しく署名されたものに間違いなさそうです。
早速展開します。
$ mkdir src
$ cd src
$ tar xvzf ../mysql-5.0.27.tar.gz
..............................
$ cd mysql-5.0.27
$

mysql はバージョンアップがよくあるので、インストール先は、/usr/local ではなく、バージョンが分かるようにした方が便利そうです。
$ ./configure --prefix=/usr/local/mysql5027 --with-charset=utf8 --with-openssl --with-extra-charsets=all
.....................
checking for OpenSSL... Could not find an installation of OpenSSL
$

OpenSSL関連がないみたいです。openssl-devel.i386 が入ってないからです。ここは、yum でインストールします。
# yum install openssl-devel.i386
..................................
#

ついでに、zlib-devel も入ったみたいです。もういちど configure を実行します。
................................
Thank you for choosing MySQL!

$

となって、Makefile は作成できました。早速コンパイルします。
$ make 2>&1 | tee  Makeing.list 
................................
$

20~30分くらいであっさりコンパイルできました。coLinux は本当にすばらしいです。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

シャットダウン方法

2006-12-14 22:07:44 | Weblog
coLinux をログインせずにシャットダウンするには、/etc/inittab を確認したところ、
## Trap CTRL-ALT-DELETE     ( この # は、inittab のコメント行です。)
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

が使えます。つまり、これでシャットダウンが行われるわけですから、Cooperative Linux console ウィンドウから [Monitor] をクリックして、メニューから、[Send Ctrl-Alt-Del] をクリックすればよいです。
画面はこの場面です。

画面の上の方に小さくあるアイコンは、

Linux Icons For Windows: Penguin, KDE, GNU, Free BSD , Desktop Icons
http://www.entity.cc/ICONS/linux-icons.php

から頂いてきました。C:\colinux\fedora5.bat へのショートカットです。これをダブルクリックして、colinux を起動しています。

ちなみに、colinux を動かしているのは、

DELL Dimension 4600C
Pentium4 2.4GHz
1G のメモリー
Windows XP Home

の PC です。

coLinux と Root FS imageの現在のバージョンは、

colinux-0.6.4
Fedora Core 5

です。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定9 ( OpenSSH )

2006-12-13 21:10:58 | インストールと設定
今日は、OpenSSH のソース(4.5p1)を展開してコンパイルします。
やはり、/etc/hosts.allow , /etc/hosts.deny と この間 passwd で調べた PAM も使いたいのでその辺を考えて、configure のオプションを指定します。
$ cd src
$ tar xvzf ../openssh-4.5p1.tar.gz 
$ cd openssh-4.5p1
$ ./configure --with-tcp-wrappers -with-pam
.............................

configure: error: PAM headers not found
$

pam の 開発環境がないみたいなので入れます。
# yum install pam-devel.i386
.............................
#

もう一度 configure を行うと、こんどはうまくいきました。早速コンパイルします。
$ ./configure --with-tcp-wrappers -with-pam
.............................
$ make
.............................
#

無事にコンパイルできました。この間入れた開発環境も問題ないですね。インストール先はどうでしょう。
$ grep prefix Makefile
prefix=/usr/local
......................
$

/usr/local にインストールします。
# make install 2>&1 |tee Install.Log
#

前も書きましたが、coLinux では、root しか見られないファイルだからと言って安心できません。別の Root FS imageですぐに root になれてしまうからです。ですから、ここで作成された、ssh の キー

/usr/local/etc/ssh_host_key ( 秘密鍵と公開鍵 )

なども厳密には安全ではありません。
coLinux で、本当に隠したいファイルは、gnupg で暗号化しておくべきでしょう。私の場合はいろいろ試すためことに利用するので問題なしとします。

/etc/host.allow , /etc/hosts.deny は既に設定されています。

INSTALL をみますと、PAM の設定が書いてあります。この間 passwd で調べたのが役立ち、この間の失敗も無駄ではなかったです。
contrib/sshd.pam.generic , contrib/redhat/sshd.pam のどちらかですが、既存のものと感じの似ている後者の方を使ってみます。
# cd contrib/redhat
# cp sshd.pam /etc/pam.d/sshd
#

/ust/local/etc/sshd_config を修正します。
#vi /usr/local/etc/sshd_config
(次のような行を追加します。)

PermitRootLogin no
PasswordAuthentication no
UsePAM yes

#

立ち上げてテストします。( 最初は、PasswordAuthentication 行は指定しません。公開鍵がうまく設定できてからです。)
# /usr/local/sbin/sshd
#

TeraTerm でログインすると、サーバ側のホスト鍵fingerprint が表示されました。
46:44:3d:e0:5e:b4:4a:f3:b0:62:35:bc:7b:89:80:f7

うまくログインできました。

TeraTerm で鍵を作って、それを使ってみます。「設定」-「SSHキー設定」で作って、公開鍵を /usr/local/etc/sshd_config の AuthorizedKeysFile の設定にしたがって、coLinux 側の

~/.ssh/authorized_keys

にコピーします。コピーしたファイルのアクセス権は sshd に拒否されないために以下のようにします。
$ cd
$ chmod 0600 .ssh/authorized_keys 
$ ls -l .ssh/authorized_keys
-rw------- 1 espiya user 228 Dec 12 23:34 .ssh/authorized_keys
$

これでうまくいきました。使っている擬似ターミナルは、ttyp0 でした。/var/log/secure にも PAM のメッセージが出ています。telnetd を止めて、代わりに sshd をブート時に起動するように修正します。
#
# vi /etc/xinetd.d/telnet
(disable行を修正します。)

       disable    = yes

#
# killall -HUP xinetd
#
# vi /etc/rc.d/rc.local
(次の行を追加します。)

if [ -f /usr/local/sbin/sshd ] ; then
  /usr/local/sbin/sshd
fi

これでブートすると、sshd が起動するようになりました。
この設定で、TeraTerm でいうところの「RSA/DSA鍵を使う」と「チャレンジレスポンス認証を使う」のどちらも利用可能ですが、「プレインテキストを使う」は使えません。
RSA/DSA鍵を使う場合は、TeraTerm で鍵を作ったときに使ったパスフレーズを、チャレンジレスポンス認証の場合は、Linuxのパスワードです。
ところで、xinetd ですが、
$ cd /etc/xinetd.d
$ grep disable *
chargen:      disable    = yes
...........................
$

で、すべて disable = yes ですから、いまのところ不要です。これを止めて次回ブート時に起動しないようにします。
# /etc/init.d/xinetd stop
Stopping Xinetd:                             [  OK  ]
# chkconfig --level 0123456 xinetd off
#

この coLinux 上でキーを作るには、ssh-keygen ですね。忘れやすいので書いておきます。ssh は、まれにしか設定しないので良く忘れるんです。
しかし、公開鍵とチャレンジレスポンス認証のどちらを使った方が良いのかはいまだにわかりません。私はチャレンジレスポンス認証が好きですが。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定8 ( 日本語表示とOpenSSH )

2006-12-12 21:28:53 | インストールと設定
この環境で日本語をどうするか考えました。
日本語の文章作成などは Windows があるので別に困りませんが表示はさせたいですね。そこで、locale ですが、現在は、/etc/sysconfig/i18n (internationalization だった?) に設定してあるとおり、

en_US.UTF-8

です。現在 ( coLinux 0.6.4 + FedoraCore5 ) の環境で使える日本語関係のものは、/usr/lib/locale/ の中の

ja_JP.eucjp と ja_JP.utf8

ですから、Shift JIS がありません。そこで、Windows にある telnet ではなく別のものを使います。
有名なソフト、UTF-8 TeraTerm Pro with TTSSH2 (http://www.forest.impress.co.jp/lib/inet/servernt/netuty/utf8teraterm.htmlなどから) を使います。

早速 UTF-8 TeraTerm Pro を PC にインストールして、最初は telnet としてログインしてみましょう。
$ LANG=ja_JP.UTF-8
$ export LANG
$

ja_JP.utf8 でも良いのですが、デフォルトの設定を真似して UTF-8 としてみました。
$ ls -l
合計 492
-rw-r--r-- 1 espiya user 483703 12月  9 00:05 prog.list
-rw-r--r-- 1 espiya user   4789 12月  9 00:05 rpm.list
drwxr-xr-x 5 espiya user   4096 12月  9 20:36 src
$

日本語表示もOKです。TeraTerm から日本語を表示できるように、

~/.bash_profile

に、次の行を追加します。
$ vi .bash_profile
( 次の行を追加します。)

LANG=ja_JP.UTF-8
export LANG

$

UTF-8 TeraTerm Pro は ssh も使えるので、PC から ssh で使いたくなりました。

そこで、OpenSSH (
http://www.openssh.com/ja/index.html
) を入れます。

ここからは、以下のソースからコンパイルしてインストールします。
openssh-4.5p1.tar.gz
openssh-4.5p1.tar.gz.asc

今回は、Windows 上で C:\Temp にダウンロードして、cofs を使って coLinux 側に持って行きます。
早速、署名を調べてみましょう。
$ gpg --verify openssh-4.5p1.tar.gz.asc
gpg: Signature made Web 08 Nov 2006 03:24:14 AM JST using DSA key ID 86FF9C48
gpg: Can't check signature: public key not found
$

公開鍵がないためです。キーサーバ ( 例えば http://pgp.nic.ad.jp/pgp/ ) から 86FF9C48 からキーを求めます。求めたキーは、86ff9c48.txt として保存します。
$ gpg --import 86ff9c48.txt
gpg: key 86FF9C48: duplicated user ID detected - merged
gpg: key 86FF9C48: public key "Damien Miller (Personal Key) <djm@mindrot.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found
$

この鍵は正しいものと信じます。これを使って署名を確認します。
$ gpg --verify openssh-4.5p1.tar.gz.asc
gpg: Signature made Wed 08 Nov 2006 03:24:14 AM JST using DSA key ID 86FF9C48
gpg: Good signature from "Damien Miller (Personal Key) <djm@mindrot.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3981 992A 1523 ABA0 79DB  FC66 CE8E CB03 86FF 9C48
$

正しく署名されたものに間違いなさそうです。面倒でもこれらのチェックは習慣付けたいと思います。
長くなったので続きは次回に行います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定7 ( 固定IPアドレスとcracklib辞書 )

2006-12-11 23:32:28 | インストールと設定
apach とか動かす前に、IPアドレスを固定にして、ホスト名も決めましょう。

ドメイン名は、example.co.jp
ホスト名は、fedora
ipアドレス は、192.168.1.100
ネットマスクは、255.255.255.0
ブロードキャストは、192.168.1.255
デフォルトルータは、192.168.1.1

を使うことにします。設定は、/etc/sysconfig の各ファイルで行いました。
# cd /etc/sysconfig
# cat network 
NETWORKING=yes
HOSTNAME=fedora
#

これが、ホスト名を指定する部分です。
/etc/sysconfig/network-scripts/ifcfg-eth0 が、ipアドレスとかを指定する部分です。現在は、dhcp になっていました。ifcfg-lo を参考に指定すればよいです。
# cd network-scripts
# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
#
# vi ifcfg-eth0
( 次の行を追加して、BOOTPROTO=dhcp の行を削除)

IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1

#


ネームサーバ /etc/resolv.conf の設定はどこで行っているのでしょうか。
network-functions を見ると、change_resolv_conf を呼び出しているスクリプト ifup-post が行っているみたいです。しかし、現在の /etc/resolv.conf は、dhcp で得られた情報を元に作成されていますので、これをそのまま使ってよいと思います。

最後に、/etc/hosts を修正します。
# vi /etc/hosts
( 次の行を追加します。)

192.168.1.100    fedora fedora.example.co.jp

#


これで、リブートすれば OK です。

クライアントの Windows の hosts ファイルを直します。
C:\WINDOWS\system32\drivers\etc\hosts

Linux 上の /etc/hosts と同じ書き方で、
192.168.1.100     fedora fedora.example.co.jp

を追加すればOKです。これで、別の Windows PC からも、
C:\> telnet fedora

でも、
C:\> telnet fedora.example.co.jp

でも coLinux にログインできるようになりました。

その後、最初に壊れていた cracklib の辞書ですが、英単語ファイルは、words.noarch に入っていることが分かりました。これを取り込んでみましょう。
# yum install words.noarch
...........................
# rpm -qa |grep words
words-3.0-8.1
# rpm -ql words-3.0-8.1
/usr/share/dict/linux.words
...........................
# ls -l /usr/share/dict/linux.words
-rw-r--r-- 1 root root 4951020 Dec 17  2005 linux.words
# wc /usr/share/dict/linux.words
 479625  479625 4951020 /usr/share/dict/linux.words
#

48万語です。早速辞書に変換します。
# create-cracklib-dict /usr/share/dict/linux.words
454538 454538
# ls -l /usr/share/craklib
total 2440
-rw-r--r-- 1 root root     360 Feb 11  2006 cracklib.magic
-rw-r--r-- 1 root root    1024 Dec 11 23:05 pw_dict.hwm
-rw-r--r-- 1 root root 2363876 Dec 11 23:05 pw_dict.pwd
-rw-r--r-- 1 root root  113648 Dec 11 23:05 pw_dict.pwi
#

ちゃんとできました。

coLinux の場合別のファイルシステムですぐにブートできるので、root で制限していても限界があるわけですが、別に本格的にサーバとか動かすわけではないので気にしないことにします。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定6 ( telnetdとタイムゾーン )

2006-12-10 10:46:39 | インストールと設定
だいぶ寒くなってきました。

今 coLinux が入っている PC のある部屋はとても寒いので、ネットワークを使ってこたつの上にある PC から telnet で使いたくなりました。( ssh はこのPCでは使えません ) 設定の面倒でない普通の telnetd を使うために、telnet-server をインストールします。xinetd もないので yum で一緒にインストールします。
# yum install xinetd.i386 telnet-server.i386
.....................
# ls -l /etc/init.d/xinetd
-rwxr-xr-x 1 root root 2497 Feb 13  2006 /etc/init.d/xinetd
#
# chkconfig --list xinetd
xinetd      0:off   1:off   2:off   3:on   4:on   5:on   6:off
#

リブートしたときは、xinetd が動作するようになっています。
telnetd を使えるようにします。/etc/xinetd.d/telnet もできています。
# cd /etc/xinetd.d
# vi telnet

(次の1行を修正)

disable      = no

#

試す前に、/etc/hosts.allow と /etc/hosts.deny を設定します。簡単に
/etc/hosts.allow が、
ALL: 192.168.1.0/255.255.255.0 localhost

/etc/hosts.deny が、
ALL: ALL

にしました。確か、「allow を満たさずかつ deny を満たすものだけを拒否する」はずです。

ここで xinetd を起動します。
# /etc/init.d/xinetd start
Starting xinetd:                                  [  OK  ]
#
# netstat -pa
.........................
tcp    0    0 *:telnet      *:*        LISTEN    11873/xinetd
.........................
#

うまく動いているようです。telnet を使ってみます。
# telnet localhost
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'
telnetd: All network ports in use.
Connection closed by foreign host.
#

動きません。調べたら、pty デバイスが足りないようです。MAKEDEV を使うのは久しぶりです。
# cd /dev
# ./MAKEDEV ptyp

これで試したら、まだだめで、結局
# ./MAKEDEV ttyp

も必要でした。(疑似ターミナルのマスタとスレーブですね。)これで、/dev の下に、

ptyp0,ptyp1,...,ptypf,ttyp0,ttyp1,...,ttypf

ができました。しかし、ブートしなおすと、これらはすべて消えてしまいます。詳しく調べている暇はないので、とりあえず/etc/rc.d/rc.local に設定しました。
# vi /etc/rc.d/rc.local

( 次の行を追加しました。)

if [ -f /dev/MAKEDEV ] ; then
  /dev/MAKEDEV ptyp
  /dev/MAKEDEV ttyp
fi

#

telnet がやっと使えて一安心です。ここから、暖かい部屋で作業再開です。

さらに、時間表示がおかしいことが判明しました。タイムゾーンをなおします。
$ date
Sat Dec  9 02:04:33 EST 2006
$

TZ 環境変数を指定すればよいのですが、調べてみら、/etc/localtime を直せばよいことがわかりました。そこで、現在の /etc/localtime とは何かを調べてみました。
# ls -l /etc/localtime
-rw-r--r-- 1 root root 1267 Sep 12 10:47 /etc/localtime
# file /etc/localtime
/etc/localtime: timezone data

該当するファイルは、/usr/share/zoneinfo のどれかだと思います。
# cd /usr/share/zoneinfo
# ls -l |grep ' 1267 ' 
-rw-r--r-- 1 root root 1267 Nov 29 05:06 posixrules
# file posixrules
posixrules: timezone data
# cmp /etc/localtime posixrules
#

となって、/etc/localtime は、/usr/share/zoneinfo/posixrules であることが分かりました。

タイムゾーンを日本にするために、/usr/share/zoneinfo/Japan を /etc/localtime にコピーします。

# cp /usr/share/zoneinfo/Japan /etc/localtime

改めてリブートしてみたら、

$ date
Sat Dec 9 16:24:50 JST 2006
$

となって正しく表示されました。

しょっちゅうブートしたり、シャットダウンしたりしていますが、ブートが 10 秒ぐらいで出来ます。シャットダウンもそれほど時間がかからない(1分くらい?)ので、すごく気楽にできるからです。これが、coLinux のよいところです。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定5 ( 開発環境とユーザ作成 )

2006-12-08 23:34:01 | インストールと設定
これから、coLinux 上の FedoraCore5 上で、Web サーバなどを動かそうと思っています。そのために C コンパイラなどの開発環境を調べてみました。

今回の Fedora5-2gb.ext3 ですが、調べてみたら、開発環境を含んでいません。そこで、開発環境を用意する必要があります。実は、FedoraCore は使ったことがなかったので、今回 coLinux 導入によって、 yum コマンドを初めて使いました。これを利用してみます。まず利用できるパッケージのリストを求めます。
# cd
# yum list all | tee prog.list
...................
#


作成されたprog.list を見るとgcc.i386 が手に入るようです。早速インストールしてみます。
# yum install gcc.i386
.....................
# which gcc
/usr/bin/gcc

これで、gcc が使えます。as, ld なども動きます。make, flex, bison も入れましょう。
# yum install make.i386 bison.i386 flex.i386
......................
#

たしか、mysql のコンパイルなどで、c++ を使うのでこれも入れましょう。
# yum install gcc-c++.i386
.....................
#

gnupg も必須です。
# yum install gnupg.i386
.......................
#


あとは、必要になったところでインストールしていけば良いでしょう。

yum は、便利ですね。FedoraCore は、確か RedHat から、ということは、rpm も使えるはずです。
#rpm -qa |tee rpm.list
.......................
#

yum で update した後で、rpm.list を作成して見てみました。

gcc-4.1.1-1.fc5
make-3.80-10.2

などが分かりました。

coLinux で通常作業する為のユーザを作って、今後はそちらで作業したいと思います。ユーザも追加してみましょう。
# vi /etc/group

 ( 最後に以下の行を追加しました。)

 user:x:200:

# useradd -u 200 -g 200 -d /home/espiya  espiya
# passwd espiya
Changing password for user espiya.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#


今後は、このユーザでログインしたら、

$

プロンプトで表したいと思います。

今日は、どうでもいい作業でした。日記なので、今後はこんな感じで、だらだら行きたいと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定4 ( 緊急用ファイルシステムとキーボード )

2006-12-07 23:03:09 | インストールと設定
ブート中に swap のところで止まってしまう現象が起こりました。とりあえず、Ctrl-C でそのまま立ち上がるようです。この現象が多発するなら、何か対策が必要です。

今まで順調だったので急に不安になりました。

もし colinux 利用中に何かトラブルがあり、Fedra5-2gb.ext3 が破壊された場合、fsck で直さなければならないことも、今後十分考えられます。そのためには、壊れていない Fedora5-2gb.ext3 の複製をあらかじめ作っておいて、そちらでブートしてから、修復しようと思い、現在の Fedora5-2gb.ext3 の複製 BackupFedora5-2gb.ext3 を作り、保存しておく事にしました。

まず、Windows 上で、fedora5.bat の複製 fedora5backup.bat を作成し、

cobd3=BackupFedora5-2gb.ext3

を追加指定してブートします。試しに fsck してみましょう。
# fsck /dev/cobd3
fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/cobd3 has been mounted xx times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/cobd3: xxxxx/xxxxx files (2.0% non-contiguous), 174412/524288 blocks
#

早速、マウントしてみます。
# mount /dev/cobd3 /mnt
# ls /mnt
bin  etc   lib        media  mnt  opt   root  selinux sys  usr
dev  home  lost+found misc   net  proc  sbin  srv     tmp  var
# sync
# umount /mnt
#

うまくいきました。シャットダウンして、今度は Fedora5-2gb.ext3 が壊れたときに備えて、fedora5backup.bat をもう一度修正します。

cobd0 と cobd3 の部分を、

cobd0=BackupFedora5-2gb.ext3



cobd3=Fedora5-2gb.ext3

のように修正します。もう一度ブートして、同じような作業で、Fedora5-2gb.ext3 が fsck できることを確認して、シャットダウンします。

最後に、BackupFedora5-2gb.ext3 を、最初に使った 7-zip で圧縮してしまっておきます。BackupFedora5-2gb.ext3 を右クリックすして、メニューから、[7-Zip] → [圧縮] を選び、「ファイルの圧縮」ウィンドウで標準のまま圧縮します。圧縮前のファイルは削除し、作成された BackupFedora5-2gb.7z は、何かあったときのために保存しておきます。

これで何かあったら、

・ BackupFedora5-2gb.7z を解凍する。
・ fedora5backup.bat を使ってブートする。
・ /dev/cobd3 に対して修復を行う。

の手順で作業できます。

ところで、最初にキーボードの設定をしましたが、その後 /etc/rc.d/rc.sysinit を見てみたら、/etc/sysconfig/keyboard に設定があることが分かりました。

#cat /etc/sysconfig/keyboard
KEYBOARDTYPE="pc"
KEYTABLE="us"
#

となっているところを、

KYEBOARDTYPE="pc" ( 変更無し )
KEYTABLE="jp106"

として、最初に変更した /etc/rc.d/rc.local の該当部分をコメントにして、リブートしたところ反映されませんでした。先ほどの /etc/rc.d/rc.sysinit の該当部分をよくよく見ると次のようになっていました。

$LOADKEYS $KEYMAP < /dev/tty0 > /dev/tty0 2>/dev/null && \

ところが、/dev/tty0 は存在しません。現在の tty も、

#tty
/dev/tty1
#

となっています。そこで、 /etc/rc.d/rc.sysinit の問題の行を修正します。

$LOADKEYS $KEYMAP < /dev/tty1 > /dev/tty1 2>/dev/null && \

これでブートしなおしたら、ようやく反映されました。

この日記は、すべて colinux で作業するつもりなので、ブートできなかったらお手上げになってしまうため、どうなっても復元できるように、今後もいろいろ手を入れていきたいと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定3 ( ファイルシステムの増設とswapファイル)

2006-12-06 21:38:37 | インストールと設定
今までの設定で、coLinux もだいぶ使えるようになってきました。しかし、coLinux のファイルシステムは、Windows から見ると一つのファイルです。ということは、バージョンアップなどがあった場合、丸ごと入替の可能性があります。そのため、今後 coLinux を使い続けるためには、利用している間に作成されたデータや設定は別の Windows ファイルを作って、そちらを使った方がよさそうです。

そこで、今回はその辺を試してみました。

C:\colinux\cofs.txtを見ると、C:\Temp を用意しておけば、Windows のフォルダをマウントできるようです。これができると、データのやりとりが便利ですので、このフォルダもあらかじめ用意しておきます。

こうしておいて、coLinux をブートします。

ログインしたら、早速 cofs を試してみました。

# mount -t cofs 0 /mnt
# umount /mnt

# mount -t cofs /dev/cofs0 /mnt
# umount /mnt
#

これら2つの方法共、いずれもうまくマウントできました。最初の方法ですと分かりづらいので、2番目の方法でマウントする事にしました。これで Windows とのファイルのやりとりが簡単になりました。

次に、新しいファイルシステムの作成を試みます。

最初に用意されている、/dev/cobd0 用のファイルシステムも、Windows 側から見れば普通のファイルでしたから、巨大なサイズのファイルを Windows 側に作っておいて、それをマウントすれば良さそうです。そのため、Windows XP には、fsutil コマンドがあります。コマンドプロンプトで作業します。

fsutil コマンドは、

fsutil file createnew <ファイル名> <長さ>

で指定します。長さはバイト単位です。ここでは、Fedora5-2gb.ext3 と同じサイズ、2,147,483,648 ( 2 * 1024 * 1024 * 1024 : 2GB ) にしましょう。

C:\>cd \colinux
C:\colinux>fsutil file createnew fslocal.ext3 2147483648

これで、ファイルができました。Fedora5.bat に

cobd2=fslocal.ext3

を追加して、ブートしてみます。

早速、mksf を実行します。
# mkfs -t ext3 /dev/cobd2
# mount /dev/cobd2 /mnt
# df /mnt
Filesystem            1K-blocks    Used Available Use% Mounted on
/dev/cobd2              2064208   68680   1890672   4% /mnt
#

うまく作成できました。
cobd1 は、swap ファイル用です。この swap ファイルも作ってみましょう。128MBぐらいにしてみます。colinux を一度シャットダウンして、Windows 上でファイルを作成します。

C:\colinux>fsutil file createnew swap.img 134217728

このままブートしても、

Enable swap space: swapon: /dev/cobd1: Invalid argument

となります。そこで、mkswap を使いましょう。
 
# mkswap /dev/cobd1
Setting up swapspace version 1, size = 134213 kB
#

となって、

# swapon -a -e

も実行できました。確認は、
# swapon -s
Filename               Type          Size    Used  Priority
/dev/cobd1             partition     131064  0     -1
#


でできます。リブートしても、エラーが出なくなりました。

私のところは、/dev/cobd2 のマウントポイントを /home にして、後からいろいろ作業するものは、すべて /home/local に入れて、それを /usr/local/ からソフトリンクすることにしました。

# vi /etc/fstab
( 次の行を追加します。)

/dev/cobd2 /home ext3 defaults 1 1

#
# mount -a
# mkdir /home/local
# cd /usr/local
# cp -rP * /home/local
# cd /usr
# rm -rf local
# ln -s /home/local local
#

以上で、ファイルシステム関連の設定は一応完了しました。

ここまでで、C:\colinux\Fedora5.bat は以下のようになりました。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=128 cobd0=Fedora5-2gb.ext3 cobd1=swap.img cobd2=fslocal.ext3 cofs0=C:\Temp eth0=pcap-bridge,"ローカル エリア接続" root=/dev/cobd0 fastboot nogui

( 1 行です。)

これから何をするかは、まだ決めていませんが、とりあえず開発環境を用意したいと思います。



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

設定2 ( ネットワーク )

2006-12-05 22:38:12 | インストールと設定
root のパスワードも無事に設定できましたので、ブート時の設定に取りかかりましょう。colinux と windows のファイルのやりとりは、ネットワークでおこないたいので、最初にネットワーク設定を行います。

まず、Fedora5-start.bat の中身を見てみますと、

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=64 cobd0=Fedora5-2gb.ext3 cobd1=swap.img cofs0=C:\Temp eth0=slirp root=/dev/cobd0 fastboot nogui

となっていました。(実際は1行です。goo ブログの編集で、backslash が円マークで表すと、消えるような気がするので数値で指定しますが、うっかり忘れてしまうかもしれません。番号は、man ascii で分かりました。)

つまり、colinux-daemon.exe を各種パラメタを付けて実行し、その際、

kernel は vmlinux  ( カーネルファイルです。)
initrd は initrd.gz ( ブート時に読み込まれるRAMディスク )
cobd0 は Fedora5-2-bg.ext3 ( 実際のファイルシステムをcobd0 に対応付け )
cobd1 は swap.img (スワップファイル、まだない)
cofs0 は C:\Temp ( cofsによって、Windowsのファイルがマウントできる?)
root は /dev/cobd0 ( cobd0 の名前を通して実際のファイルシステムを / としてマウントする)  

であることがわかります。C:\colinux フォルダにある vmlinux , initrd.gz , Fedora5-2-bg.ext3 を使うようです。

オリジナルの Fedora5-start.bat は残して、Fedora5.bat にコピーして編集します。私のマシンでは、あらかじめ入れてあった、WinPcap を使います。

そこで、C:\colinux\Readme.txt を参照しますと、

ethX=tap | pcap-bridge,<network connection name>,<MAC>,<promisc>

がネットワーク設定部分です。<MAC>,<promisc> はオプションなので、今回は省略します。

<network connection name> は、Windows の「ネットワーク接続」ウィンドに表示される各種ネットワークアイコンの下に表示される名前そのものです。このマシンでは「ローカル エリア接続」です。

したがって、eth0 の指定は、

eth0=pcap-bridge,"ローカル エリア接続"

にしました。メモリも64から、128に変更して、結局作成した Fedora5.bat は、以下のようになりました。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=128 cobd0=Fedora5-2gb.ext3 cobd1=swap.img cofs0=C:\Temp eth0=pcap-bridge,"ローカル エリア接続" root=/dev/cobd0 fastboot nogui

(本当は1行です。)

早速テストしてみます。

C:\colinux フォルダから、Fedora5.bat をダブルクリックします。

このマシンの環境では、ルーターのDHCPが利用できるので、eth0 が有効になれば、IPアドレスが割り当てられるはずです。

# ifconfig 
eth0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
        inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
.......
#


確かにネットワークは認識されています。

早速ルーターに ping してみます。

# ping -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=127 time=10.3 ms

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 10.319/10.319/10.319/0.000 ms
#


うまく接続されています。DHCPで外部への接続設定もできていますので、yum も実行してupdate しましょう。

# yum -y update

これもできました。ネットワークが設定できて一安心です。
次回はファイルシステム関連の設定を行います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする