UNIXOracle SolarisOS インストール後の環境整備

OS インストール後の環境整備

更新日:2017年9月27日

ユーザー作成と前準備

Solarisインストール直後はシステム管理者rootではSSH,telnet,ftpでログインすることが出来ません、サーバーマシン上で直接ログインすることは可能ですが、これでは不便なのでアプリケーションをインストールする専用のログインユーザーを作成しましょう。
ユーザー作成例では以下の条件で作成しています。

ユーザー名ken
所属グループstaff
シェルCシェル
ホームディレクトリ/export/home/ken

ユーザー作成

ログインユーザーを作成しましょう、管理者(root)での作業になりますので、サーバーに直接ログインします。
また、ユーザーの初期パスワードも設定しましょう。

root@earth% useradd -u 1000 -g staff -s /bin/csh -d /export/home/ken -m ken
root@earth% passwd ken
新しいパスワード:************
新しいパスワードを再入力してください:************
passwd: ken のパスワードが変更されました

ログインユーザーの環境整備

ログインユーザーの環境を整えます、そのままではどこにも作業パスが通っていないためOSがファイルを見つけられず、コンパイルもインストールも出来ません。ユーザーがCシェルなのでホームディレクトリ上に環境ファイルを.cshrcを作成してログイン時に読み込ませましょう。

root@earth% vi /export/home/ken/.cshrc
if ( $?prompt ) then
if ( $?tcsh == 0 ) then
if ( -f /bin/tcsh ) then
setenv SHELL /bin/tcsh
exec /bin/tcsh
else if ( -f /usr/local/bin/tcsh ) then
setenv SHELL /usr/local/bin/tcsh
exec /usr/local/bin/tcsh
else if ( -f /opt/gnu/bin/tcsh ) then
setenv SHELL /opt/gnu/bin/tcsh
exec /opt/gnu/bin/tcsh
else
setenv SHELL /bin/csh
endif
endif
endif

# Set path
set hpath = ( ~/bin )
set lpath = ( /usr/sfw/bin /usr/local/bin /usr/local/sbin /opt/gnu/bin /opt/SUNWspro/bin )
set xpath = ( /usr/openwin/bin )
set spath = ( /bin /sbin /etc /usr/{bin,sbin,etc,ucb,ccs/bin} )
set spath = ( /bin /sbin /etc /usr/{bin,sbin,etc,ucb} )
set path = ( $hpath $lpath $xpath $spath )
unset hpath lpath xpath spath

# Set environment
set prompt="`whoami`@`hostname`% "

# Set aleas
alias cp 'cp -i'
alias mv 'mv -i'
alias pwd 'echo $cwd'
alias ls 'ls -F'
alias sl 'ls -F'
alias la 'ls -aF'
alias ll 'ls -lF'

setenv LANG ja
setenv CC "gcc -m64"
setenv PAGER less
setenv EDITOR vi
setenv PERL_BADLANG 0
setenv LD_LIBRARY_PATH /usr/local/lib:/usr/lib

ユーザーのログイン時に環境ファイルが読み込まれるようにするために、ファイルのオーナーを書き換えましょう。

root@earth% chown ken:staff /export/home/ken/.cshrc

ネットワーク接続設定

UNIXはWeb,メールを含めSSH,telnet,FTPなどネットワーク接続がキーになります。ネットワーク接続は、Oracle Solaris 11 ではインストール時にほぼ完了しますが、Solaris 10などはネットワークをあらためて設定しないと外部接続出来きません。

名前解決とDNSクライアント設定

/etc/resolv.confにDNSサーバーアドレスを追加しましょう。IPアドレスを実際の値に書き換えます。

root@earth% vi /etc/resolv.conf
search	earth.co.jpnameserver  192.168.0.3

ホスト名をファイルだけで無くDNSで解決できるように/etc/nsswitch.confにDNSを追加しましょう。

root@earth% vi /etc/nsswitch.conf
...
passwd: files
group: files
hosts: files dns
ipnodes: files
...

DNSクライアントを再起動しましょう。

root@earth% svcadm restart dns/client

デフォルトルーター(ゲートウェイ)の設定と変更

デフォルトルーターのアドレスを確認しましょう。変更するのであれば書き換えます、ただし再起動するまで反映されません。

root@earth% vi /etc/defaultrouter
192.168.0.1

再起動させずにデフォルトルートを変更するにはrouteコマンドを使用しましょう。
下記ではデフォルトルートを永続的(-p)に追加(add)し、不要になったデフォルトルートを削除(delete)して最後に確認しています。

root@earth% route -p add default 192.168.0.10
root@earth% route -p delete default 192.168.0.1
root@earth% route -p show
persistent: route add default 192.168.10.10

サーバー環境設定

Oracle Solarisをインストールした直後の状態では、Apache,PHPなどのアプリケーションサーバーをコンパイルする環境が整っていません。アプリケーションのソースコードは純正GNUコンパイラなどを想定しているためSolaris付属のコンパイラでは動かないことが多いためです。
OpenCSWプロジェクトhttps://www.opencsw.org/にてそれらのパッケージをダウンロードできますので、サーバーからダウンロード・インストールしましょう。

パッケージ管理ソフトダウンロード

最初にパッケージ管理ソフトpkgutilをダウンロードしましょう。
この管理ソフトはインストールする対象のパッケージが依存するパッケージがあれば同時にダウンロードインストールされ、サーバーにあるパッケージが新しいかどうかもチェックしましょう。CentOSのyumと同じです。
パッケージ追加コマンドを実行すると、途中でどのパッケージをインストールするかとインストールを続行して良いかの入力を促されますが、それぞれ「1」+「エンターキー」、「y」+「エンターキー」を押して続行しましょう。

root@earth% pkgadd -d http://get.opencsw.org/now
## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete


The following packages are available:
1 CSWpkgutil pkgutil - Installs Solaris packages easily
(all) 2.6.7,REV=2014.10.16

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1

Processing package instance <CSWpkgutil> from <http://get.opencsw.org/now>

...

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 <CSWpkgutil> [y,n,?] y

Installing pkgutil - Installs Solaris packages easily as <CSWpkgutil>

...
Copying sample admin from /opt/csw/var/pkgutil to /var/opt/csw/pkgutil.

NOTE!
NOTE! Make sure to check out any changes in /etc/opt/csw/pkgutil.conf.CSW.
NOTE!

Installation of <CSWpkgutil> was successful.

新しいパッケージがあるかをpkgutilを使用して確認しましょう。

=> Fetching new catalog and descriptions (http://mirror.opencsw.org/opencsw/testing/i386/5.11) if available ...
==> 3992 packages loaded from /var/opt/csw/pkgutil/catalog.mirror.opencsw.org_opencsw_testing_i386_5.11

パッケージインストール

アプリケーションコンパイルなどに必要なパッケージをインストールしましょう。

autoconfをインストールし、パッケージ内容を確認しましょう。
一番最初のパッケージをインストールするときは依存関係のあるパッケージを全てインストールするので時間がかかります。

root@earth% /opt/csw/bin/pkgutil -y -i autoconf
Solving needed dependencies ...
Solving dependency order ...
10 CURRENT packages:
CSWcas-texinfo-1.50,REV=2015.01.17
CSWcommon-1.5,REV=2010.12.11
CSWggettext-data-0.19.8,REV=2016.09.08
CSWiconv-1.14,REV=2011.08.08
CSWisaexec-0.2,REV=2009.03.26
...
=> Fetching CSWlibreadline6-6.3,REV=2016.08.25 (5/12) ...
=> Fetching CSWlibsigsegv2-2.11,REV=2017.02.27 (6/12) ...
=> Fetching CSWlibgdbm4-1.9,REV=2011.10.24 (7/12) ...
=> Fetching CSWbdb48-4.8.30,REV=2010.12.06_rev=p0 (8/12) ...
...
=> Installing CSWautoconf-2.69,REV=2012.04.25 (12/12) ...
Please see /opt/csw/share/doc/autoconf/license for license information.
Installing class ...
/opt/csw/share/info/autoconf.info (texinfo will be registered when CSWtexinfo is installed)

Installation of was successful.

root@earth% /usr/sbin/pkgchk -L CSWautoconf
/opt/csw/bin/autoconf f none 0755 root bin 14772 43305 1335354916 CSWautoconf
/opt/csw/bin/autoheader f none 0755 root bin 8556 23468 1335354916 CSWautoconf
/opt/csw/bin/autom4te f none 0755 root bin 32208 15986 1335354916 CSWautoconf
/opt/csw/bin/autoreconf f none 0755 root bin 21163 10457 1335354916 CSWautoconf
/opt/csw/bin/autoscan f none 0755 root bin 17149 1104 1335354916 CSWautoconf
/opt/csw/bin/autoupdate f none 0755 root bin 33903 14033 1335354916 CSWautoconf
/opt/csw/bin/ifnames f none 0755 root bin 4146 6291 1335354916 CSWautoconf
/opt/csw/share/autoconf d none 0755 root bin CSWautoconf
...

automakeをインストールしましょう。
サーバーからの応答内容が大量のため以降の出力を省略しますが、依存関係のパッケージを含め「Installation of was successful.」が出力されればインストール完了です。

root@earth% /opt/csw/bin/pkgutil -y -i automake
root@earth% /usr/sbin/pkgchk -L CSWautomake

bisonをインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i bison
root@earth% /usr/sbin/pkgchk -L CSWbison

groffをインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i groff
root@earth% /usr/sbin/pkgchk -L CSWgroff

libpng をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i libpng12_0
root@earth% /usr/sbin/pkgchk -L CSWlibpng12-0

libtool をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i libtool
root@earth% usr/sbin/pkgchk -L CSWlibtool

libxml をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i libxml2_2
root@earth% usr/sbin/pkgchk -L CSWlibxml2-2

gmake をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i gmake
root@earth% usr/sbin/pkgchk -L CSWgmake

gpatch をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i gpatch
root@earth% usr/sbin/pkgchk -L CSWgpatch

gtarをインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i gtar
root@earth% /usr/sbin/pkgchk -L CSWgtar

texinfoをインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i texinfo
root@earth% /usr/sbin/pkgchk -L CSWtexinfo

gccをインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i gcc4core
root@earth% /usr/sbin/pkgchk -L CSWgcc4core

gcc++をインストールしましょう。

root@earth% /opt/csw/bin/pkgutil -y -i gcc4g++
root@earth% /usr/sbin/pkgchk -L CSWgcc4g++

環境ファイル.cshrcにパッケージのディレクトリを追加しましょう。

root@earth% vi /export/home/ken/.cshrc
...
# Set path
set hpath = ( ~/bin )
set lpath = ( /opt/csw/bin /opt/csw/gnu /usr/sfw/bin /usr/local/bin /usr/local/sbin /opt/gnu/bin /opt/SUNWspro/bin )
...
setenv LD_LIBRARY_PATH /opt/csw/lib:/opt/solarisstudio12.4/lib:/usr/local/lib:/usr/lib