coLinux作業

Last-modified: 2006-04-18 (火) 20:56:09 (6576d)
※※このサイトは2012年頃より更新を停止しています。※※

coLinux作業

ここでは、coLinuxを使用するに当たって行った作業の履歴を、自分のために、ひいてはどなたかの参考にもなりうるように残してみたいと思います。

常套句ですが、「この通りにやればできる」というものではありません。参考にされる際には、自己責任で行ってください。

(記:2005年9月ごろ)

環境

機種Endeavor MT7000 (Epson Direct)
OSWindows XP Home Edition Version 2002 Service Pack 2
CPUCeleron(R) CPU 1.80GHz
メモリ1.82GHz、256MB RAM
HD構成C:10.0GB D:5.99GB E:21.2GB
その他セキュリティソフト無し

下準備

ホストマシン(WindowsXP)上に準備するものです。

  1. 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回という意味でいいはず
  2. 上記と同様にして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
主に上記サイトを参考にして以降の作業を行う。

  1. インストール
    ここ - 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
        ※仮想ネットワークドライバについて
        このあたり参照して、自分の環境・目的にに合ったドライバを選択して設定してください。
    • Destination Folderとか聞かれたら
      C:\Program Files\coLinux
    • rootfilesystemとか言われたら
      Choose a distribution:
           Debian (21 Mb, extracts to 1Gb)
      Location preference:
           Asia
  2. Debian-3.0r2.ext3-mit-backports.1gb.bz2を解凍。
    出来たフォルダをDebianに変える。
    さらにその中のrootfilesystemの長い名前をDebian-3.0r2.imgに直す。
  3. 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を、設定ファイルの記述に合うように配置。
  4. ファイル配置が済んだら、コマンドプロンプトを起動して下記のように入力して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
  5. 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>
  6. rootfilesystemの引越し
    次に、rooffilesystem内のデータを全て別イメージファイルへ引越しする。
    coLinuxインストール直後のrootfilesystemのイメージは1GBしか無く、GUI環境をインストールすると要領が足りなくなるよう。
    そのためrootfilesystem内のデータを下準備で行っておいた2Gbyteのイメージファイルへ丸ごとコピー、つまり引越しする。
    1. hoge.colinux.xmlのbootparams行を下記のように編集
      befor:<bootparams>root=/dev/cobd0</bootparams>
      after:<bootparams>root=/dev/cobd0 single</bootparams>
      これにより、coLinuxがシングルユーザモードで起動するようになる。
      ※この引越し作業はシングルユーザモードで行います。
    2. 先ほど登録したサービスからでいいので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
    3. コマンドラインで作業
      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
    4. 設定ファイル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>
    5. 再度サービスから起動
      これで今後は / がroot2G.imgを、/homeがhome2G.imgをマウントするようにしてcoLinuxが起動してくれるでしょう。
  7. ネットワーク設定
    ※書きかけ

ちょいメモ

subversion と apache と Eclipse

参考1 / 参考2 とかとかとか。
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
      }
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS