$ cat sol-10-u3-ga-x86-dvd-iso-a sol-10-u3-ga-x86-dvd-iso-b sol-10-u3-ga-x86-dvd-iso-c sol-10-u3-ga-x86-dvd-iso-d sol-10-u3-ga-x86-dvd-iso-e > sol-10-u3-ga-x86-dvd.iso $
次の構成のPCにインストールしました。
1台目
パーツ | ||
CPU | Pentium III(Katmai) 500MHz | |
M/B | ASUS P3B-F Intel 440BX Award PCI BIOS |
|
Memory | 640MB PC-100 | |
Video | Eontronics Picasso (Permedia 2) | |
LAN | Planex FW-110TX-PK (Realtek 8139) |
2台目
パーツ | ||
CPU | Athlon XP 2500+ (1.8GHz) | |
M/B | MSI 746F-Ultra2L SiS 746FX + SiS 963L Award PCI BIOS |
|
Memory | 1024MB PC-2700 | |
Video | Gigabyte GeForce6600 | |
LAN | SiS963L + Realtek 8201BL(物理層) |
3台目
Windows XP上のVMware仮想マシン環境にインストール
パーツ | ||
CPU | Athlon 64 x2 4200+ (2.2GHz) | |
M/B | ASUS M2N-SLI Deluxe NVIDIA nForce 570 SLI MCP Award BIOS |
|
Memory | 2048MB DDR2-800 | |
Video | Leadtek WinFast PX7600GS | |
LAN | nForce 570 |
4台目
Windows Vista (64bit版)上のVMware仮想マシン環境にインストール
パーツ | ||
CPU | Phenom X4 9750 (2.4GHz) | |
M/B | ASUS M2N-SLI Deluxe NVIDIA nForce 570 SLI MCP Award BIOS |
|
Memory | 6144MB DDR2-800 | |
Video | ATI RADEON HD3650 | |
LAN | nForce 570 |
Solaris 10 Software CD1のCD-RをCDドライブにセットしてマシンをブートします。
GNU GRUB version 0.95 が立ち上がり、インストール方法を選択する画面が現れます。
Solaris Solaris Serial Console ttya Solaris Serial Console ttyb (for lx50, v60x and v65x)
とりあえずデフォルトの"Solaris"を選択しました。
SunOS Release 5.10 Version Generic_118855-33 32bit Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Configuring devices. / 1 Solaris Interactive (default) 2 Custom JampStart 3 Solaris Interactive Text (Desktop Session) 4 Solaris Interactive Text (Console Session) 5 Apply driver updates 6 Single user shell Enter the number of your choise. select: 1 Solaris Interactive Using install cd in /dev/dsk/c1t1d0p0 Using RPC Bootparams for network configuration information. Setting up Java. Please wait... Extracting windowing system. Please wait... Beginning system identification... Searching for configuration file(s)... Search complete. Proposed Window System Configuration For Installation: Video Device: NVidia Corporation GeForce 6600 Video Driver: XF86-NV Resolution/Colors: 1024x768 - 256 colors @ 70Hz Screen Size: 17-inch (43cm) Monitor Type: MultiFrequency 56kHz (up to 1280x1024 interlaced) Keyboard Type: Generic US-English Pointing Device: Generic Mouse (3 Button) Press <ENTER> to accept proposed configuration or <ESC> to change proposed configuration or <SPACE> to pause <<< timeout in 30 seconds >>>
インストール種類を聞いてくるので、1を選択しました。
このあと結構時間がかかります。LANの認識、ビデオカードの認識で問題があることもあります。
大分待つと、Window Systemが起動し、その中のコンソールに言語選択メニューが表示されます。
Select a Language: で4を入力(Japanese)します。
【ようこそ】 ダイアログが表示されるので、[次へ]をクリックします。
【ネットワーク接続性】 ダイアログが表示されるので、●する にチェックを入れて[次へ]をクリックします。
【rtls0用のDHCP】 ダイアログが表示されるので、●はい にチェックを入れて[次へ]をクリックします。
【rtls0用のIPv6】 ダイアログが表示されるので、●はい にチェックを入れて[次へ]をクリックします。
【Kerberos】 ダイアログが表示されるので、●いいえ にチェックを入れて[次へ]をクリックします。
【ネームサービス】 ダイアログが表示されるので、●なし にチェックを入れて[次へ]をクリックします。
【時間帯】 ダイアログが表示されるので、●大陸/国/地域 にチェックを入れて[次へ]をクリックします。
【大陸と国】 ダイアログが表示されるので、アジア→日本をドリルダウンして選択し、[次へ]をクリックします。
【日付と時刻】 ダイアログが表示されるので、設定を確認し[次へ]をクリックします。
【rootパスワード】 ダイアログが表示されるので、rootユーザのパスワードを2回入力し、[次へ]をクリックします。
【リモートサービスの有効化】 ダイアログが表示されるので、セキュアな環境を作りたい場合は●いいえ にチェックを入れて[次へ]をクリックします。
※この場合、利用したいネットワークサービス(ftp/telnet/ssh/...)を後で有効に設定する作業が必要となります。
【情報の確認】 ダイアログが表示されるので、内容を確認し、[確認]をクリックします。
【ようこそ】 ダイアログに戻るので、[次へ]をクリックします。
【インストーラ・オプション】ダイアログが表示されるので、インストール後に自動リブートするようにしますか?には、●はい にチェックを入れ、インストール後に追加のCD/DVDを自動的に取り出すようにしますか?には、●はい にチェックを入れて、[次へ]をクリックします。
【媒体の指定】 ダイアログが表示されるので、●CD/DVD にチェックを入れて、[次へ]をクリックします。
初期化中の表示がでるのでしばし待つ
【ライセンス】 ダイアログが表示されるので、∨同意する にチェックを入れて、[次へ]をクリックします。
【アップグレードまたは初期インストールの選択】 ダイアログが表示されるので、●初期インストール にチェックを入れて、[次へ]をクリックします。
※HDDに、Solarisがインストールされている場合だけこのダイアログが表われるかもしれない
【インストール形式の選択】 ダイアログが表示されるので、●カスタムインストール にチェックを入れて、[次へ]をクリックします。
※デフォルトインストールだと、ディスクスライスの指定ができない
【ソフトウェアのロケール選択】 ダイアログが表示されるので、アジア-日本語(ja)と日本語(日本.PCK)と日本語(日本.UTF-8)そして北アメリカ-英語(アメリカ合衆国)(en_US)にチェックを入れて、[次へ]をクリックします。
【システムのロケール選択】 ダイアログが表示されるので、日本語(ja)が選ばれているのを確認し、[次へ]をクリックします。
【製品の選択】 ダイアログが表示されるので、なにもチェックを入れないまま、[次へ]をクリックします。
【追加製品の指定】 ダイアログが表示されるので、●なし にチェックを入れて、[次へ]をクリックします。
【Solaris ソフトウェアグループの選択】 ダイアログが表示されるので、全体ディストリビューションをチェックを入れて、[次へ]をクリックします。
【ディスクの選択】 ダイアログが表示されるので、[次へ]をクリックします。
【fdiskパーティションをカスタマイズするディスクの選択】 ダイアログが表示されるので、ディスクパーティションを設定する必要があればc0d0 にチェックを入れて、[次へ]をクリックします。
【fdiskパーティションのカスタマイズ - ディスク c0d0】 ダイアログが表示されるので、パーティションを設定し、[次へ]をクリックします。
【データの保存】 ダイアログが表示されるので、●いいえ にチェックを入れて、[次へ]をクリックします。
【ファイルシステムの配置】 ダイアログが表示されるので、ディスクc0d0を選択して、[変更]をクリックします。
【ディスクc0d0】ダイアログが表示されるので、ファイルシステムの割付をします。Solaris10 6/06からZFSファイルシステムが導入されたので、後ほどZFSで使用する領域を/exportとして多めに確保しています。割付設定後、[次へ]をクリックします。
ファイルシステム | サイズ | 備考 |
/ | 12GB | |
swap | 1GB | |
/export | 104GB | ZFS用 |
【インストールの準備完了】ダイアログが表示されるので、[インストール開始]をクリックします。
相当時間が経過した後、システムが再起動します。CD-ROMは抜いておきます。GRUBが立ち上がり、タイムアウトでSolarisが起動します。
起動後、NFSのドメイン名を変更するか聞いてくるので、[NO](デフォルト)を選択します。
Do you need to override the system's default NFS version 4 domain name (yes/no) ? [no] :
CDEが立ち上がります。
【媒体の指定】ダイアログが表示されるので、●CD/DVDにチェックを入れて、Solaris 10 6/06 CD2をCD-ROMドライブにセットして、[次へ]をクリックします。
【ディスクを挿入】ダイアログが表示されるので、ダイアログに指定されたCDを入れて、[了解]をクリックします。
【インストールの準備完了】ダイアログが表示されるので、[インストール開始]をクリックします。
CD2〜CD5、Language CDについて、上記【媒体の指定】〜【インストールの準備完了】を繰り返します。
Language CDのインストール完了後はシステムが再起動し、ログイン画面が表示されます。rootユーザでパスワードを入力するとログインできます。最初にログインすると、デスクトップの選択画面が表示されます。
◆共通デスクトップ環境(CDE) ◇Java Desktop System Release 3
Java Desktop Systemは、GNOMEベースのデスクトップ環境で、重い・障害があると不安定になる(ログインできなくなる)ことがあるので、rootとしてはCDEを選択して[了解]をクリックしておきます。
ディスプレイの設定は、EIZO FlexScan T565の場合、仕様では1280x1024/85Hz(1600x1200/75Hz)となっているので、それに合わせたモニタを指定します。
VMware Player 1.0.3をインストールします。
QEMU-0.8.2をダウンロードし展開します。
QEMUのコマンドqemu-imgを使ってVMwareのイメージ領域を作成します。作成時にディスクサイズを指定します。Solaris 10にCompanion CDやSunStudioなど入れると結構容量が必要になります。
C:\> qemu-img create -f vmdk C:\vmware\solaris10_11_06\solaris10.vmdk 16G C:\>
Solaris10用のVMware設定ファイルを作成します。上で作成したイメージ領域と同じディレクトリにSolaris10.vmxというファイル名で以下の記述を行います。
config.version = "8" virtualHW.version = "4" memsize = "768" displayName = "Solaris 10" guestOS = "solaris10-64" nvram = "Solaris10.nvram" ide0:0.present = "TRUE" ide0:0.fileName = "solaris10.vmdk" ide0:0.deviceType = "disk" ide0:0.redo = "" ide1:0.present = "TRUE" ide1:0.fileName = "auto detect" ide1:0.deviceType = "cdrom-raw" ide1:0.autodetect = "TRUE" floppy0.fileName = "/dev/fd0" floppy0.startConnected = "FALSE" ethernet0.present = "TRUE" ethernet0.connectionType = "bridged" ethernet0.virtualDev = "e1000" sound.present = "TRUE" sound.virtualDev = "es1371" pciSound.enableVolumeControl = "FALSE" usb.present = "FALSE" log.fileName = solaris.log paevm = "TRUE"
memsize はSolaris OS側が使用できる物理メモリサイズ(MB)です。このPCには物理メモリ2GB搭載しているので、少々大きめに768MBをSolaris用に割いています。
guestOSでは、Solaris 10 x86 64bitモードを指定する識別子"solaris10-64"を指定しています。CPUが64bit対応のAthlon 64X2だと、ホストOS(VMwareが動くOS)が32bit版Windowsでも64bit版Solarisを動かすことができます。
作成したsolaris10.vmdkをダブルクリックで実行します。VMwareが起動します。Solaris 10のインストールメディアをドライブに入れていると起動します。以降はCD/DVDから普通にSolarisをインストールする手順と一緒になります。
VMware Player 3.0.1をインストールします。
VMware Playerを起動し、[新規仮想マシンの作成(N)]を選択します。「新しい仮想マシン ウィザード」ダイアログの「新規仮想マシン作成ウィザードへようこそ」画面が表示されるので、インストール元:の項で[インストーラ ディスク イメージ ファイル]にチェックを付け、右側の[参照(R)]ボタンを押します。
「ISOイメージの参照」ダイアログが表示されるので、ダウンロードしたSolarisのDVDイメージファイルを指定し、[次へ(N)]ボタンを押します。
「新しい仮想マシンウィザード」ダイアログの「仮想マシンの名前」画面が表示されるので、仮想マシン名欄と格納場所欄に適切な記述をし、[次へ(N)]ボタンを押します。
「新しい仮想マシンウィザード」ダイアログの「ディスク容量の指定」画面が表示されるので、ディスク最大サイズを適切な値(仮に16.0GB)、[仮想ディスクを複数のファイルに分割]にチェックを付け、[次へ(N)]ボタンを押します。
「新しい仮想マシンウィザード」ダイアログの「仮想マシンを作成する準備完了」画面が表示されるので、[ハードウェアをカスタマイズ]ボタンを押し、「ハードウェア」ダイアログが表示されます。
左側ペインで[メモリ]を選択、右側ペインの[この仮想マシンのメモリ]欄を適切な値(例:1536MB)に指定します。同様に、左側ペインで[プロセッサ]を選択、右側ペインの[プロセッサコアの数]欄に適切な値(実コア数以下、例:4)を入れます。仮想化エンジン項の優先モード欄は、デフォルトでは自動になっています。CPUが対応していればVT-xやAMD-Vにしてみると面白そうですが・・・。
左側ペインで[ネットワークアダプタ]を選択し、右側ペインのネットワーク接続項で、ブリッジをチェックします(これは使用する環境によって適切なものを選びます)。
左側ペインで[ディスプレイ]を選択し、右側ペインのモニタ項で、[モニタ設定を指定]にチェックを付け、モニタの解像度には、VMwareで起動時のウィンドウサイズを指定します。(例:1024x768) なお、ユニティモード使用はせず、ゲストOSのデスクトップをホストOSのデスクトップ上の一つのウィンドウとして表示するため、あまり大きな画面では邪魔になるからです。
設定完了後、VMware Playerが再起動し、Solarisのインストールが開始されます。以降はCD/DVDから普通にSolarisをインストールする手順と一緒になります。
Solarisインストール後、VMtools(Solaris用)をインストールします。
LANコントローラがRealtek 8139のマシンにおいてネットワークの認識で以下のメッセージが表示されます。
Configuring devices. NOTICE: rtls0 -- link down NOTICE: rtls0 -- link up 100Mbps Full_Duplex Using install cd in /dev/dsk/c1t0d0p0 Using RPC Bootparams for network configuration information. Attempting to configure interface rtls0... Skipped interface rtls0
が、このまま気にせず続行すればOKです。
VGAカードGeForce6600の場合は、デフォルトで選択されるXF86-NV Nvidia Corporation GeForce 6600ではXの表示が崩れます。インストール時はXF86-VESA Nvidia Corporation GeForce6600に変更します。なお、インストール後はこのVESAドライバでは駄目なので、別途NVIDIAからドライバーを入手します。
"Proposed Window System Configuration For Installation:"で、
/etc/hosts ファイルに、loghostを追加します。以下にスタンドアロン・マシンでの例を記述します。
127.0.0.1 localhost loghost 192.168.1.12 sol10 # Added by DHCP
上記2つは、sendmainを停止することにします。
# svcadm disable sendmail
Software CompanionはDVDイメージしか入手できないので、いったんDVD-Rを作成し、そこからSolaris_i386ディレクトリ以下をSolarisマシンにコピーし、インストールします。
まずDVDのトップディレクトリにあるREADMEを読むと、個別に1つずつpkgaddコマンドで指定してインストールするか、まとめて一気にインストールするか2つの方法が記述されています。ここでは、まとめて全てインストールします。
まず、/var/tmp/adminファイルを作成せよとREADMEにあります。
mail= conflict=nocheck setuid=nocheck action=nocheck partial=nocheck instance=overwrite idepend=nocheck rdepend=nocheck space=check
次に、Solaris_i386/Packageへカレントディレクトリを移動し、pkgaddコマンドで全てのパッケージをインストールします。
# cd Solaris_i386/Packages # pkgadd -a /var/tmp/admin -d `pwd`
以下のパッケージについてはエラーが発生しました。
Sun Update ManagerというGUIツールでパッチの適用が実施できます。
SunStudio 11をインストールしていると、SunStudio11のパッチもSun Update Managerで管理されますが、なぜかSunStudio11のパッチのインストールに失敗します。
そこで、一旦失敗した後、手動でパッチを適用します。パッチのインストールに失敗した場合、/var/sadm/spoolの下にパッチが残っていますので、これを手動で適用します。
# patchadd -G /var/sadm/spool/121018-08.jar.dir/121018-08
smpatchコマンドでパッチの調査・ダウンロード・適用が可能です。
Sun Update Managerやsmpatchでは適用できないパッチがあります。それがカーネルパッチです。Sun Update Managerで適用するパッチのリストに登場するのですが、実行(パッチを適用)すると、以下のダイアログが表示されました。
ダウンロードのみ。手動インストールが必要: 一部のアップデートは、手動でインストールする必要があります。これらのアップデートは、インストールする まで「有効なアップデート」に表示されます。アップデートのダウンロード先は /var/sadm/spool です。
下記掲示板にパッチ適用について議論があります。(smpatch add -i <patch-id> でいけるらしい)
Sun Update Managerでこのパッチが「手動インストールが必要」と出たので、シングルユーザモードに移行しコマンドラインでパッチを当てることにしました。
コンソールでrootでログインし、init S コマンドでシングルユーザモードへ移行し、smpatch add -i 118855-36 でパッチを適用します。
パッチ適用後、boot -rでデバイス再構成ブートをさせるとのことですが、x86の場合、SPARCのようなokプロンプトがないのでどうすればよいか?でしたが、以下URLにreboot -- -r でいけることが記載されていました。
初回起動すると、ライセンス確認後、インストール方法を聞いてきます。ローカルインストールとワークステーションインストールの2つから選択します。ワークステーションインストールを選びます。
/usr/sfw/binに入っています。
/usr/sfw/binに入っています。
1.3.33と2.0.55の2種類のバージョンが入っています。
Apache 1.3.33用は、/etc/apacheの下に、Apache 2.0.55用は、/etc/apache2の下に入っています。
Apache 1.3は、従来どおりrcスクリプトによる設定で制御します。Apache 2.0は、Solaris10のSMFで制御します。
/opt/sfw/binの下に、emacs 21.3.1が入っています。
/opt/SUNWmlib に、グラフィックス処理ライブラリ mediaLibが入っています。
J2SE SDK 1.4.2_11 および J2SE SDK, 5.0 Update6がインストールされます。デフォルトではJ2SE 5.0が使用されるよう設定されています。
/usr/binの中に、java, javac, javap, javadoc,‥‥などのコマンドがあり、これらはいずれも/usr/java/binの中の同名コマンドへのシンボリックリンクとなっています。/usr/javaは、/usr/jdk/jdk1.5.0_07へのシンボリックリンクとなっています。
Solaris OSのパッチとしてJ2SE SDK, 5.0のUpdateが用意されているので、自力でバージョンアップする必要はないです。
Solarisとは別にJ2SE SDK 5.0をアップデートしようとすると、依存関係で少々やっかいです。J2SE 5.0 SDKのパッケージ名一覧と、それぞれに依存するパッケージを示します。
パッケージ名 | 内容 | 依存パッケージ |
---|---|---|
SUNWj5rt |
Java実行環境 |
SUNWocf, SUNWjmf, SUNWapbas, SUNWjhrt, SUNWj5cfg, SUNWjai, SUNWjavaapps, SUNWjdic, SUNWjds-registration, SUNWjmfmp3, SUNWmozilla, SUNWjre-config, SUNWjre-config-plugin, SUNWpool, SUNWglow, SUNWslpu, SUNWj5dev, SUNWj5dmo |
SUNWj5dev |
Java開発環境 | |
SUNWj5cfg |
||
SUNWj5man |
マニュアル | |
SUNWj5dmo |
デモ |
依存パッケージを一旦アンインストールして、というのはあまりにも非現実的なので、ここでは上書きインストールを行います。
64bit版をインストールしたときは、環境変数PATHを/usr/jdk/jdk1.5.0_09/bin/amd64 に通すようにします。binまでだと32bit版を実行してしまいます。
/usr/sfw/binの下に、antが入っています。バージョンは1.5.4です。
標準でインストールされています。J2SE SDK 1.4.2_11およびJ2SE SDK 5.0 Update7どちらにもインストールド・エクステンション下にJMFのライブラリが置かれています。
/usr/sfw/binの下に、GCC 3.4.3が入っています。
/usr/sfw/binの下に、GNUmake 3.80が入っています。
/usr/perl5に入っています。perlコマンドは/usr/bin/perlにシンボリックリンクがあります。
バージョンは、5.6.1、5.8.3、5.8.4が入っています。デフォルトでは5.8.4が標準として使用されます。
インストール直後に起動すると、なぜかVGA画面(640x480)となってしまいました。そこで、コンソールログインして、kdmconfigを実行して設定変更します。
# kdmconfig
【kdmconfig - Introduction and X Server Selection】画面が表示されるので、Xorg ServerかXsun Serverのどちらかを選択します。ここではXsun Serverを選択しました。
デフォルトでは、XF86-GLINT 3DLabs Permedia
II 2D+3D が選択されています。
一度、3Dlabs Permedia2(8MB)を指定してみたら、Testで何も表示されずハングアップしていたようになりましたので、XF86の方を使用します。
MultiFrequency 95kHz (up to 1600x1200 @ 75Hz)にしてみました。
解像度は、1152x900 75Hz を選択しました。しかし、起動すると、1280x1024になってしまっています。
1152x864 **Hzを選択すると、1152x864になりました。
グラフィックス・カード(チップ)のメーカーが専用のドライバをリリースしている場合があります。これをインストールすると、カード(チップ)のハードウェア・アクセラレーションを利用し描画が高速化します。
NVIDIAのサイトからSolaris x86/x64用ドライバーを入手します。
2006年12月3日現在、Version 1.0-9629が最新です。
# sh NVIDIA-Solaris-x86-1.0-9629.run Copyright 2005 by NVIDIA Corporation. All rights reserved. Use is subject to license terms. Reboot client to install driver. <NVDAgraphicsr> のインストールに成功しました。 Copyright 2005 by NVIDIA Corporation. All rights reserved. Use is subject to license terms. <NVDAgraphics> のインストールに成功しました。 #
リブートします。再構成を行う -r オプションを指定します。
# reboot -- -r
インストール時に設定したネットワーク構成を、その後変更する場合は、sys-unconfigコマンドを実行します。
# /usr/sbin/sys-unconfig : Do you want to continue (y/n) ? y :
システムがリブートし、起動する途中で設定情報を問い合わせてきます。ネットワーク設定以外にもXサーバの設定やロケールなどを全て一から設定することになってやや面倒です。
DHCPの有効・無効は、起動時に/etc/dhcp.[インタフェース名]ファイル(例:/etc/dhcp.rtls0)があるかないかで判断されます。
DHCPでIPアドレスを取得する場合、ホスト名がunknownとなることがあります。DHCPサーバ側で、DHCPクライアントにホスト名を割り当てるように設定されていない場合です。
この場合、DHCPでIPアドレスを取得すると、毎回/etc/hostsにIPアドレスとホスト名が追記されます。この際、ホスト名がunknownとなっているのが問題点です。
対策1) /etc/nodenameにホスト名を記述する
DHCPサーバからホスト名が送られてこない場合、/etc/nodenameにホスト名を記述しておけばその名前が使用されます。
対策2) DHCPサーバへの要求にホスト名を指定する
/etc/default/dhcpagentファイルを編集し、REQUEST_HOSTNAMEをyesに設定する
REQUEST_HOSTNAME=yes
/etc/hostname.[インタフェース名]を編集し、要求するホスト名を設定する
inet hogehoge
Sun製品文書
/etc/defaultrouterにゲートウェイのIPアドレスを記述します。再起動後有効になります。
192.168.0.1
オンラインで設定する場合は、routeコマンドを使用します。
# route add default 192.168.0.1 # netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface --------------- ------------- ----- ---- ---- --------- 192.168.0.0 192.168.0.2 U 1 3 rtls0 224.0.0.0 192.168.0.2 U 1 0 rtls0 default 192.168.0.1 UG 1 0 127.0.0.1 127.0.0.1 UH 16 103 lo0 #
DNSを利用するには、/etc/nsswitch.confをDNS用に切り替えます。
# cd /etc # cp nsswitch.dns nsswitch.conf
次にDNSサーバのアドレスを/etc/resolv.confに記述します。
nameserver xxx.xxx.xxx.xxx
IPv6の場合、標準的なグローバルIPアドレスは、リンクローカル上のルータから送信されるRouterAdvertisement(RA)に指定されるアドレスプレフィックス情報と自分のMACアドレスから生成するEUI-64データとを合成して付与します。
RAを使わない場合、/etc/hostname6.xxxxファイルにアドレスを記述します。なおxxxxには実際にはそのマシンのインタフェース名を指定します。
addif 2001:0db8::1/64 up
SSHが標準で利用可能です。特に設定することなくSSHクライアントからアクセスすることができます。
xntpdデーモンが標準でインストールされています。
/etc/inet/ntp.confファイルを作成します。
server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp
xntpdデーモンを起動します。
# svcadm enable network/ntp #
動作状況の確認には、ntpqコマンドが利用できます。
$ ntpq -p remote refid st t when poll reach delay offset disp ============================================================================== *ntp3.jst.mfeed. ote-ntp1.jpnap. 2 u 58 64 37 10.71 -8.950 877.82 $
xntpdデーモンのログは/var/adm/messagesに出されます。
ポーリング間隔はここでは64秒ですが、xntpを起動し続けていると次第に間隔が広がっていきます。
公共のNTPサーバをお行儀よく利用するために、自宅マシン群のうち1台だけを公共のNTPサーバを参照するようにして、残りはこの1台に対してNTPで時刻を調整するようにします。そこで、1台を公共のNTPサーバに対するNTPクライアント兼自宅マシン用NTPサーバとして設定します。
/etc/inet/ntp.confファイルを作成します。雛形が/etc/inet/ntp.serverにあるので、それをベースに修正していきました。
server ntp.jst.mfeed.ad.jp server 127.127.1.0 fudge 127.127.1.0 stratum 10 broadcast 224.0.1.1 ttl 4 enable auth monitor driftfile /var/ntp/ntp.drift statsdir /var/ntp/ntpstats/ filegen peerstats file peerstats type day enable filegen loopstats file loopstats type day enable filegen clockstats file clockstats type day enable keys /etc/inet/ntp.keys trustedkey 0 requestkey 0 controlkey 0
インターネット上のntpサーバ(ntp.jst.mfeed.ad.jp)が見つからないときはホスト上のクロック(ローカルクロック)を基準として使うように、serverに127.127.1.0を追加しています。もしホストにGPS時刻計等の基準クロックが接続されているときは、それを指定します。(ピリオド表記の3番目がクロックの種類を示しており、1はローカルのシステムクロックを意味します)
fudgeでは、ローカルのクロックはstratum 10として指定しています。
/var/ntp/ntp.driftファイルはデフォルトでは存在しないので、touchで空ファイルを作成しておきます。
Solaris 10では標準でApache 2がインストールされています。
/etc/apache2/httpd.conf-exampleを/etc/apache2/httpd.confにコピーし、内容を修正します。
# cd /etc/apache2 # cp httpd.conf-example httpd.conf # svcadm enable apache2 # svcs apache2 STATE STIME FMRI online 1:23:45 svc:/network/http:apache2
apache起動ユーザ名/グループ名
デフォルトでは、webservdというユーザ名/グループ名で実行されます。Solarisのユーザ・グループとしてデフォルトで存在しています。
# mount -F nfs nfsserver:/path/to/dir /mnt #
マウントタイプnfsを-F オプションで指定します。
デフォルトでは、NFSバージョン4を使用するので、NFSバージョン3以下のNFSサーバに接続するとエラーが発生します。
# mount -F nfs nfsserver:/path/to/dir /mnt nfs mount: マウント: /mnt: 所有者ではありません。
その際は、-oオプションでバージョンを例えば3に指定します。
# mount -F nfs -o vers=3 nfsserver:/path/to/dir /mnt #
まず、グループを作成していなければ、グループをgroupaddコマンドで作成。その際グループIDを指定可能。
続いて、ユーザをuseraddコマンドで作成。その際、ユーザID、所属グループ名、ホームディレクトリのパス、使用するシェル、ホームディレクトリを作成するかを指定可能です。
# groupadd -g 3200 javanese # useradd -u 3201 -g javanese -d /export/home/javas -s /bin/bash -m javes #
usermodコマンドでユーザのホームディレクトリを仮想に変更します。
# usermod -d /home/javas javes #
passwdコマンドで、ユーザのパスワード(初期値)を設定します。
# passwd javas 新しいパスワード: 新しいパスワードを再入力してください: passwd: javasのパスワードが変更されました #
Solarisでは、通常/homeはオートマウンタの管理下にあります。/export/homeの下にあるディレクトリをすべて/homeの下にオートマウントする設定を/etc/auto_homeに追記します。
+auto_home * localhost:/export/home/&
ネットワーク環境でどのマシンにログインしても同じホームディレクトリを使用したいことがあります。そのような場合、NFSを使いますが、オートマウントを使うと以下のように設定します。その場合、/etc/auto_homeに追記します。
+auto_home * localhost:/export/home/& torutk nfsserver:/export/home/torutk
NFSサーバとしてホームディレクトリを公開するマシンでは、公開ディレクトリを/etc/dfs/dfstabに記述しておく必要があります。変更後はshareallコマンドを実行すればOKです。
なにも設定していないときのデフォルト(抜粋)
IFS=$' \t\n' LANG=ja PATH=/usr/bin: PS1='\s-\v\$ ' SHELL=/bin/bash
ログインするときに適用される環境設定ファイル.bash_profileの設定を行います。
if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin:/opt/sfw/bin
bash起動時の設定は、.bashrcをそのまま利用します。
Solaris10の場合、/binは/usr/binへのシンボリック・リンクとなっています。
bashシェルが起動される度に設定される環境設定ファイル.bashrcの設定を行います。
PS1="\W$ " if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
エイリアス設定は.bashrcが煩雑になるのを嫌って別なファイルに記述しているので、その内容を取り込んでいます。
シェル環境でのエイリアス設定を.bash_aliasesに行います。
alias tar='/usr/sfw/bin/gtar'
Solaris標準のtarは、長いパスを正常に扱えない、gzip/bzip2形式をサポートしていない等で使いづらいので、GNU tarを標準で使用します。
bashのコマンド補完を使用すると、複数候補があるとき等にビープ音がピーピー鳴り響きます。これを抑制する方法を探したところ、~/.inputrcに以下を記述することで可能でした。
set bell-style none
リモートからXDMCP経由で接続するときに、日本語フォントが表示されないことがあります。
Solaris10では、デフォルトでFont serverが稼動しています。ただし設定ファイルに日本語フォントへのパスが含まれていないので、これを追加します。設定ファイルは以下です。
/usr/openwin/lib/X11/fontserver.cfg
インストール直後の状態では以下のようにフォントパスが設定されています。(分かりやすいように改行しています)
catalogue = /usr/openwin/lib/X11/fonts/Type1/, /usr/openwin/lib/X11/fonts/Type1/sun/, /usr/openwin/lib/X11/fonts/F3bitmaps/, /usr/openwin/lib/X11/fonts/Speedo/, /usr/openwin/lib/X11/fonts/misc/, /usr/openwin/lib/X11/fonts/75dpi/, /usr/openwin/lib/X11/fonts/100dpi/, /usr/openwin/lib/X11/fonts/TrueType
ここに、日本語フォントのパスを追記します。
/usr/openwin/lib/locale/ja/X11/fonts/75dpi/, /usr/openwin/lib/locale/ja/X11/fonts/TT/, /usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/
設定を変更したら、X font serverを再起動する必要があります。X font serverはデーモンとして稼動します。Solaris10では各種デーモン(サービス)を管理する新しい仕組みSMF(Service Management Facility)が導入されて、従来とは少し手順・操作方法が変わっています。
管理対象サービス一覧からX font serverを探す
# svcs -a|grep xfs online 12:42:45 svc:/application/x11/xfs:default #
X font serverのサービス情報詳細を見る
# svcs -l xfs fmri svc:/application/x11/xfs:default name X Window System font server 有効 true 状態 online next_state none state_time 2005年03月20日 (日) 12時42分45秒 リスタータ svc:/network/inetd:default contract_id 87 #
注)ここではコマンドラインオプションにxfsとだけ指定しましたが、svc:/application/x11/xfs:defaultとフルに記述する方が正しいようです。
X font serverの設定を再度読み込み直す
# svcadm refresh xfs #
ロースペックなマシンでは、Solaris 10のJava Desktop Systemは重過ぎて使用に耐えられません。これはGnomeが重いということなのですが、これを設定で少しでも軽減させるようにします。
詳細は、ドキュメント「Solaris 10 Java Desktop System Release 3 Solaris 10 Collection - Japanese システム管理 8.パフォーマンスの改善」にあります。
一つの物理マシン上で複数の仮想サーバを立てるときに便利な機能です。
現在のコンテナ状況を表示します。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / #
仮想サーバごとにコンテナ(zone)を作成します。
# zonecfg -z pluto pluto: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:pluto> create zonecfg:pluto> set zonepath=/export/home/pluto zonecfg:pluto>
それぞれの非グローバルzoneは物理インタフェースを共有します。個々のzoneは論理インタフェースを割り付けます。論理インタフェースに対してIPアドレスを割り振ります。しかしながら、zone間の通信はループバックインタフェースを利用した通信となります。
zonecfg:pluto> add net zonecfg:pluto:net> set address=192.168.0.3 zonecfg:pluto:net> set physical=rtls0 zonecfg:pluto:net> end zonecfg:pluto>
設定された内容を表示します。デフォルトの設定内容も見れます。
zonecfg:pluto> export create -b set zonepath=/export/home/pluto 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.0.3 set physical=rtls0 end zonecfg:pluto>
zonecfg:pluto> remove inherit-pkg-dir dir=/usr zonecfg:pluto>
zonecfg:pluto> verify zonecfg:pluto>
zonecfg:pluto> commit zonecfg:pluto>
/etc/zones/pluto.xmlに設定内容が出力されます。
インストールするzoneが設定済み(configured)になっているのを確認します。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / - pluto configured /export/home/pluto #
# zoneadm -z pluto install Preparing to install zone <pluto>. Creating list of files to copy from the global zone. Coping <77189> files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize <1129> packages on the zone. Initializing package <XXX> of <1129>: percent complete: XX% Zone <pluto> is initialized. Installation of these packages generated warning: <SUNWxwfs> The file </export/home/pluto/root/var/sadm/system/logs/install_log> contains a log of the zone installation. #
インストールするzoneがインストール済み(installed)になっているのを確認します。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / - pluto intalled /export/home/pluto #
まず非グローバルゾーンのコンソールに接続します。
# zlogin -C pluto [ゾーン 'pluto'コンソールに接続しました]
まだplutoゾーンはブートしていないので、プロンプトは出ません。
コンソールの終了は、~を入力しCtrl+D
ここで、別なターミナルでzoneをブートします。
# zoneadm -z pluto boot
すると、非グローバルゾーンに接続したコンソールにメッセージが表示されます。
# zlogin -C pluto [ゾーン 'pluto'コンソールに接続しました] [NOTICE: Zone booting up] SunOS Release 5.10 Version Generic 32-bit Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: pluto Loading smf(5) service descriptions: 57/99
最後の行のLoadingが99/99になると、言語の選択を聞いてきます。
Select a Language 0. English 1. Japanese 2. es 3. fr Please make a choice (0 - 3), or press h or ? for help:
1を入力しました。
次は、ロケールの選択を聞いてきます。
Select a Locale 0. Japanese EUC (ja) 1. Japanese EUC (ja_JP.eucJP) 2. Japanese PC Kanji (ja_JP.PCK) 3. Japanese UTF-8 (ja_JP.UTF-8) 4. Go Back to Previous Screen Please make a choice (0 - 4), or press h or ? for help:
0を入力しました。
次は、端末種類を聞いてきます。
どのタイプの端末を使用していますか? 1) ANSI 標準 CRT 2) DEC VT52 3) DEC VT100 4) Heathkit 19 5) Lear Siegler ADM31 6) PC コンソール 7) Sun コマンドツール 8) Sun ワークステーション 9) Televideo 910 10) Televideo 925 11) Wyse Model 50 12) X 端末エミュレータ (xterms) 13) CDE 端末エミュレータ (dtterm) 14) その他 選択する番号を入力して、Return キーを押してください。
環境にもよりますが、今回は12を入力しました。
以降、ホスト名、ネームサービス、時刻帯、などを設定すると、非グローバルゾーンのコンソール上でOSの起動が確認できます。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / 2 pluto running /export/home/pluto #
グローバルゾーンで作成したユーザ情報はまったく引き継がれておりません。/etc/passwd、/etc/groupはSolaris OSの初期状態です。/exportもそうです。
zloginは、ローカルのグローバルゾーンからの非グローバルゾーンへのログイン専用です。まず、zloginでローカルから非グローバルゾーンへログインし、一般ユーザを作成します。
グローバルゾーンにログインし、root権限で
# zonecfg -z pluto zonecfg:pluto> set autoboot=true zonecfg:pluto> verify zonecfg:pluto> commit zonecfg:pluto> exit #
# zoneadm list -vc ID NAME STATUS PATH 0 global running / 2 pluto running /export/home/pluto
# zoneadm -z pluto halt # zoneadm list -vc ID NAME STATUS PATH 0 global running / - pluto installed /export/pluto #
# zoneadm -z pluto uninstall ゾーン pluto を uninstall してよろしいですか (y/[n])? y # zoneadm list -vc ID NAME STATUS PATH 0 global running / - pluto configured /export/pluto #
# zonecfg -z pluto delete Are you sure you want to delete zone pluto(y/[n])? y # zoneadm list -vc ID NAME STATUS PATH 0 global running /
Solaris 10 6/06からZFSファイルシステム機能が追加されています。これを使用してファイルシステムを作成します。
ZFS:Zettabyte File System
128bitファイルシステムで、物理ディスク構成にとらわれずファイルシステムを構成することができます。また、ミラーリング、RAID-5相当の機能を持っています。
また、圧縮処理、ダンプ&リストアなどの機能を持っています。
インストール時にはZFSでのファイルシステムを作成できないので、いったん普通のUFSでスライスを確保しておきました(/exportに割り当てたc0d0s7)。今回、このスライスをZFSに設定します。
まず、/exportをアンマウントします。
# umount /export #
/etc/vfstabから、/exportの設定を削除します。
ZFSファイルシステムのプールを作成します。プール名にzfspool、プールするディスクパーティションをc0d0s7と指定します。-fオプションは、既にc0d0s7がUFSでファイルシステムが作られているため、強制的にZFSでファイルシステムを上書きするための指定です。
# zpool create -f zfspool c0d0s7 #
プール名と同じディレクトリ(/zfspool)に、指定したパーティションの容量がマウントされている形になります。
# df -k : zfspool 104251392 24 104251317 1% /zfspool #
ユーザーのホームディレクトリとして、/export/homeをZFSファイルシステムとして割り当てます。
まず、ZFSのプールから/export/home用に割り当てるZFSファイルシステムをzfsコマンドで作成(create)します。次に、このファイルシステムをマウントするポイントを指定します。この領域は、別マシンからNFSとしてアクセス可能な設定にします。圧縮機能を有効に設定しています。最大使用容量を48GBに設定しています。
# zfs create zfspool/home # zfs set mountpoint=/export/home zfspool/home # zfs set sharenfs=on zfspool/home # zfs set compression=on zfspool/home # zfs set quota=48G zfspool/home #
設定内容を確認します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT zfspool 110K 99.4G 24.5K /zfspool zfspool/home 24.5K 48.0G 24.5K /export/home #
応用)ZFSのファイルシステムは階層的に付け加えることができるので、このあと/export/homeの下にまたzfs createで作成したユーザ個別のファイルシステムを付けていくこともできます。ユーザごとにquotaを設定する場合などに応用できます。
/optは、オプションソフトウェアをインストールするディレクトリとして使用されるので、運用中にどんどん消費される傾向があります。追加のHDDを足したときにマウントポイントを分けずに追加できるZFSを使うことで大いに恩恵を受けることができます。
/usrなどのOSシステムが使用する領域をZFSで設定するときは、mountpointをlegacyとし、/etc/vfstabでマウントするように設定するのがよいようです。今回、/optを例にlegacy設定を行います。
まず、現状の/optをディレクトリ名を変更します。
# mv /opt /opt_orig #
つづいて、ZFSで/opt用ファイルシステムを作成します。
# zfs create zfspool/opt # zfs set mountpoint=legacy zfspool/opt # zfs set sharenfs=on zfspool/opt # zfs set quota=32G zfspool/opt #
マウントポイントを作成し、ZFSのマウントを実行します。
# mkdir /opt # mount -F zfs zfspool/opt /opt #
もともと/optにあった(現在/opt_origにある)ディレクトリ以下を、ZFSで新たに作成した/optの下へそっくりそのまま移します。
# cp -pr /opt_orig/* /opt #
または
# cd /opt_orig # find . -print -depth | cpio -pdm /opt #
mv
/etc/vfstabを編集します。zfspool/optを/optにマウントする設定を追加します。
zfspool/opt - /opt zfs - yes -
zfs領域におかれたファイルを使用するサービスをSMFで設定する場合、デフォルトではSMF起動時にzfs領域のマウントが完了されていないためエラーとなることがありす。
zfs領域にアクセスするSMFのマニフェスト設定ファイルへ依存関係を追加します。
<dependency name='filesystem' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/system/filesystem/local' /> </dependency>
GUIの管理コンソールがSolarisにも用意されています。/var/sadm/bin/smcを管理権限を持った状態で起動します。(権限を持ったとまどろっこしい言い方をしているのは、Solaris10ではrootユーザにならなくてもある管理権限をあるユーザに付与できるからです)
GUI画面を見ると、管理コンソールはJavaアプリケーションのようです。
管理メニューは以下の構成になっています。
Solaris上でオープンソース・ソフトウェアを活用するには、自力でソースコードを入手してビルドする方法もありますが、世の中ではいくつかのサイトにおいてSolaris用バイナリを構築して公開しているサイトがあります。
SunのC/C++/Fortran開発環境です。無償化されました。
2006年1月23日現在、国際化版がダウンロード可能です。
詳細は、Sun Studio 11のインストールと使用ページへ
Sunの開発環境です。60日間評価版ライセンスでインストールしてみました。
詳細は、Sun Studio 10のインストールと使用ページへ
Solaris用バイナリ・パッケージを入手します。バイナリパッケージ公開サイトのいずれかより入手します。2007年1月8日現在、各サイトで公開されているSubversionバイナリパッケージのバージョンは、
となっています。
ただし、依存するライブラリが多数あります。Solaris 10(+Software Companion)には含まれないパッケージを合わせて入手します。
以下に標準で検索できないライブラリを示します。
依存ライブラリ名 | Solaris 10標準 | 備考 |
libgdbm.so.3 |
なし | Sunfreewareよりgdbm-1.8.3を入手しインストール |
libdb-4.2.so |
/opt/sfw/lib |
LD_LIBRARY_PATHにパス設定追加 |
libexpat.so.0 |
/usr/sfw/lib |
LD_LIBRARY_PATHにパス設定追加 |
libiconv.so.2 |
なし | Sunfreewareよりlibiconv-1.8を入手しインストール |
libgcc_s.so.1 |
/usr/sfw/lib |
LD_LIBRARY_PATHにパス設定追加 |
libxml2とlibzは、Solaris10では標準パス(/usr/lib)にインストールされています。
以下の手順でインストールします。
# pkgadd -d subversion-1.3.2-sol10-x86-local : # pkgadd -d gdbm-1.8.3-sol10-intel-local : # pkgadd -d libiconv-1.8-sol10-intel-local : #
subversionのコマンドは、/usr/local/binにインストールされます。
インストール完了後、svnsrv(Subversionサーバ)の設定を行います。subvresionのサーバー機能は、inetd経由で実行する方法、デーモンで実行する方法があります。
inetd経由
Solaris 10からinetdの管理方法が変わっています。まだ成功していないので現在調査中。
Solaris 10 inetd設定調査メモ
1. /etc/serviceにsvnserveポート番号設定を追記
svn 3690/tcp # Subversion server svn 3690/udp # Subversion server
2. inetd.confスタイルのサービス起動記述ファイルを作成
inetd.conf_svnserveを作成
svnserve stream tcp nowait svn /usr/bin/env env LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib \ /usr/local/bin/svnserve svnserve -i -r /export/home/svn/repositories
3. inetconvコマンドでSMF管理ファイルを生成
# inetconv -i ./inetd.conf_svnserve svnserve -> /var/src/manifest/network/svnserve-tcp.xml svnserve-tcp.xml をインポートしています ...完了 #
/var/src/manifest/network/svnserve-tcp.xmlが生成されます。
# inetadm | grep svn enabled online svc:/network/svnserve/tcp:default #
4. SMF管理ファイルの修正
一度SMF管理ファイル生成後、サービスが起動した後は、inetconvで設定を上書きする場合-fオプションを追加します。
# inetconv -i ./inetd.conf_svnserve inetconvd: 注意: svnserve のサービスマニフェストはすでに /var/src/manifest/networ k/svnserve-tcp.xml として生成されています。スキップします # inetconv -f -i ./inetd.conf_svnserve svnserve -> /var/src/manifest/network/svnserve-tcp.xml svnserve-tcp.xml をインポートしています ...完了 #
-fオプションで上書きします。
5. アクセス
現在、リモートからsvnでアクセスすると、
$ svn list svn://myhost/helloagain svn: Malformed network data $
でエラーが発生します。パケットをキャプチャすると、メッセージの中に文字列"Type /usr/local/bin/svnserve --help for usage"が含まれています。
6.(番外) SMF管理下のサービス削除
inetd管理下のものは、まずinetadm -dコマンドでdisableにします。
デーモン起動
Solaris 10デーモン起動設定のメモ
1. SMF(Service Management Facility)のマニフェストファイル作成
まず、Subversionサーバのサービス名(FMRI)を、svc:/network/subversionとしておきます。applicationかnetworkか悩みますが、apache httpdがnetworkに分類されていたので、これに準じてみました。すると、マニフェストファイルは、/var/svc/manifest/network/subversion.xmlとなります。記述方法がよく分からなかったので、標準で入っているhttp-apache2.xmlやssh.xmlなどを流用して適当にいじって記述しただけなので、これでいいか分かりません(とりあえず動いている)。
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <!-- subversion daemon --> <service_bundle type='manifest' name='SMCsubv:subversion'> <service name='network/subversion' type='service' version='1'> <dependency name='loopback' grouping='require_all' restart_on='error' type='service'> <service_fmri value='svc:/network/loopback:default'/> </dependency> <dependency name='physical' grouping='optional_all' restart_on='error' type='service'> <service_fmri value='svc:/network/physical:default'/> </dependency> <dependency name='filesystem' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/system/filesystem/local'/> </dependency> <exec_method type='method' name='start' exec='/lib/svc/method/subversion start' timeout_seconds='60' /> <exec_method type='method' name='stop' exec='/lib/svc/method/subversion stop' timeout_seconds='60' /> <property_group name='startd' type='framework'> <!-- sub-process core dumps shouldn't restart session --> <propval name='ignore_error' type='astring' value='core,signal' /> </property_group> <instance name='default' enabled='false' /> <stability value='Unstable' /> <template> <common_name> <loctext xml:lang='C'> Subversion server </loctext> </common_name> <documentation> <manpage title='svnserve' section='5' manpath='/usr/local/man' /> <doc_link name='Tigris.org' uri='http://subversion.tigris.org' /> </documentation> </template> </service> </service_bundle>
2. 起動・終了処理の記述
マニフェストファイルからは、起動時・終了時にあるスクリプトを呼び出すようになっています。/lib/svc/method/subversionファイルを作成します。本来こんな書き方ではいけないと思われますが、ここでは安直にhttpd-apache2に倣って書いています。
#!/sbin/sh . /lib/svc/share/smf_include.sh LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib export LD_LIBRARY_PATH case "$1" in start) /usr/local/bin/svnserve --daemon --root /export/home/svn/repositories ;; stop) /usr/bin/pkill svnserve ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac
3. SMFへsubversionサービスの登録
svccfgコマンドのimportでマニフェストファイルをSMFに登録します。
# svccfg import /var/svc/manifest/network/subversion.xml # svcs -a | grep subversion disable 10:20:30 svc:/network/subversion:default
subversionサービスを稼動状態に設定します。
# svcadm enable subversion # svcs subversion STATE STIME FMRI online 01:23:45 svc:/network/subversion:default
Solaris 10では、Sambaが標準パッケージとしてインストールされます。
# pkginfo | grep samba system SUNWsmbac samba - A Windows SMB/CIFS fileserver for UNIX (client) system SUNWsmbar samba - A Windows SMB/CIFS fileserver for UNIX (Root) system SUNWsmbau samba - A Windows SMB/CIFS fileserver for UNIX (Usr) #
起動設定では、レガシーに置かれています。
# svcs | grep samba regacy_run 9:08:05 lrc:/etc/rc3_d/S90samba #
デフォルトの起動設定では、/etc/sfw/smb.confファイルがあれば起動するようになっています。
# cat /etc/rc3.d/S90samba : case "$1" in start) [ -f /etc/sfw/smb.conf ] || exit 0 /usr/sfw/sbin/smbd -D /usr/sfw/sbin/nmbd -D : #
/etc/sfw/sbm.confファイルを作成します。
[global] workgroup = MYGROUP server string = Samba Server security = user host allow = 192.168.1. 172. log file = /var/log/samba.log.%m max log size = 50 passdb backend = tdbsam socket options = TCP_NODELAY dns proxy = no [homes] comment = Home Directories browseable = no writable = yes [public] comment = Public Stuff path = /home/samba public = yes writable = yes
Sambaでアクセスするユーザ/パスワードを登録します。
# /usr/sfw/bin/pdbedit -a torutk creating lame upcase table creating lame lowcase table new password: retype password: : #
new password:でパスワードを入力し、retype password:で再度パスワードを入力します。
Sambaを起動します。次回からはマシン起動時に自動的に起動されます。
# /etc/init.d/samba start #