x86 Solaris9 TIPS
FreeSoftwareのインストール方法
Sunfreeware.com Freeware for Solaris (東京理科大学)へ訪れ、pkg-infoをインストールします。このパッケージをインストールするとソフトウェアのインストール時にコンパイルする必要がありません。
初期設定では、アメリカのサイトにアクセスするようになっているため、/etc/pkg-get.confを東京理科大学のサイトに変更します。
#url=ftp://ftp.sunfreeware.com/pub/freeware
url=http://SunSITE.sut.ac.jp/pub/sun-info/Solaris
man pkg-getなどで使い方を調べてみてください。またSunfreeware.comにも利用方法が記載されていますので一度確認しておくと後々の作業が簡単になると思います。
PatchPro2.2のインストール方法
SunSolve > Patch Portal > Patch Manager からPatch Manager Base 1.0.1 and PatchPro 2.2, x86, Englishをダウンロードします。その後は以下のコマンドでインストールが行えます。
bash-2.05# tar -zxf pproSunOSx865.9jre2.2.tar.gz
bash-2.05# cd pproSunOSx865.9jre2.2
bash-2.05# ./setup
PatchPro2.2の設定
ライセンス登録を行わないと、PatchPro2.2を使う事が出来ないようです。Solarisがオープンソースになった今現在は、PatchProも無償で使えるかもしれません。
ソースコードからのPython-2.3.インストール方法
2004年10月10日
前提条件
http://www.python.org/に記述されているとおり、GNUtarがインストールされていることが前提です。
問題点
/usr/include/sys/types.hと/usr/local/lib/gcc/i386-pc-solaris2.9/3.4.0/include/sys/types.hの同期が取れていないためPythonのmakeに失敗します。
解決方法
/usr/local/lib/gcc/i386-pc-solaris2.9/3.4.0/include/sys/types.hに/usr/include/sys/types.hからコピーした以下を76行に追加
/* start python modify
* modifier:satoshi okita
* date:Sun Jul 11 01:31:26 JST 2004
*/
typedef union {
long double _q;
int32_t _l[4];
} pad128_t;
typedef union {
long double _q;
uint32_t _l[4];
} upad128_t;
/* end python modify */
その後通常のインストール作業作業をおこないます。
$ gzip -d Python-2.3.4.tgz
$ tar -xvf Python-2.3.4.tar
$ cd Python-2.3.4
$ sh configure
$ make
$ su root -c "make install"
/usr/local/bin/install -c -m 644 ./LICENSE /usr/local/lib/python2.3/LICENSE.txt
PYTHONPATH=/usr/local/lib/python2.3 \
./python -Wi -tt /usr/local/lib/python2.3/compileall.py \
-d /usr/local/lib/python2.3 -f \
-x 'badsyntax|site-packages' /usr/local/lib/python2.3
ld.so.1: ./python: fatal: libstdc++.so.6: open failed: No such file or directory
Killed
make: *** [libinstall] Error 137
上記のエラーが出力されるのであれば、環境変数LD_LIBRARY_PATHを設定します。あとは、make installを実行します。
# export LD_LIBRARY_PATH=/usr/local/lib
# make install
Subversionのインストール方法
2004年10月10日
対象者
x86 SolarisにSubversionをソースコードからインストールする方法を探している人が対象者です。
はじめに
subversionに必須なソフトウェア
- Apache Portable Runtime 0.9.5
- autoconf 2.50 or newer
- libtool 1.5 or newer
- Neon library 0.24.7 over
- Berkeley DB 4.X
- Apache Web Server 2.0.49 or newer
- Python 2.0 or newer
- Perl 5.8 or newer
- zlib (Option)
- openssl (Option)
- subversion
コンパイルに必要なソフトウェア
当然ですが、コンパイルするためにその他GNUのツールが必要になります。これらはSolarisにソースコードからインストールしてもかまいませんが、非常に手間と時間がかかるためpkg-getをインストールすることをお勧めします。私の場合は、以下をpkg-getコマンドを利用してインストールしました。また、subversionにSolaris用のパッケージも存在するようなので、コンパイルの学習などが必要ないのであれば簡単なパッケージインストールをお勧めします。
- automake
- gcc
- libtool
- m4
- perl
- phtyon
- shutils
- make
- wget
- tar(GNU)
インストール前準備
まずコンパイルに必要なものを準備します。先ほどのリストで黒大文字以外は、必ずインストールしておいてください。
subversionのインストール作業
Berkeley DB 4.2.52とpatch2つのインストール。
面倒なので以下のスクリプトを作った。適当な実行ユーザでこのシェルスクリプトを実行すると /usr/local/BerkeleyDB.4.2/にインストールされる。wgetコマンドとインターネットにつながっていることが条件である。また途中で/usr/localにインストールするためrootパスワードを要求する。
bash-2.05$ cat install_berkleydb.sh
#!/bin/sh
# tab=4 code=euc
# author satoshi okita <satoshiokita@google.com>
# version
# date
# invoke Berkeley DB Install script
BASE_DIR=/home/okita/develop/subversion
BDB=db-4.2.52.tar.gz
BDB_SITE="http://www.sleepycat.com/update"
download () {
if [ ! -f ${BDB} ]
then
wget ${BDB_SITE}/snapshot/${BDB}
fi
TMP_NAME=`echo ${BDB} | sed 's/.tar.gz//g'`
if [ ! -d "${TMP_NAME}" ]
then
tar -zxvf ${BDB}
fi
}
# arg1 patch file name.
download_patch () {
echo "download ${1}"
if [ -z "${1}" ]
then
return 1;
fi
if [ ! -f "${1}" ]
then
wget ${BDB_SITE}/4.2.52/${1}
fi
}
download
cd `echo ${BASE_DIR}/${BDB} | sed 's/.tar.gz//g'`
pwd
download_patch patch.4.2.52.1
download_patch patch.4.2.52.2
# arg1 patch file name.
applay_patch () {
if [ -z "${1}" ]
then
return 1;
fi
if [ -f "${1}" ]
then
return 0;
fi
su root <<-ENDROOT
pwd
patch -p0 < $1
ENDROOT
}
applay_patch patch.4.2.52.1
applay_patch patch.4.2.52.2
make_install () {
cd `echo ${BASE_DIR}/${BDB} | sed 's/.tar.gz//g'`
cd build_unix
env CC=gcc CFLAGS=-O2 ../dist/configure
make
su root <<-ENDROOT
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
#
# CAUTION!!
# strip in GNU binutils (as /usr/local/bin/strip) was broken
# so 'make install' process must be define original strip command.
#
make install strip=/usr/ccs/bin/strip
ENDROOT
}
make_install
neonのインストール
neonをダウンロードして解答した後、ディレクトリ名を変更する。neonライブラリをsubversionが探すためディレクトリ名を変更している。
bash-2.05$ cat install_neon.sh
#!/bin/sh
# tab=4 code=euc
# author satoshi okita <satoshiokita@google.com>
# version
# date
# install neon
# command check
COMPRESS=/usr/bin/compress
UNCOMPRESS=/usr/bin/uncompress
GNUZIP=/usr/bin/gzip
ARHCIVE=".tar"
SUFFIX=".gz"
check_command () {
TMP_CMD=$1
RES=`which ${TMP_CMD}`
if [ $? -ne 0 ]
then
echo "no exist $RES"
return 1;
fi
echo "exist $RES"
return 0;
}
check_command "gzip"
check_command "autoconf"
check_command "libtool"
check_command "wget"
NEON="neon-0.24.7.tar.gz"
download_by_wget () {
if [ ! -f ${NEON} ]
then
wget http://www.webdav.org/neon/${NEON}
if [ $? -ne 0 ]
then
echo "wget error ${NEON}"
exit 1;
fi
fi
}
download_by_wget
unpacking $NEON
SRC=`echo ${NEON} | sed 's/.tar.gz//' `
DEST=`echo ${NEON} | sed 's/.tar.gz//' | awk -F- ' { print $1 } ' `
mv $SRC $DEST
apacheのインストール
apacheをソースコードからインストールする場合は、Apache Portable Runtime 0.9.5を別途用意する必要はない。
bash-2.05$ cat install_apache2.sh
#!/bin/sh
# tab=4 code=euc
# author satoshi okita <satoshiokita@google.com>
# version
# date
# invoke apache2.0.50 over Install script
BASE_DIR=/home/okita/develop/subversion
APACHE=httpd-2.0.50.tar.gz
APACHE_SITE="http://sunsite.tus.ac.jp/pub/apache/httpd/"
BDB_SITE="http://www.sleepycat.com/update"
download () {
if [ ! -f ${APACHE} ]
then
wget ${APACHE_SITE}${APACHE}
fi
TMP_NAME=`echo ${APACHE} | sed 's/.tar.gz//g'`
if [ ! -d "${TMP_NAME}" ]
then
tar -zxvf ${APACHE}
fi
}
download
cd `echo ${APACHE} | sed 's/.tar.gz//g'`
pwd
./configure --enable-dav --enable-so --enable-maintainer-mode
make_install () {
su root <<-ENDROOT
cd `echo ${BASE_DIR}/${APACHE} | sed 's/.tar.gz//g'`
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
pwd
make
make install
ENDROOT
}
make_install
subversionのインストール
bash-2.05$ cat install_subversion.sh
#!/bin/sh
# tab=4 code=euc
# author satoshi okita <satoshiokita@google.com>
# version
# date
# install subversion server none ssl.
# command check
COMPRESS=/usr/bin/compress
UNCOMPRESS=/usr/bin/uncompress
GNUZIP=/usr/bin/gzip
ARHCIVE=".tar"
SUFFIX=".gz"
BASE_DIR="/home/okita/develop/subversion"
APACHE="httpd-2.0.50"
SUBVERSION_WORK=
SUBVERSION_SITE="http://subversion.tigris.org/tarballs/"
SUBVERSION="subversion-1.0.6.tar.gz"
cd ${BASE_DIR}
if [ ! -f "subversion-1.0.6.tar.gz" ]
then
wget ${SUBVERSION_SITE}${SUBVERSION}
fi
if [ ! -d subversion-1.0.6 ]
then
tar -zxvf "${SUBVERSION}"
fi
# COPY apache Portable Runtime 0.9.5
cd ${BASE_DIR}
cd ${APACHE}/srclib
cp -a apr apr-util ${BASE_DIR}/`echo ${SUBVERSION} | sed 's/.tar.gz//g'`
# SUBVERSION INSTALL
make_install() {
# require echo and perl on /usr/local/bin
# require libtool
# check above commands
if [ -x /usr/local/bin/echo ]
then
ln -s /usr/bin/echo /usr/local/bin/echo
fi
# install
cd ${BASE_DIR}/`echo ${SUBVERSION} | sed 's/.tar.gz//g'`
sh ./autogen.sh
# require be recgnized BerkeleyDB by LD_LIBRARY_PATH enviroment val.
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/BerkeleyDB.4.2/lib
export LD_LIBRARY_PATH
sh ./configure \
--with-as=/usr/local/bin/as \
--with-ld=/usr/local/bin/ld \
--with-berkeley-db=/usr/local/BerkeleyDB.4.2
make
su root <<-ENDROOT
pwd
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
make install
ENDROOT
}
make_install
# check
check_lib()
{
RES=`ls /usr/local/lib/libsvn* 2>&1`
if [ $? -ne 0 ]
then
echo $RES
fi
if [ -f /usr/local/apache2/modules/mod_dav_svn.so ]
then
echo "mod_dav_svn.so exist!"
fi
}
check_lib
crleの設定
LD_LIBRARY_PATHは各ユーザのためのライブラリ検索用の設定である。crleコマンドはOSに対してデフォルトのライブラリ検索場所を設定する。
crle -c /var/ld/ld.config -l \
/usr/lib:/usr/local/lib:/usr/local/apache2/modules:/usr/local/BerkeleyDB.4.2/lib
確認
bash-2.05$ svn help
usage: svn [options] [args]
Type "svn help " for help on a specific subcommand.
Most subcommands take file and/or directory arguments, recursing
on the directories. If no arguments are supplied to such a
command, it will recurse on the current directory (inclusive) by
default.
Available subcommands:
add
blame (praise, annotate, ann)
cat
checkout (co)
cleanup
commit (ci)
copy (cp)
delete (del, remove, rm)
diff (di)
export
help (?, h)
import
info
list (ls)
log
merge
mkdir
move (mv, rename, ren)
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
resolved
revert
status (stat, st)
switch (sw)
update (up)
Subversion is a tool for version control.
For additional information, see http://subversion.tigris.org/
suvbersionレポジトリの作成とテスト
テスト用にプロジェクトをレポジトリにimportしてみる。
bash-2.05$ svnadmin create /opt/app/subversion
bash-2.05$ ls /opt/app/subversion/
README.txt conf dav db format hooks locks
bash-2.05$ pwd
/home/okita/develop
bash-2.05$ mkdir -p testproject/branches
bash-2.05$ mkdir -p testproject/tags
bash-2.05$ mkdir -p testproject/trunk
bash-2.05$ touch testproject/trunk/foo.c
bash-2.05$ touch testproject/trunk/bar.c
bash-2.05$ touch testproject/trunk/Makefile
bash-2.05$ svn import /home/okita/develop/testproject \
file:///opt/app/subversion -m "test project import to repository"
Adding /home/okita/develop/testproject/trunk
Adding /home/okita/develop/testproject/trunk/foo.c
Adding /home/okita/develop/testproject/trunk/bar.c
Adding /home/okita/develop/testproject/trunk/Makefile
Adding /home/okita/develop/testproject/branches
Adding /home/okita/develop/testproject/tags
Committed revision 1.
レポジトリからtestprojectのデータを取り出してみる。
bash-2.05$ pwd
/tmp
bash-2.05$ svn checkout file:///opt/app/subversion/trunk testproject
A testproject/foo.c
A testproject/bar.c
A testproject/Makefile
Checked out revision 1.
編集作業をしてみる。
bash-2.05$ cd testproject/
bash-2.05$ ls
Makefile bar.c foo.c
bash-2.05$ echo "hello" >> foo.c
bash-2.05$ cat foo.c
hello
bash-2.05$ svn commit -m "test commit" foo.c
Sending foo.c
Transmitting file data .
Committed revision 2.
bash-2.05$ echo "goodbye" >> foo.c
bash-2.05$ svn diff foo.c
Index: foo.c
===================================================================
--- foo.c (revision 2)
+++ foo.c (working copy)
@@ -1 +1,2 @@
hello
+goodbye
bash-2.05$ svn commit -m ""
Sending foo.c
Transmitting file data .
Committed revision 3.
bash-2.05$ cat foo.c
hello
goodbye
bash-2.05$ rm -f foo.c
bash-2.05$ svn update foo.c
Restored 'foo.c'
At revision 3.
bash-2.05$ cat foo.c
hello
goodbye
bash-2.05$
Apacheの設定
- ServerNameの設定
- Listenの設定
- デフォルトでの起動確認
- User,Groupの設定
- LoadModuleの設定確認
- Locationの設定
- テスト
ServerNameの設定
ServerName 192.168.11.8:80
Listenの設定
Listen 80
デフォルトでの起動確認
x86 Solaris9ではhttpd.confの起動Groupを以下のように設定しなければならない。
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
# . On HPUX you may not be able to use shared memory as nobody, and the
# suggested workaround is to create a user www and use that user.
# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
# when the value of (unsigned)Group is above 60000;
# don't use Group #-1 on these systems!
#
User nobody
Group nobody
#Group #-1
この設定を行わないと$APACHE_HOME/log/error.logに以下のようなログが出力されて起動できない。subversionを使うためには、このUser,Groupの設定をsvnレポジトリと同様にしなければならない。
[alert] (22)Invalid argument: setgid: unable to set group id to Group 4294967295
[notice] Apache/2.0.50 (Unix) DAV/2 configured -- resuming normal operations
[alert] Child 19686 returned a Fatal error...\nApache is exiting!
[alert] (22)Invalid argument: setgid: unable to set group id to Group 4294967295
起動に失敗した場合には、$APACHE_HOME/logs/httpd.pidが残ってしまうので再起動前に削除しておく必要がある。以下は、その時の$APACHE_HOME/log/error.logのサンプル
[warn] pid file /usr/local/apache2/logs/httpd.pid overwritten
-- Unclean shutdown of previous Apache run?
[notice] Apache/2.0.50 (Unix) DAV/2 configured -- resuming normal operations
# rm -rf /usr/local/apache2/logs/httpd.pid
この状態で一度、起動停止を確認してみる。正常であればerror.logに以下が出力される。
bash-2.05# /usr/local/apache2/bin/apachectl stop
bash-2.05# /usr/local/apache2/bin/apachectl start
[notice] caught SIGTERM, shutting down
[notice] Apache/2.0.50 (Unix) SVN/1.0.6 DAV/2 configured -- resuming normal operations
User,Groupの設定
先ほどのUser,Groupをsubversionのレポジトリとあわせる必要がある。
User okita
Group other
LoadModuleの設定確認
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
Locationの設定
httpd.confの1000行付近にLocationが記述されているので、ここに以下を追加する。
#
# Allow remote server access Subversion repositories, with the URL of
# http://hostname/repos
<Location /repos>
DAV svn
SVNPath /opt/app/subversion
</Location>
これは、http://xxx.xxx.xxx.xxx/repos/ とアクセスされた場合, /opt/app/subversionを読み込む設定である。
テスト
Apacheを再起動して、以下にアクセスしてみる。正常であれば、ディレクトリ一覧が確認出来る。
http://192.168.11.8/repos/
参考文献
http://svn.collab.net/repos/svn/trunk/INSTALL
端末エミュレータ(teraterm, putty)からの日本語入力と表示するための設定
8bitの文字コードを通さなければならないため以下の設定をします。
stty -istrip cs8 -peranb
環境変数LANGの設定を日本語にします。
export LANG=ja_JP.eucJP
PAGERにlessを使っている場合は以下のように日本語が表示できるように設定します。
export PAGER=less
export LESSCHARSET=dos
emacsのインストール
Sunfreeware.com Freeware for Solaris (東京理科大学)からIntel8用のemacsをpkg-getを使わずにダウンロードします。その後以下のコマンドを実行します。
pkgadd -d emacs-21.1-sol8-intel-local
pkginfo -l SMCemacs
はじめ、ソースコードから最新のemacs-21.3をインストールしようとしましたが、gcc3.4.1ではコンパイル中にcoredumpが発生するのでSunfreeware.comからパッケージをインストールすることにしました。インストール作業中にxaw3d, libungifなどのライブラリを要求された時は、pkg-getではなく直接FTPからIntel8版のものを取得すれば問題なくインストールできます。
sarコマンドのインストール
x86 Solaris9にsarコマンドがインストールされていない場合は、Disk2(.volume.info=SOL_9_404_X86_2)からインストールする必要があります。SolarisでCDROMがマウントできない場合は、WindowsからD:\Solaris_9\Product\ SUNWaccr,D:\Solaris_9\Product\SUNWaccuディレクトリをコピーしてインストールすれば簡単に行えます。私の場合は、Windowsマシンからtarコマンドで圧縮して/tmpディレクトリに展開しました。以下がその時の作業内容になります。
bash-2.05# pwd
/tmp/sar
bash-2.05# ls
SUNWaccr SUNWaccu
bash-2.05# pkgadd -d `pwd` SUNWaccr
Processing package instance <SUNWaccr> from </tmp/sar>
System Accounting, (Root)
(i386) 11.9.0,REV=2002.11.04.02.51
Copyright 2002 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
This appears to be an attempt to install the same architecture and
version of a package which is already installed. This installation
will attempt to overwrite this package.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
16 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of [y,n,?]y
正常にパッケージがインストールされたかどうか確認します。
bash-2.05# pkginfo -l SUNWaccr
PKGINST: SUNWaccr
NAME: System Accounting, (Root)
CATEGORY: system
ARCH: i386
VERSION: 11.9.0,REV=2002.11.04.02.51
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: utilities for accounting and reporting of system activity
PSTAMP: on81-build-x20021104031202
INSTDATE: Sep 12 2004 03:15
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 21 installed pathnames
10 shared pathnames
1 linked files
16 directories
2 executables
6 blocks used (approx)
SUNWaccuも同じ作業でインストールできます。余談ですが、Sun Microsystems純正のパッケージにはSUNWというプレフィックスがつきます。
x86 Solaris のシステム復旧ログ(ネットワークカードの障害復旧)
2004年10月14日
はじめに
ここでは、3COM社製NICのトラブルシューティングのメモを記述します。私のNICはバグ対象のNICに含まれていないようでしたが、障害が発生したため、今後x86 Solaris9で同様なトラブルが発生した方のために対応ログを残しておきます。2004年10現在、これらの日本語情報は皆無に近いです。
システム構成
ハードウェア
- CPU: Celeron300MHz x 2
- Memory: 640MB
- Disk; 18GB
- NIC: 3COM 3C509B-TBO
- CDROM x 1
- FD x 0
ソフトウェア
- OS: x86 Solaris9
- Service : Suvbersion, IDS, プログラムのチューニング等の検証環境
障害発生
10/11日にtelnet, sshでログインしようとしたところ、ログインできなかったのでモニタのある部屋まで持ってきて再起動したところ起動時に以下のエラーメッセージを検出しました。
ifconfig: setifflags: SIOCSLIFFLAGS elx0 Cannot assign requested address
シングルユーザモード(メンテナンスモード)では起動できますが、マルチユーザモード(RUN 3)での起動が不可能になりました。SIOCSLIFFLAGSなどで検索エンジンで調べてみたところ情報は少なく、SunMicrosystems社でもバグという認識があるようです。復旧には、NICにブート用ROMを利用している場合は使わないようにすること、また、別のカードに切り替える。という選択肢しかありませんでした。私は、NICにブート用ROMは利用していないので復旧のためNICを変更することにしました。
原因
3COM社製のNICで発生するバグのようです。SIOCSLIFFLAGS等で検索するをいくつかドキュメントが出てきます。
現状
SunSolve PatchからOSインストール後パッチクラスタを適用していたためバグが発生しないだろうと思っていたのですが、いまだに修正されていないようです。もしかしたら最新のパッチが既に提供されているかもしれません。私のマシンは、FDなし、ネットワーク不可状態ですのでSunSolveにアクセスできない状態です。
障害対応
CD-Rに新しいNIC用のドライバ入手とBurning
Free NIC drivers for SolarisからダウンロードしてWindowsでCD-RにBurningしました。
3COMのNICの破棄
3COMのNICを物理的にはずします。
NIC( Corega FastEther II PCI-TX )の増設
新しいNICを増設します。チップはVIA VT86C100A互換のDL10030です。またドライバはMasayuki Murayama氏がフリー(無償)ソフトウェアとして公開しています。(Free NIC drivers for Solaris)
ドライバの設定と動作確認
ドライバの設定は、上記フリーソフトのREADMEに設定の仕方が記述されています。また日本語のREADMEも存在しますのでそのまま設定と動作確認をします。READMEの設定などではループバック(127.0.0.1)でNICを初期化するかもしれませんので自分のネットワーク用に設定する場合はifconfigコマンドを以下のように使います。
ifconfig rh0 down
ifconfig rh0 192.168.11.8 netmask 255.255.255.0 broadcast 192.168.11.255
ifconfig rh0 up
ifconfig rh0
正常に動作確認できたら以下を削除します。
/etc/hostname.elx0
これは、元のNIC(3COM社製NIC)用の設定ファイルです。環境によっては別のファイル名かもしれません。その後、init 6などコマンドで再起動するとrh0が127.0.0.1などループバックの設定になり正常に認識されない場合があります。
/etc/hostsと/etc/hostname.rh0
以下が私の環境設定になります。元々は、127.0.01 sunos9と設定していましたがそれをコメントアウトして、127.0.0.1 localhostと設定しています。これは/etc/hostname.rh0ファイルがホスト名の解決に設定してあるsunos9を /etc/hostsから参照するためです。つまりsunos9=192.168.11.8にした事になります。これで再起動した場合、初期設定として 192.168.11.8がIPアドレスとして与えられます。
bash-2.05# cat /etc/hosts
#
# Internet host table
#
#127.0.0.1 sunos9
127.0.0.1 localhost
192.168.11.8 sunos9.oklab.org sunos9
192.168.11.5 stoc.oklab.org stoc
bash-2.05# cat /etc/hostname.rh0
sunos9
最後に
今回はじめてx86 Solaris9のNICをOSインストール時以外に設定しました。Masayuki Murayama氏のREADMEが非常に過不足なくかかれていて参考になりました。NICの設定にもう少し手間が掛かると思っていたのですこし拍子抜けした感じです。いきなり原因不明の障害発生だったため、BSD系OS,Linux系OSを再インストールしようとしましたが思いとどまってよかったです。ただ良くも悪くも元商用OSだったためLinuxに対して情報が少ない事が認識できました。
更新履歴
- 2006年4月17日 - 更新履歴を追加
- 2004年7月24日 - x86版 Solaris9の記事を作成
