coLinux作業 のソース

※※このサイトは2012年頃より更新を停止しています。※※
*coLinux作業
ここでは、coLinuxを使用するに当たって行った作業の履歴を、自分のために、ひいてはどなたかの参考にもなりうるように残してみたいと思います。
~常套句ですが、「この通りにやればできる」というものではありません。参考にされる際には、自己責任で行ってください。
RIGHT:(記:2005年9月ごろ)

//※※バグ・訂正の報告は→[[こちら>coLinux作業#bugtrack]]←からお願いします。

#contents

**環境
| 機種 | [[Endeavor MT7000 (Epson Direct)>http://support.epsondirect.co.jp/edcfaq/edsnsys_expub.nsf/ContentsID_S/TN100008700]] |
| OS | Windows XP Home Edition Version 2002 Service Pack 2 |
| CPU | Celeron(R) CPU 1.80GHz |
| メモリ | 1.82GHz、256MB RAM |
| HD構成 | C:10.0GB D:5.99GB E:21.2GB |
| その他 | セキュリティソフト無し |

**下準備
ホストマシン(WindowsXP)上に準備するものです。
+2Gバイトサイズのイメージファイルを2つ準備する。
一つは / 用。
もう一つは /home 用。
それぞれのイメージを別々のパーティションとしてマウントすることが出来る。
こうしておいた方が、ホームディレクトリのバックアップや他サーバへ移動が楽で、何かとkimita的に便利なので。
--windowsのフリーソフトにも作成できるものがあるみたいなのでそれを使ってもいい。
別のlinux端末があればそこで作ってFTPで持ってくるとか。
cygwinとか入ってればそれで下記のような感じでddコマンド使って作成、windows上に持ってくる。
 $ dd if=/dev/zero of=/tmp/home2G.img bs=1024 count=2000
 $ dd if=/dev/zero of=/tmp/root2G.img bs=1024 count=2000
 ※inputを/dev/zeroから、outputを/tmp/home2G.imgおよび/tmp/root2G.imgへ、byteサイズ1024単位で2000回という意味でいいはず
+上記と同様にしてswap用のイメージファイルも作っておく
--swapイメージは、coLinuxをインストールするPCのが搭載しているメモリ容量と相談する。
一般的にswapパーティションのサイズは搭載メモリの1.5〜2倍ぐらい見込んでおけってゆうよね?
よってcoLinuxが使う最大メモリ容量の2倍以上準備しておけばいいと思う。
例えば俺の場合、デスクトップPCではメモリが256MB積んであるんだけど、coLinuxに64MBぐらい割り当てたいので128MB以上は欲しい。
で、ディスクに余裕があったので256MBを用意した。
 $ dd if=/dev/zero of=/tmp/256Mb bs=1024 count=256

**coLinuxをインストール
[[メモ置き場>http://scratchpad.fc2web.com/index.html]]さん - http://scratchpad.fc2web.com/index.html
主に上記サイトを参考にして以降の作業を行う。
+インストール
[[ここ>https://sourceforge.net/project/showfiles.php?group_id=98788]] - https://sourceforge.net/project/showfiles.php?group_id=98788
から0.6.2-colinux-2.6.10を持ってきてインストール。
--''select components to installとかゆわれたら''
ここでは下記を選択した。
---colinux
---colinux Virtual Ethernet Driver (TAP-Win32)
---Root Filesystem image Download
※仮想ネットワークドライバについて
[[このあたり参照>http://scratchpad.fc2web.com/colinux/install/install-5.html]]して、自分の環境・目的にに合ったドライバを選択して設定してください。
--''Destination Folderとか聞かれたら''
 C:\Program Files\coLinux
--''rootfilesystemとか言われたら''
 Choose a distribution:
      Debian (21 Mb, extracts to 1Gb)
 Location preference:
      Asia
+Debian-3.0r2.ext3-mit-backports.1gb.bz2を解凍。
出来たフォルダをDebianに変える。
さらにその中のrootfilesystemの長い名前をDebian-3.0r2.imgに直す。
+C:\Program Files\coLinux\フォルダ直下のdefult.colinux.xmlという設定ファイルをコピーしてファイル名を例えばhoge.colinux.xmlにして下記のように編集。
 <?xml version="1.0" encoding="UTF-8"?>
 <colinux>
     <block_device index="0" path="\DosDevices\C:\Program Files\coLinux\Debian\Debian-3.0r2.img" enabled="true" />
     <block_device index="1" path="\DosDevices\C:\Program Files\coLinux\swap\256Mb" enabled="true" />
     <block_device index="2" path="\DosDevices\C:\Program Files\coLinux\Debian\root2G.img" enabled="true" />
     <block_device index="3" path="\DosDevices\C:\Program Files\coLinux\Debian\home2G.img" enabled="true" />
     <cofs_device index="0" path="\DosDevices\C:\" type="flat" enabled="true" />
     <bootparams>root=/dev/cobd0</bootparams>
     <initrd path="initrd.gz" />
     <image path="vmlinux" />
     <memory size="64" />
     <network index="0" name="TAP-Win32" type="tap" />
 </colinux>
準備してあったswapファイルイメージとroot2G.imgおよびhome2G.imgを、設定ファイルの記述に合うように配置。
+ファイル配置が済んだら、コマンドプロンプトを起動して下記のように入力してEnterしてとりあえず起動してみる。
 C:\Program Files\coLinux>colinux-daemon -c hoge.colinux.xml
「Cooperative Linux console」ってタイトルの窓が現れてログインプロンプトまで行ったら起動OK。
起動が確認できたら、とりあえず
 ユーザ:root
 パスワード:root
でログイン。
初期状態ではキーボードがUS配列扱いなのでビビる。
コマンド「# dpkg-reconfigure console-data」で日本語配列に変更。画面が英語だけど適当に読んで。
さらにrootパスワードを納得のいくものに変更。
そしてcofsがちゃんと機能するかチェック。
んでinittabのrunレベルを一般的な3に直しておいてシャットダウン。
下記が起動確認後の作業。
 colinux login: root
 Password:          ←入力しても何も表示されないがEnterキー押下でチェックされる。
 colinux:~# dpkg-reconfigure console-data
    ※最初の「keymap変更するぞ、いいんだな?」って問いには<OK>でEnterかSpaceキー
    ※「policyはどうしたい?」って聞かれたら「Select keymap from arch list」を選択して<OK>
    ※「layout familyはどうするよ?」って聞かれたら「qwerty」を選択して<OK>
    ※国名がずらずら表示されたらjapaneseを選択して<OK>
    ※「variantはどっちがいい?」って聞かれたら「Standard」を選択して<OK>
 Looking for keymap to install:
 jp106
 Loading /etc/console/boottime.kmap.gz
 colinux:~# passwd
 Enter new UNIX password:        ←ここも上記と同様表示されない
 Retype new UNIX password:    ←ここも同上
 passwd: password updated successfully
 colinux:~# mount -t cofs cofs0:"Program Files" /mnt
 colinux:~# ls -la /mnt/
    ※ずらずらとホストマシン(Windows)のC:\Program Files\直下のファイル名が表示されたらOK
 colinux:~# umount /mnt/
 colinux:~# nano /etc/inittab
    ※「id:2:initdefault:」っていう行があるので「id:3:initdefault:」に直す
    ※nanoエディタの使い方は、エディタ開いたときの画面下部にあり。
    ※Ctrl+oで変更を保存、Ctrl+xでエディタ終了
 colinux:~# shutdown -h now
+Windowsのサービスとして登録しておく
コマンドプロンプトで下記コマンドにてサービス登録。
 C:\Documents and Settings\username>cd C:\Prog*\coLi*\    ←ワイルドカード使ってるだけ
 C:\Program Files\coLinux>colinux-daemon --install-service -c hoge.colinux.xml
 Cooperative Linux Daemon, 0.6.2
 Compiled on Sat Feb  5 10:19:28 2005
 
 daemon: installing service 'Cooperative Linux'
 daemon: service command line: "C:\Program Files\coLinux\colinux-daemon.exe" --run-service "Cooperative Linux" -d -c "hoge.colinux.xml"
 daemon: setting restart options
 daemon: service installed.
 
 C:\Program Files\coLinux>
+rootfilesystemの引越し
次に、rooffilesystem内のデータを全て別イメージファイルへ引越しする。
coLinuxインストール直後のrootfilesystemのイメージは1GBしか無く、GUI環境をインストールすると要領が足りなくなるよう。
そのためrootfilesystem内のデータを[[下準備>coLinux作業#ve4bbc76]]で行っておいた2Gbyteのイメージファイルへ丸ごとコピー、つまり引越しする。
++''hoge.colinux.xmlのbootparams行を下記のように編集''
 befor:<bootparams>root=/dev/cobd0</bootparams>
 after:<bootparams>root=/dev/cobd0 single</bootparams>
これにより、coLinuxがシングルユーザモードで起動するようになる。
※この引越し作業はシングルユーザモードで行います。
++''先ほど登録したサービスからでいいのでcoLinuxを起動する''
1.スタートボタン>設定>コントロールパネルを選択
2.管理ツールダブルクリック
3.サービスをダブルクリック
4.開いた窓でCooperative Linuxを選択してサービス開始
5.C:\Program Files\coLinux\colinux-console-nt.exeをダブルクリックしてConsoleを立ち上げる。
 //ブートメッセージ後、下記のようなメッセージで入力待ちになってれば
 //シングルユーザモードで起動しています。
 Give root password for maintenance
 (or type Control-D for normal startup):     ←rootパスワード入力してEnter
++''コマンドラインで作業''
2Gのイメージファイルをext3でフォーマットしてマウント、そして必要ファイルをユーザ/属性/タイムスタンプそのままに全部をコピーする。
 colinux:~# mkdir /mnt/cobd2 /mnt/cobd3
 colinux:~# mkfs.ext3 /dev/cobd2            ←hoge.colinux.xmlに記述したroot2G.img をext3でフォーマットする
 mke2fs 1.37 (21-Mar-2005)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 256000 inodes, 512000 blocks
 25600 blocks (5.00%) reserved for the super user
 First data block=0
 16 block groups
 32768 blocks per group, 32768 fragments per group
 16000 inodes per group
 Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912
 
 Writing inode tables: done
 Creating journal (8192 blocks): done
 Writing superblocks and filesystem accounting information: done
 
 This filesystem will be automatically checked every 35 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 colinux:~# mount -t ext3 /dev/cobd2 /mnt/cobd2
 EXT3 FS on cobd2, internal journal
 EXT3-fs: mounted filesystem with ordered data mode.
 colinux:~# kjournald starting.  Commit interval 5 seconds
                     ←ここで処理が止まってるように見える場合はEnterを押せばよい。
 colinux:~# mkfs.ext3 /dev/cobd2            ←同様にhome2G.img をext3でフォーマットする
 mke2fs 1.37 (21-Mar-2005)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 256000 inodes, 512000 blocks
 25600 blocks (5.00%) reserved for the super user
 First data block=0
 16 block groups
 32768 blocks per group, 32768 fragments per group
 16000 inodes per group
 Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912
 
 Writing inode tables: done
 Creating journal (8192 blocks): done
 Writing superblocks and filesystem accounting information: done
 
 This filesystem will be automatically checked every 35 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 colinux:~# mount -t ext3 /dev/cobd3 /mnt/cobd3
 EXT3 FS on cobd3, internal journal
 EXT3-fs: mounted filesystem with ordered data mode.
 colinux:~# kjournald starting.  Commit interval 5 seconds
                     ←ここで処理が止まってるように見える場合はEnterを押せばよい。
 colinux:~# mkdir /mnt/cobd2/mnt /mnt/cobd2/proc /mnt/cobd2/home
 colinux:~# cd /
 colinux:/# ls -l sys/devices/serio0/drvctl
 colinux:/# chmod 600 sys/devices/serio0/drvctl  ←ファイルコピー処理時にパーミッションエラーになるので前もって直しておく
 colinux:/# cp -a bin boot cdrom dev etc floppy initrd lib media opt root sbin sys tmp usr var /mnt/cobd2/ 
 colinux:/# cp -a /home/* /mnt/cobd3/
 colinux:/# cd /mnt/cobd2/etc
 colinux:/mnt/cobd2/etc# vi fstab   ←エディタでfstabの内容を下記のような記述に編集する。
 /dev/cobd0      /               ext3    errors=remount-ro       0       1
 /dev/cobd1      none            swap    sw                      0       0
 /dev/cobd2      /home           ext3    errors=remount-ro       0       1
 proc            /proc           proc    defaults                0       0
 tmpfs           /dev/shm        tmpfs   defaults                0       0
 colinux:/mnt/cobd2/etc# mv mtab mtab.disable  ←既存環境のmtabをリネームしておく
 colinux:/mnt/cobd2/etc# cd /
 colinux:/# umount /mnt/cobd2
 colinux:/# umount /mnt/cobd3
 colinux:/# shutdown -h now
++''設定ファイルhoge.colinux.xmlを正式版に修正する''
block_deviceの項とbootparamsの項を下記のように修正する。
 <?xml version="1.0" encoding="UTF-8"?>
 <colinux>
     <block_device index="0" path="\DosDevices\C:\Program Files\coLinux\Debian\root2G.img" enabled="true" />
     <block_device index="1" path="\DosDevices\C:\Program Files\coLinux\swap\256Mb" enabled="true" />
     <block_device index="2" path="\DosDevices\C:\Program Files\coLinux\Debian\home2G.img" enabled="true" />
     <cofs_device index="0" path="\DosDevices\C:\" type="flat" enabled="true" />
     <bootparams>root=/dev/cobd0</bootparams>
     <initrd path="initrd.gz" />
     <image path="vmlinux" />
     <memory size="64" />
     <network index="0" name="TAP-Win32" type="tap" />
 </colinux>
++''再度サービスから起動''
これで今後は / がroot2G.imgを、/homeがhome2G.imgをマウントするようにしてcoLinuxが起動してくれるでしょう。
+ネットワーク設定
※書きかけ




*ちょいメモ

**subversion と apache と Eclipse
[[参考1>http://64.233.167.104/search?q=cache:offawMIZa9UJ:www.saisse.jp/pukiwiki/pukiwiki.php%3FSubversion+eclipse+subversion&hl=ja&lr=lang_ja]] / [[参考2>http://64.233.167.104/search?q=cache:AK-dOqbjIGMJ:www.debian.org/doc/manuals/reference/ch-vcs.ja.html+debian+subversion&hl=ja&lr=lang_ja]] とかとかとか。
subversion試すなら、相性的にはapache2との方がいい見たいね。
じゃーapache2にしてみよか?
でもなんで今apache1.3系にしてるんだっけ?あ、そうか、php4入れたら勝手になったのか。
どうしよう、php5にしちまうか。
ほんでapache2もmysqlも入れ直して、subversionとEclipseでコードいじって遊ぶか。

**canna
GUIの準備として各ユーザで
 $ set-language-env
をやったら、そこで作成される.cannaを自分好みのやつに直す。
(もしくは /etc/canna/default.canna を /usr/share/canna/ 配下のどれかへのシンボリックリンクにしてしまう)

**exim4
なんだこれ?
mysql絡みのパッケージを入れようとしたらconfigurationが始まった。
なにやらメールの送受信についての質問をしてきてるようだが。

**proftpd
ローカルLAN内だけの利用を想定しての、加えるべき設定。
-''diff /etc/proftpd.conf /etc/proftpd.conf.org''
 6c6
 < ServerName                    "My_ftp_server"
 ---
 > ServerName                    "Debian"
 20c20
 < ListOptions                   "-la"
 ---
 > ListOptions                   "-l"
 57,70d56
 < <Limit LOGIN>
 <   Order allow, deny
 <   Allow from 127.0.0.1, 192.168.0.0/24
 <   Deny from all
 < </Limit LOGIN>
 <
 < <Directory /*>
 <   AllowOverwrite              on
 < </Directory>
 <
 < DefaultRoot                   ~
 < AllowStoreRestart             on
 < AllowRetrieveRestart          on
 <
 76,86d61
 < # Log
 < LogFormat allinfo "%t :  %u (%a [%h]) : [%s], %T, %m (%f)"
 < LogFormat write "%t : %u : %F (%a)"
 < LogFormat read "%t : %u : %F (%a)"
 < LogFormat auth "%t : %u (%a [%h])"
 <
 < ExtendedLog /var/log/proftpd/all.log ALL allinfo
 < ExtendedLog /var/log/proftpd/write.log WRITE write
 < ExtendedLog /var/log/proftpd/read.log  READ read
 < ExtendedLog /var/log/proftpd/auth.log AUTH auth
 <
 89,93d63
 < <Anonymous ~ftp>
 <   <Limit LOGIN>
 <     DenyAll
 <   </Limit LOGIN>
 < </Anonymous>
--''/etc/logrotate.d''
関連情報:http://www.aconus.com/%7Eoyaji/router/ftp.htm
配下に下記のようにproftpdを作成する
 # vi /etc/logrotate.d/proftpd
 /var/log/proftpd/all.log /var/log/proftpd/auth.log /var/log/proftpd/read.log /var/log/proftpd/write.log {
 # ftpd doesn't handle SIGHUP properly
 nocompress
 }

//&aname(bugtrack);
//*バグ報告
//#bugtrack
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS