chip
Amebaでブログを始めよう!

MacOS X で UNIXアプリを動かす

あまりに重くてログインできないことが多々あり、更新する意欲が失せて全く更新されなくなってからいつの間にやら半年が経過。

でも、そんな 2005年は過ぎ、新しい年になったので更新再開してみようと思い、ネタさがしも含めて MacOS X で UNIXアプリをいろいろインストールしてみることにしました。

僕の環境は、いまだ Panther (10.3) 。
なので、Panther を使っている人以外には、あまり役に立たないかも。
いや、Panther 使っている人にも役に立たないかも。

予定では、下記のインストールを行っていこうと思ってます。
1. X11 のインストール
2. Gimp のインストール
3. OpenOffice のインストール
4. 日本語環境の設定
5. 何か思いついたら・・・

iPod Linux (2)

10.2 で挑戦してダメだった iPod Linux だけど、10.3 にしてたら簡単にうまくいった。

iPod Linux をどうやってカスタマイズするのかわかっていないので、デフォルトのままで使っているんだけど、正直、ゲームが増えたこと以外何もない(しかも肝心のmp3が聞けないし!)。

やっぱり、iPod で Linux が動いている、っていうこと自体を楽しめる人じゃないとダメなんだろうね。

とりあえず、再起動時 (メニュー + 再生) に、巻き戻しを選べば Linux、早送りを選べば通常モード、っていうデュアルブートができるので暫くはこのままに。

Solarisコンテナ

Solaris 10 をインストールしてから 2ヶ月くらい絶ったけど、これといって何もしてない。
とりあえず、Solaris 10 の目玉機能の一つ「Solarisコンテナ」を作成したんで、それのログを残しておきます。
気が向いたらちょっとコメントとか入れようと思うけど、とりあえず、今日はそのまま。
途中にある zone のインストールに 20分くらいかかった。stat系は取っていなかったので、何がボルネックだったのかは不明。


# bash
bash-3.00# zoneadm list -vc
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
bash-3.00#
bash-3.00#
bash-3.00# zonecfg -z zone1
zone1: No such zone configured
Use 'create' to begin configuring a new zone.

zonecfg:zone1> create
zonecfg:zone1> set zonepath=/export/home/zone1
zonecfg:zone1> add net
zonecfg:zone1:net> set address=192.168.1.23
zonecfg:zone1:net> set physical=iprb0
zonecfg:zone1:net> end
zonecfg:zone1> add attr
zonecfg:zone1:attr> set name=comment
zonecfg:zone1:attr> set type=string
zonecfg:zone1:attr> set value="This is Test zone."
zonecfg:zone1:attr> end
zonecfg:zone1> export
create -b
set zonepath=/export/home/zone1
set autoboot=false
add inherit-pkg-dir
set dir=/lib
end
add inherit-pkg-dir
set dir=/platform
end
add inherit-pkg-dir
set dir=/sbin
end
add inherit-pkg-dir
set dir=/usr
end
add net
set address=192.168.1.23
set physical=iprb0
end
add attr
set name=comment
set type=string
set value="This is Test zone."
end
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit

bash-3.00#
bash-3.00#
bash-3.00# zoneadm list -vc
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
   - zone1            configured     /export/home/zone1            
bash-3.00# ls /export/home/zone1
/export/home/zone1: ファイルもディレクトリもありません。
bash-3.00# zoneadm -z zone1 install
Preparing to install zone <zone1>.
Creating list of files to copy from the global zone.
Copying <2507> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <983> packages on the zone.
Initialized <983> packages on zone.                                
Zone <zone1> is initialized.
The file </export/home/zone1/root/var/sadm/system/logs/install_log> contains a log of the zone installation.
bash-3.00#
bash-3.00#
bash-3.00#
bash-3.00# zoneadm -z zone1 install

bash-3.00# ls /export/home/zone1
root
bash-3.00#
bash-3.00# zoneadm list -vc
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
   - zone1            installed      /export/home/zone1            
bash-3.00#
bash-3.00#
bash-3.00# zoneadm -z zone1 boot
bash-3.00#
bash-3.00#
bash-3.00#
bash-3.00# zoneadm list -vc
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
   1 zone1            running        /export/home/zone1            
bash-3.00#
bash-3.00#
bash-3.00# zlogin zone1
[ゾーン 'zone1' pts/7 に接続されました]
Sun Microsystems Inc.    SunOS 5.10    Generic    January 2005

# #
#
#
# bash
bash-3.00# ls
bin       etc       home      mnt       platform  sbin      tmp       var
dev       export    lib       opt       proc      system    usr
bash-3.00# hostname
zone1
bash-3.00#
bash-3.00#
bash-3.00#
bash-3.00# exit
# exit
[ゾーン 'zone1' pts/7 への接続が閉じられました]

覆水盆に返らず

バックアップ用に利用している NAS ストレージを整理している際に、誤って大事なデータを消去してしまった。
大事なデータだったはず、というのは覚えているんだけど、具体的にどんなファイルがあったかはあんまり覚えていない。ただ、微かに覚えている、音楽系のものと、メモ類が消えたのはちょっとキツいけど。ま、それにしたって、ディスク 1本で冗長構成じゃないストレージなんで、ディスクが飛んだと思えば・・・ね。

マルチブート

仕事で Windows が必要になったため、東芝の dynabook (CX/3214CMSW) を買った。
昔はもっと iBook っぽかった気がするんだけど、なんか安っぽい感じになってた。
ま、どうせメインは今まで通りに Mac なわけだし、とりあえず Windows (MS-Office) が動けば問題なし。

で、折角なので、普段会社で使っている Solaris と、今後の勉強用に Linux を入れることにした。
Solaris は、『サーバセレクト』っていう雑誌についていた Solaris 10 3/05 を入れることにして (ダウンロードが面倒くさいんで) 、Linux は Vine Linux 3.1を入れることに (CD-ROM 1枚で済むので) 。
    http://www.mediaselect.co.jp/ss/bncont/ss200504.html
    http://vinelinux.org/

作業手順としては、以下の通り。
  1. Windows リカバリ CD の作成
  2. パーティションを考える
  3. Windows の再インストール
  4. Solaris インストール
  5. Linux インストール
  6. grub インストール
  7. (何故か) Solaris 再インストール


1. Windows リカバリ CD の作成

僕の買った dynabook は、Windowsリカバリ CD が付いていない。
で、代わりに HDD に隠しパーティションとして入っている。
これからマルチブートのために fdisk でパーティションを切りまくるときに間違って消しちゃうと恐いし、そもそも HDD が突然クラッシュするかもしれないので、まずはマニュアルにのっとってリカバリ CD を作成した。
隠しパーティションは 4GB 強、CD 7枚分もあるので、かなり作業時間がかかった。
ただ、万が一やっちゃったときも、パンフレットによれば、東芝PCテクノセンタでリカバリCD を販売してくれるらしい。
...って書いあとにホームページを見てみたら、東芝PCテクノセンタは 4/27 で閉館しちゃうみたい。
     http://dynabook.com/assistpc/technocenter/close_tokyo.htm


2. パーティションを考える

1つの HDD を分割して、仮想的に HDD が複数あるように見せかけるためパーティションというものを利用する。
で、パーティションには「基本パーティション」と「拡張パーティション」の2種類がある。
1つの HDD に基本パーティションは 4つしかない作れないが、拡張パーティションを利用すればパーティション数は増やすことができる。
ただし、拡張パーティションは、基本パーティションを更に分割するため、利用するには基本パーティションが 1つ必要。

で、今回の構成で必要なパーティションは、以下の 5つ。
  1. Windows用の領域
  2. Windowsリカバリ用の領域
  3. Solaris用の領域
  4. Linux (/) 用の領域
  5. Linux (swap) 用の領域

さらに Solaris用の領域は基本パーティションにしかおけない、という縛りがあるらしく、また、Windowsリカバリ用の領域は壊したら復活できるのかどうかわからないのでなるべくさわりたくない。
幸いにも Linux は /, swap ともに拡張パーティションにおけるらしいので、パーティションは下記構成に。
 1. Windows
 2. Solaris
 3. リカバリ
 4. --> 5. Linux (/)
         6. Linux (swap)

      http://park15.wakwak.com/~unixlife/malutiboot.html


3. Windows の再インストール

で、まずは Windows の再インストール。
HDD は 40GB しかないのに(僕が最初に買った PowerMac 7200/90 の 80倍もある、とも言えるけど)、そのほとんどが Windows に割り当てられているため、Solaris や Linux 用の容量が足りない。
そのため、まずは HDD からのリカバリ手順の確認も兼ねて (電源投入時に 0 を押す) 、パーティションを切り直した。
ここで本当は、Solaris をメインにしたかったので、Windows 用の領域は 10GB くらいにしようと思ったんだけど、20GB までにしか減らせなかった。


4. Solaris インストール

Windows も入れ直したし (HDD --> HDD なので、早く終わった)、次は Solaris のインストール。
まずは Boot の優先順位を DVD-ROM にするため BIOS 設定画面への入り方をマニュアルを確認 (電源投入時に esc を押す) 。
ここで、まずひっかかった。Boot の優先順位を変えるだけで良いものだと思っていたんだけど、それだとインストール画面まで行ってくれない。
で、google先生に聞いてみたら、「USB-FDD Legacy Emulation 」っていう項目を「Disabled 」にする必要がある、って教えてくれた。
    http://forum.sun.com/thread.jspa?threadID=22996&messageID=75987

あとは普通にインストール。ただし、インストール後、auto-reboot する用に設定しておくのを忘れないように。
インストールに随分と時間(1時間以上)がかかるため、インストール途中で液晶が sleep (?) してしまうので(きっと BIOS の設定をいじれば sleep させないこともできるんだろうけど)。


5. Linux インストール

Solaris のブートローダを使って、Windows と Solaris がそれぞれ Boot するのを十分楽しんだあと、 Linux をインストール。
ブートローダは lilo じゃなくて grub を使おうと心に決めていたので、lilo のインストールはしなかった。
これが失敗。MBR だけでなく、Linux のパーティションにも入れなかったせいか、それとも Solaris のブートローダが拡張パーティションを認識できないのか、Boot 時に Linux を選択できなかった。
なので、とりあえずまた Linux の CD-R から Boot して、システムのアップグレードを選択して、とりあえず lilo を Linux パーティションに入れるように設定した。
が、これも失敗。しかたなく、再インストール。今度は MBR にも lilo をインストールする設定にして。


6. grub インストール

で、lilo からは Solaris が認識できなくて (ちゃんと設定すれば見られるのかも)、当初の予定通り grub を Vine Linux 上から rpm 形式でインストール。
    http://vinelinux.org/vineplus.html

grub の設定は、下記を参考に。
    http://park15.wakwak.com/~unixlife/linux/boot-grub.html


7. (何故か) Solaris 再インストール

よーし、全て OS 入れたし、 全て選択できる状態になったし、マルチブート完成!って思っていたんだけど、何故か Solaris だけが Boot できなくなかった。
正確には、セカンダリブートまでは行くんだけど、OS の Boot 途中で止まってしまう。
原因追及にそこまで時間かけるのもばかばかしいし、Solaris を再インストールしても、他の OS に影響ないか確認もしてみたかったので、再インストール。

で、その後は特に問題なかったので、備忘録も兼ねて、久しぶりに書いてみました。