トップ «前の日記(2010/08/03(Tue)) 最新 次の日記(2010/08/06(Fri))» 編集
【ソース+水=麦茶色の何か】

半期 四半期 全カテゴリ

今日の一言


2010/08/05(Thu) Vmware Fusion 凄ぇ!? [長年日記]

_ [雑記][Windows][玄箱][Debian][Ubuntu][FC][Linux]玄箱(初代)をいじる1(Debian化)

参考:

http://www.revulo.com/kuro-box/Debian/Install.html

http://tabi.homeip.net/kuro/

http://kuro.dsk.jp/

http://itnavi.com/kurobako2/

ハードディスクの準備

まず、玄箱にハードディスクを組み込む。 PCで使用していたハードディスクを使う場合は、先にパーティションを削除しておく。

また、玄箱で使用中のハードディスクにインストールし直す場合は、玄箱をEM モードにする必要がある。環境にもよるが、おそらく以下のいずれかの方法でできる。

EMモードの起動
   * リセットボタンを長押し
   * echo -n 'NGNG' > /dev/fl3 して再起動
   * echo -n 'NGNG' > /dev/mtdblock2 して再起動

Debian化キットのダウンロード

「玄箱 debian化」とかでググれば色々でてくるので、自分の環境にあったのを探す。

*自分の場合、なぜか他のでは無理で、debian_2005_08_21_dist.tgz(http://kuro.dsk.jp/より)だけ出来た。

可能であれば、カーネルは2.6系の方がいいと思われ。

Debian のインストール

以下の作業を Windows マシン上で行う。手作業でやる方法もあるが、玄箱のファームウェアアップデートプログラムを使うのが楽。

  1. 玄人志向 のサイトから、玄箱のファームウェアアップデートプログラムをダウンロード。(http://kuroutoshikou.com/modules/display/?iid=118)

  * kuro_102.zip (玄箱 用)

  * kurog101.zip (玄箱/HG 用)

   2. 玄箱 Debian 化キットのファイルを tmpimage.tgz にリネームし、それを zip 形式で圧縮して image.zip を作成。

   3. ファームウェアアップデートのファイルを展開し、展開されたファイルの中にある image.zip を上記の image.zip に差し替える。

   4. KuroBoxUpdate.exe もしくは KuroBoxSetup.exe を実行し、セットアップを開始。

   5. セットアップが終了すると、自動的に玄箱が再起動する。

これで玄箱に Debian がインストールされたはず。

インストールに失敗する場合は、ファイアーウォールを切ればうまくいくことがある。(Vistaの場合は、「管理者権限で実行」したほうがいいかも)

なお、この時点で、玄箱は以下のようにセッティングされている。

ネットワークの設定
  IP アドレス	192.168.0.100

  ネットマスク	255.255.255.0

  ゲートウェイ	192.168.0.1

  DNS サーバー	192.168.0.1
ユーザーアカウントの設定
  ユーザー名	パスワード

  root  root

  tmp-kun  tmp-kun

WinマシンのIPアドレスに細工を施す

玄箱のDebian化を行うと、上記のように、IPアドレスが192.168.0.100/24に設定される。

よって、Windows側のネットワークの環境が192.168.0.100/24でない場合には、この範囲に入るように、IPアドレスを手動で再設定する。

単に玄箱につなぎたいだけなら、192.168.0.99などと手動設定すればいいのだが、それだと設定中にWebサイトが見れなくなるので、やや不便。

なので、ここでは、一時的に同じイーサーポートに2つのIPアドレスを振ることにする。DHCPを利用している場合、

  1. コマンドプロンプトより、「ipconfig /all」で自分のPCのアドレス情報を確認する。

  2. ローカルエリア接続のプロパティより、TCP/IPプロパティを開き、「次のIPアドレスを使う」を選択する

  3. IPアドレス、サブネットマスク、デフォルトゲートウエイ、DNSサーバーアドレスにDHCPにて振り出されたものと同じ値を設定する。

  4. さらに「詳細設定」を開き、IPアドレスの追加を行う(192.168.0.99/255.255.255.0)

  5. 「ipconfig /all」にて二つのアドレスが有効になっていることを確認する。

後で玄箱のネットワーク設定を行うので、それが終わったら元に戻してもOK。というか、戻すべき。

初期パスワードの変更

以下の設定を用いて telnet で玄箱にログインする。

  IP アドレス: 192.168.0.100

  ユーザー名: tmp-kun

  パスワード: tmp-kun

玄箱内で以下のコマンドを実行し、root と tmp-kun のパスワードを変更する。su コマンドを実行した際のパスワードは、「root」。

  $ su

  # passwd

  # passwd tmp-kun

各種設定

ユーザーの追加、パスワードの設定
  KURO-BOX:/home/tmp-kun# adduser --ingroup staff user-name

  Adding user user-name...

  Adding new user mashiki (1001) with group staff.

  Creating home directory /home/mashiki.

  Copying files from /etc/skel

  Enter new UNIX password:

  Retype new UNIX password:

  passwd: password updated successfully

  Changing the user information for akihiro-i

  Enter the new value, or press return for the default

      Full Name []:

      Room Number []:

      Work Phone []:

      Home Phone []:

      Other []:

  Is the information correct? [y/n] y
パスワードの変更
  KURO-BOX:/home/tmp-kun# passwd user-name

  Enter new UNIX password:

  Retype new UNIX password:

  passwd: password updated successfully
ユーザー tmp-kunの削除

*必ず、新しく作成したユーザーでtelnet接続出来るなことを確認してから行うこと!

 KURO-BOX:/# userdel tmp-kun
ネットワーク設定の準備

まずは現状の確認。

 KURO-BOX:/etc# ifconfig -a
  eth0  Link encap:Ethernet  HWaddr 00:07:40:A4:7B:B4

        inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0

        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

        RX packets:1111 errors:0 dropped:0 overruns:0 frame:0

        TX packets:779 errors:0 dropped:0 overruns:0 carrier:0

        collisions:0

        RX bytes:72302 (70.6 KiB)  TX bytes:53967 (52.7 KiB)



  lo    Link encap:Local Loopback

        inet addr:127.0.0.1  Mask:255.0.0.0

        UP LOOPBACK RUNNING  MTU:16436  Metric:1

        RX packets:12 errors:0 dropped:0 overruns:0 frame:0

        TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

        collisions:0

        RX bytes:1086 (1.0 KiB)  TX bytes:1086 (1.0 KiB)

IPアドレス関連の設定ファイルの確認。

  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# grep 192.168 * */* */*/* */*/*/* 2>/dev/null
  hosts:192.168.0.100     KURO-BOX

  hosts.allow:ALL : 192.168.0.0/255.255.255.0

  resolv.conf:nameserver 192.168.0.1

  network/interfaces:address 192.168.0.100

  network/interfaces:network 192.168.0.0

  network/interfaces:broadcast 192.168.0.255

  network/interfaces:gateway 192.168.0.1

  ppp/options:# ms-dns 192.168.1.1

  ppp/options:# ms-dns 192.168.1.2

  ppp/options:# ms-wins 192.168.1.50

  ppp/options:# ms-wins 192.168.1.51

  ppp/options.ttyXX:# 192.168.0.1:192.168.0.2

*今回はpppは無視する。

ホスト名の設定ファイルを確認。

  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# grep KURO-BOX * */* */*/* */*/*/* 2>/dev/null
  hostname:KURO-BOX

  hosts:192.168.0.100     KURO-BOX

  motd:Linux KURO-BOX 2.4.17_kuro-box #4 2004年 4月 16日 金曜日

                 11:45:05 JST ppc unknown

   :

   :

ネットワークの設定

*ファイルの変更にviを使う必要があるので、どうやって書いたり保存したりするか程度は調べておくこと。

hostnameの変更(ここではhogeに変更)
  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# vi hostname

単純に、

 hoge

と書くだけでいい。

hostsの変更(ここではhogeのIPアドレスを「172.16.1.31」←適当。に変更)
  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# vi hosts

以下のように書き換える。

  127.0.0.1   localhost

  172.16.1.31   hoge
hosts.allowの変更(「172.16.1.*」からの接続を許可)
  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# vi hosts.allow

以下のように書き換える。

  # /etc/hosts.allow: list of hosts that are allowed to access the system.

  #       See the manual pages hosts_access(5), hosts_options(5)

  #       and /usr/doc/netbase/portmapper.txt.gz

  #

  # Example:    ALL: LOCAL @some_netgroup

  #     ALL: .foobar.edu EXCEPT terminalserver.foobar.edu

  #

  # If you're going to protect the portmapper use the name "portmap" for the

  # daemon name. Remember that you can only use the keyword "ALL" and IP

  # addresses (NOT host or domain names) for the portmapper. See portmap(8)

  # and /usr/doc/portmap/portmapper.txt.gz for further information.

  #

  ALL : 192.168.0.0/255.255.255.0

  ALL : 172.16.1.0/255.255.255.0

  ALL : 127.0.0.1
resolv.confの変更
  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# vi resolv.conf

こんな感じで書く。

  search

  nameserver 163.221.139.1

ただ、ネームサーバの設定等は意外とわかりにくいので、正常にネットワークにつながっているLinuxマシンの「resolv.conf」の内容をコピペするのが吉。

network/interfacesの変更
  KURO-BOX:/# cd /etc

  KURO-BOX:/etc# vi resolv.conf network/interfaces

以下のように書き換える。

  # Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or

  # /usr/share/doc/ifupdown/examples for more information.

  iface eth0 inet static

  address 172.16.1.31

  network 172.16.1.0

  netmask 255.255.255.0

  broadcast 172.16.1.255

  gateway 172.16.1.1

  

  iface lo inet loopback

  

  auto eth0 lo
再起動

ネットワークの設定が間違っていた場合、telnetで玄箱に入れなくなり、インストールからやり直しになる。

間違いのないことを祈りつつ、以下のコマンドを打つ。

 KURO-BOX:/etc# reboot
設定結果の確認

pingで新しいIPアドレスが応答を返すことを確認した後、telnetで接続。

  Debian GNU/Linux 3.0 kurobox

  kurobox login: user-name

  Password:

接続できたら、プロンプトのホスト名が変わりIPアドレスと意図したものに変更されていることを確認。

  hoge@kurobox:/$ su

  Password:

  kurobox:/# ifconfig -a

Win側のPCの設定を戻す

 1. Win側のIPアドレスの設定を元のDHCPに戻す
 2. ファイアウォールを有効にする。

これで一通りの作業は終了。後は自分でsambaを設定したりすべし。

_ [雑記][Windows][玄箱][Debian][Ubuntu][FC][Linux]玄箱(初代)をいじる2(Woody→etch)

前に紹介したDebian化キット(debian_2005_08_21_dist.tgz(http://kuro.dsk.jp/より))だと、Debian 3.0(Sarge)で、かなり古い。

*なお、ディストリビューションのバージョンは、

 $ cat /etc/debian_version

で調べられる。

ここでは、Debian化した玄箱を、さらにetch(4.0)へアップグレードする。

sargeへアップグレード

etchへアップグレードするには、woody -> sarge -> etchの順に段階を踏まなくてはならない。

また、woody自体がかなり古いため、aptの設定を一部変更する必要がある。(http://www.debian.org/distrib/archive

具体的には、「/etc/apt/sources.list」を、以下のように書き直す。

 deb http://archive.debian.org/debian-archive/ woody contrib main non-free

あとは、

  # apt-get update
  # apt-get dist-upgrade

とすれば、ディストリビューションがアップグレードされる。

この際、以下のようなエラーが出る場合には、

  Reading Package Lists... Error!
  E: Dynamic MMap ran out of room
  E: Error occured while processing prismstumbler (NewVersion1)
  E: Problem with MergeList /var/lib/apt/lists/archive.debian.org_debian-archive_debian_dists_sarge_main_binary-powerpc_Packages
  E: The package lists or status file could not be parsed or opened.

PTのキャッシュ容量が小さすぎることが原因らしいので、「/etc/apt/apt.conf」を、以下のように書き直せばOK。

 APT::Cache-Limit "1000000000";

で、

  # apt-get update
  # apt-get dist-upgrade

とすれば、Sarge化される。

etchへアップグレード

「/etc/apt/sources.list」をまたまた書き換え。

  deb http://ftp.jp.debian.org/debian/ etch main
  deb-src http://ftp.jp.debian.org/debian/ etch main
  deb http://security.debian.org/ etch/updates main

で、

  # apt-get update
  # apt-get dist-upgrade

とすれば、etch化が終了。

あとは適当に欲しいのを入れていけばいい。

補足

telnetはセキュリティ上、極めて危険なので、できれば使わない方がいい。

代わりに、sshを使ってログインしよう。

  # apt-get install openssh-server
  # apt-get remove telnetd

これで少しはセキュリティが上がった?

_ [雑記][Windows][玄箱][Debian][Ubuntu][FC][Linux]玄箱(初代)をいじる3(日本語環境の構築)

Sarge化した玄箱に日本語環境を構築し、UTF-8も利用できるようにする。日本語入力もできるようにcannaも導入する。

日本語環境のために必要なパッケージのインストール

 # apt-get install language-env canna canna-utils

Configuring Locales画面では ja_JP.EUC-JP と ja_JP.UTF-8 を選択して<ok>

defaultは ja_JP.EUC-JP を選択して<ok>

ロケールを再設定

 # dpkg-reconfigure -plow locales

ここでも ja_JP.EUC-JP と ja_JP.UTF-8 を選択して<ok>

defaultも ja_JP.EUC-JP を選択して<ok>

ユーザ環境の設定

ユーザのロケールを日本語にする。

※rootユーザ以外で実行する。

 $ user-ja-conf

基本はCannaを選択し、X関係は'N'を選択して後はデフォルト。

その他のインストールと設定

上記 user-ja-conf 実行時に表示されたパッケージをインストール。

 # apt-get install ja-trans manpages-ja egg emacs21

emacs使う時にBS(Back Space)キーで"一文字消去して戻る"設定にしておくために~/.emacsの下記設定行のコメントを外す。

 (global-set-key "\C-h" 'backward-delete-char)

各ユーザーで、$HOME/.bashrcに

 export LANG=ja_JP.UTF-8

を追加。

_ [雑記][Windows][玄箱][Debian][Ubuntu][FC][Linux]玄箱(初代)をいじる4(samba環境の構築)

参考:

http://tabi.homeip.net/kuro/#5-4

http://my-server.homelinux.com/samba_file.php

「samba」と「SWAT」をインストール

apt-getでサクッと入れよう。

 # apt-get install samba

ワークグループを聞かれるので「workgroup」と入力。

あとはデフォルトでOK。

なにかと便利なのでWEBブラウザ上からSAMBAの設定ができるツール「SWAT」を導入する。

 # apt-get install swat

早速SWAT経由でSAMBAの最低限の設定を行う。(これは可及的速やかに行いたい)

まず、フォルダを作成し、他のアクセス権を変更。

  # mkdir /mnt/public
  # chmod 777 /mnt/public

WEBブラウザを立ち上げて「http://玄箱のIPアドレス:901」 にアクセスする。(rootとパスワードを入力)

SWAT上での設定変更

(A)grobal
  unix charset = UTF-8
  dos charset = CP932
  interfaces = 127.0.0.1 163.221.139.0/255 eth0
  create mask : 0744→0777
  directory mask : 0755→0777

に変更。

(B)PASSWORD

各ユーザーのSambaパスワードを設定。(Sambaパスワードとログインパスワードは別物。)

*なお、WindowsPCと同じユーザー名に対して同じSambaパスワードを設定すると、WindowsPCから共有フォルダを開く際にユーザー名とパスワードを聞かれず自動的にログインできる。

 1. ユーザー名を入力。
 2. パスワードを入力。
 3. 「新規ユーザ追加」ボタンを押す。
 4. 追加したユーザを有効にするため、再度にユーザー名を入力して、「ユーザーの有効化」ボタンを押す。

これで、登録したユーザーのファイル共有が可能になる。

(C)SHARES

まず、ファイル共有設定の名前を入力する。単なる識別用なので、名前は適当でOK。

次に、「ファイル共有の作成」ボタンを押して、ファイル共有設定を追加する。(ユーザ名:user-nameが共有する場合)

ファイル共有設定
  comment = /mnt/public
  path = /mnt/public
  
  valid users = user-name
  
  Readonly = No
  create mask = 777
  directory mask = 777

で、『変更を反映』

これでOK!

*なお、Ubuntuからファイル共有にアクセスする際は、「場所」→「サーバへ接続」から、

  サービスの種類:Windows共有
  サーバ名:172.16.1.31
  フォルダ:public
  ユーザ名:user-name

当然、サーバ名とユーザ名は自分のものにすること。

_ [雑記][Debian][玄箱][Ubuntu][FC][Linux][Windows] ファイル自体の名前の文字コードを変更(convmv)

scpやsambaを使ってWindows - Linux間でのファイルのやりとり等を行っていると、設定によっては、ファイル名の文字化けが起きることがある。

また、EUC-JP環境を使っていたディスクをUTF-8環境に変更したい場合等、一つ一つファイルの文字コードを変えることは現実的でない。

よって、こういう場合には、convmvを使うのがおすすめ。

 # apt-get install convmv

例えば、カレントディレクトリ以下のファイル名をShift_JIS (CP932) から UTF-8 に変更するには、

 $ convmv -f sjis -t utf8 * --notest

とする。

ディレクトリごと再帰的に変更する場合には、-rオプションをつけ、

 $ convmv -f sjis -t utf8 -r . --notest

とする。

同様に、EUC-JP から UTF-8 に変更するには、

 $ convmv -f euc-jp -t utf8 * --notest

とし、ディレクトリごと再帰的に変更する場合には、-rオプションをつけ、

 $ convmv -f euc-jp -t utf8 -r . --notest

とすればいい。

[]