UNIX


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


UNIXの種類

UNIXには様々な種類がある.大まかに分けるとsolarisなどのsystemV系,FreeBSDなどのBSD系,UNIXライクなOSであるLinuxである.このなかで,私達エンドユーザが利用しやすいデスクトップ環境を用意してくれているのはFreeBSDとLinuxである.ここではそれぞれの長短を述べる.

FreeBSDの特徴

UNIXライクなLinuxとは異なり,実際にUNIX(BSD)の血を継ぐ由緒正しいOSである.それでいながら,Linuxのエミュレーション機能を搭載するなど,デスクトップ用途にも使えるよう配慮されている.ports/packageシステムによるパッケージ管理にも定評がある.

長所
  • 自由度の高いLinuxとは異なり,UNIX OSである4.4BSD-Liteをベースに組み上げられているため,一度身につけた知識は他のBSD系UNIXでそのまま活かすことができる.
  • 雑多なディストリビューションで溢れかえっているLinuxとは異なり,FreeBSDは単一のフィロソフィーに従って設計されているため,一度慣れればバージョンが変わっても設定の仕方が大きく変わることはない.
  • 厳格なパッケージ管理システムを持っているので,パッケージ間の整合性を保ったままシステムをアップグレードすることが容易である.-> サーバ用途に向く.
  • ソフトウェアのアップデートが迅速であり,セキュリティも高く,安定している.
短所
  • 新しいソフトウェアに対する取組みは比較的慎重で,最新のソフトウェアへの対応がLinuxに比べ遅れてしまいがちである.それゆえに,個人ユーザーの数も少なく商用パッケージの対応もされないことが多い.(Linuxエミュレーション機能でカバーしているが限界もある.)
  • Linuxに比べると書籍や情報が少なく,またインストーラも取っつき辛いので,初心者に対する敷居は高い.

Linuxの特徴

フィンランドの当時大学生であったリーナス・トーバルズ氏がUNIXをモデルに開発をおこなったUNIX互換OSである.正確にはOSのカーネル部分だけがLinuxであり,このLinuxカーネルにGNU Projectのソフトウェアや、X Window Systemなどを加えたものがLinuxディストリビューションとして配布されている.その生い立ちから,様々なディストリビューションが開発され,雑多なLinuxで氾濫している.

長所
  • 商用・非商用を問わず,ソフトウェアの動作確認はLinuxでおこなわれることが多く,対応ソフトウェアが多い.
  • デバイスの認識率が高い.
  • 多くのディストリビューションが厳格なパッケージ管理システムを持っているので,パッケージ間の整合性を保ったままシステムをアップグレードすることが容易である.-> サーバ用途に向く.
短所
  • 多くのディストリビューションが氾濫しており統一感がないため,一度身に付けた使い方(設定方法)を他のディストリビューションで適用できない場合が多い.ディストリビューション毎に異なる点を具体的に挙げると以下のものがある.
  1. kernelとglibc,X Serverのバージョン
    (ほとんどのディストリビューションで独自パッチが当てられている.)
  2. ディレクトリ構造
    (ライブラリの認識に影響を与える.)
  3. ディストリビューション独自の設定ツール
    (GUIによる設定を前提にしているディストリビューションでは,エディタによる古来からの設定方法が無効化してしまうものも多い.)
  4. パッケージ管理方式の違い
※ 上記のとおり,ディストリビューションによってそれぞれ特色があるが,OSの大まかな特性はLinuxカーネルとglibcライブラリ,X Serverのバージョンによって決まる.

Slackware Linux(Plamo Linux)のすすめ

Slackware Linuxはインストーラが親切ではなく,簡単なパッケージ管理システムもないことから,手間がかかることで有名である.しかし,私が思うに,クライアントユースではSlackware Linuxが一番とっつきやすいのではないだろうか.Slackware LinuxにはWindows95のような親しみやすさがある.その理由は次のとおりである.

・システムがブラックボックス化されていない
他のディストリビューションの場合,Windowsユーザーでも直感的に使えるように,システムは複雑にブラックボックス化され,GUIツールでの利用を前提に作られている.そのため,システムの管理方法はディストリビューションに強く依存し,ソフトウェアの互換性がないこともしばしばである.一方で,Slackware Linuxには独自の設定ツールはあまりない.そのため, ブラックボックス化された部分もほとんどなく ,伝統的なUNIXの設定方法をそのまま適用できる.
ディレクトリ構造をBSD風にしてあるので,見通しが良いのも強みである.

・厳格なパッケージ管理システムがない
これは一見すると,マイナス要素のように見える.確かに,厳格なパッケージ管理システムがないとパッケージ間の整合性を保ったままアップグレードすることが困難であるから,保守性の高さが求められ,利用する機能も限られるオフィスやサーバー用途の場合にはマイナスであろう.しかし,様々な(新しい)ソフトウェアを利用したいと考えているエンドユーザーにとっては,どうであろうか.私はむしろ,足枷にしかならないと考える.同システムがあると,メンテナー(ディストリビューター)がパッケージをリリースするまで所望のソフトウェアをインストールすることが難しくなるからだ.できたとしても,パッケージ管理システムのDBを壊しかねない.Slackware Linuxならば,このような悩みとは無縁である.間違えて(もしくは新しいソフトウェアをインストールするために)依存関係を壊してしまったとしても,使いたくなったときに,またインストールしなおせば良いだけである. 壊しながら,作り替える という面白さがSlackware Linuxにはあるのである.
※正確にはtgzというパッケージが存在するが,これもただ単に「 指定のパッケージが,どんなファイルをどこにインストールするのか(したのか) 」を管理しているに過ぎない.

Plamo Linux on VMware on Windows XP

仮想ディスクファイルの作成

Qemuを使って作成する.
まず,Qemuの公式サイトからQemuをダウンロードし,コマンドプロンプト上でQemuの実行ファイルがあるフォルダに移動する.次に,下記のコマンドを実行する.
qemu-img.exe create -f vmdk d:\vmware\filename.vmdk 60G

VMXファイルの設定

VMXファイルのサンプルを下記に示す.
#-- worte by vmx-Maker 0.1.1
config.version = "8"
virtualHW.version = "3"

MemAllowAutoScaleDown = "FALSE"
MemTrimRate = "-1"
uuid.location = "56 4d cb 24 a2 3e 15 7e-7f 1f a9 3c b7 12 2e 05"
uuid.bios = "56 4d cb 24 a2 3e 15 7e-7f 1f a9 3c b7 12 2e 05"
uuid.action = "create"
checkpoint.vmState = ""
ethernet0.present = "TRUE"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:12:2e:05"
ethernet0.generatedAddressOffset = "0"

ide0:0.present = "TRUE"
ide0:0.deviceType = "disk"
ide0:0.mode = "persistent"
ide0:0.redo = ""
ide0:1.present = "TRUE"

displayName = "Plamo Linux 4.22"
guestOS = "linux"
memsize = "1024"
# ここをブリッジにしておかないと,ホストOSとゲストOSとでIPアドレスを使った通信ができなくなる.
ethernet0.connectionType = "bridged"
usb.present = "TRUE"
usb.generic.autoconnect = "TRUE"
floppy0.present = "FALSE"
sound.present = "TRUE"
# ここをes1371にしておかないと最新のOSでは音がならない.
sound.vertualdev = "es1371"
#sound.virtualdev = "sb16"
ide0:0.filename = "plamo.vmdk"
ide0:0.startConnected = "TRUE"
ide0:1.filename = "auto detect"
ide0:1.deviceType = "cdrom-raw"
ide0:1.autodetect = "TRUE"
# 下記はISOファイルをcdromデバイスとして読み込みたい場合の設定.
#ide0:1.filename = "C:\vmware\plamo-4.22.iso"
#ide0:1.deviceType = "cdrom-image"
#ide0:1.autodetect = "FALSE"

extendedConfigFile = "plamo.vmxf"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"

tools.remindInstall = "FALSE"

tools.syncTime = "FALSE"

時刻の同期

VMwareにはホストOSがサスペンドしている間、時計が止まるという問題がある.そこで,cron を使って1分ごとにPlamo Linuxの時計をコンピュータの時計に合わせるよう設定する.
% su -
# cd /var/spool/cron/crontabs/
# mv root root.000              <-- バックアップの作成
# cp root.000 root
# emacs root &
  次の一行を書き加える。   
  0-59 * * * * /sbin/hwclock --hctosys > /dev/null

VMware Toolsのインストール

VMware Toolsをインストールすると,ホストOSとゲストOSの間をマウスで自由に行き来できるようになる.これをインストールすることによって,ゲストOSを全画面表示したときに,マウスが画面の端付近で止まってしまうというバグ(?)も解決される.
VMware Toolsのパッケージはlinux.isoの中に含まれる.linux.isoは,VMwareをデフォルトでインストールしていると,C:\Program Files\VMware\VMware Player\にある.なので,まずはこのファイルをゲストOS側でCDとしてマウントできるようVMXファイルを編集する.
ide0:1.filename = "C:\Program Files\VMware\VMware Player\linux.iso"
ide0:1.deviceType = "cdrom-image"
ide0:1.autodetect = "FALSE"
これで,ゲストOS側で
mount cdrom
とすれば,/mnt/cdromにlinux.isoがマウントされる.ここからVMwareTools-6.0.5-109488.tar.gzを取り出し展開する.

このパッケージをインストールするためには,現在用いているカーネルのソースファイルとヘッダーファイルがが必要である.あらかじめ,公式サイトのバイナリツリー(ftp)からパッケージを取ってきておこう.ファイル名はkernelsrc-2.6.22.9_plamoSMP-noarch-P1.tgzである.このパッケージをインストールしたら,管理者権限で,以下のコマンドを入力する.
# ./vmware-install.pl
途中いくつか質問が出てくるが,基本的にデフォルトで良い.
以上でVMware Toolsのインストールは終了である.これで,ホストOS−ゲストOS間のマウスの移動,コピー&ペースト,ファイルの共有ができるようになった.

タイトルバーの消し方

ゲストOSを全画面表示したとき,上部にタイトルバーが残っているので非常に煩わしい.タイトルバーは下記のようにすると消える.
C:\Documents and Settings\default\Application Data\VMware\preferences.iniを開き,次の一行を加える.
pref.vmplayer.fullscreen.nobar = "true"

ファイルの共有(未確認)

VMXファイルに下記の設定を追加する.
(例)c:\share を共有ホルダーにし、ゲスト Plamo 側で share というデイレクトリ名にする場合
##### Shared Folders #####
sharedFolder0.enabled = "TRUE"
sharedFolder0.present = "TRUE"
sharedFolder0.writeAccess = "TRUE"
sharedFolder0.readAccess = "TRUE"
sharedFolder0.hostPath = "c:\share"
sharedFolder0.guestName ="share"
sharedFolder0.eXpiration = "never"
sharedFolder.maxNum = "1"
次に,ホストOSを起動させ,ツールバーの「VMware Player」から「共有フォルダ」をクリックする.表示されたオプションの中から,<常に有効>を選び,画面に現れている共有フォルダをクリックした上で、「プロパティ」を開け、<有効>を選択する.あとは「OK」を押して設定を終了すれば,再起動後,/mnt/hgfs/に共有フォルダが現れているはずだ.

フルスクリーンモードをSHIFT+CTRL+ALTで終了できるようにする.

デフォルトでは,CTRL+ALTに割り当てられているが,これはゲストOSのショートカットキーとして使う可能性が高い.そこで,ショートカットキーをSHIFT+CTRL+ALTに変更する.
C:\Documents and Settings\default\Application Data\VMware\preferences.iniを開き,次の三行を加える.
pref.hotkey.shift = "true"
pref.hotkey.control = "true"
pref.hotkey.alt = "true"

X Window System

ユーザーとの入出力を司るX Server とクライアントプログラムを分離した
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。