応用情報技術者試験 - SE娘の剣 -

応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。少しずつ追記していきます

Solarisの基礎の基礎

コマンドプロンプト
一般ユーザ→ $
スーパユーザ→ #

・入力文字変換は 「Ctrl」+「スペース」
bashと打つと、bash上で処理されるので、TABキーによる文字の補完などが行われて便利。

■インストール
・最小メモリはx86で256M、SPARCでは128M
・インストール時のソフトウェアクラスタ
SUNWCrnet(XX Reduced network) 限定的なネットワーク
SUNWCrnet < Core < EndUser <

■コマンド 
・大文字と小文字は区別されるので注意。一般的には小文字で。
・コマンドを並べて実行させるには、;を使う
・wcはWord Countで、行数などをカウントする

■パッチ
http://sunsolve.sun.comから取得できる
・patchadd パッチの追加や確認(-pオプション)
・patchrm
・showrev -p パッチの適用状況の確認。patchadd -pでも可能。

uname
uname -r リビジョンだけ
uname -a バージョン情報などすべてを表示


■パッケージ管理
・pkgadd:rpm -iと同じ
・pkgrm:rpm -eと同じ
・pkginfo:rpm -qaと同じ
・pkgchk
・pkgtrans フォーマット変換


■起動/終了関連
・起動時にはPOST(power on self test)というハードウェアのテストを行う。
・ブート時にSTOP+Aで停止し、boot -s でシングルユーザモードに入れる。または b -s
※Stop+Aを禁止するには kbd -a disable kdbはキーボードだと思う。または、/etc/default/kbdにてKEYBOARD_ABORT=disable

・Boot PROMコマンド
ok set-defaults  ブートパラメータの初期化
ok setenv auto-boot?false ブートをしない。
ok show-devs デバイスリストの表示
ok banner バナーを表示
ok .version Boot PROMのバージョンを表示。
nvalias 恒久的なエイリアスの設定


・ブートの流れ
1)PROMのブート: POSTによるセルフテスト、bootblkの読み込み
2)プログラムのブート:セカンダリブートプログラムのufsbootの読み込み
3)カーネルの初期化 :カーネルを初期化する。
4)initフェーズ : /etc/inittabの内容を実行
5)svc.startdが開始 : ファイルシステムのマウントなど。起動に関する情報は次のDB(/etc/svc/repository.db)に記載

・who -r
ランレベルを調べる。 数字で表示されるが、シングルモードの場合はSと表示される。

・run levelごとに/etc/rc1.d(この場合はrun lever1)ディレクトリにスクリプトが入れられている。実際にはシンボリックリンクであるが

・init X 0はシャットダウン
・reboot リブート
・shutdown
 shutdown -i5 -g0 -y ランレベル5に0秒後に移行し、すべてyesで答える。init 5が楽だと思う。※type any key to continue でキーを押してしまうとリブートしてしまうので、ここで電源をOFFにする。
・reboot poweroffなども使えるはず

・ハングアップしたとき
 stop+A そして halt -d
 
■SMF(service management Facilty)によるサービス管理
Solaris10からかも
・svcadm
 enable
 disable
  restart 再起動
 clear 

・svccfg 
 import 設定情報の読み込み(xmlファイル)
 export 設定情報をxmlで出力

・svcs 状態の表示
 -a すべて
 -D 依存しているサービスの表示
 -p プロセス情報を含めて表示


■ユーザ管理
・/etc/passwd ユーザ名のほかにUIDも記される。rootのUIDは0
・/etc/shadow パスワード
・/etc/group グループ情報
ユーザ名は2~8文字

・useradd
 -d (ホーム)ディレクトリの指定
 -m ホームディレクトリの自動作成
 -s シェルの指定
・usermod
・userdel
  -r フォルダごと

groupadd
groupmod

SMC(Solaris Management Console)によるGUIにて操作も可能
/usr/sbin/smc & にて起動する

・who 現在のログインユーザの表示
 ※who -r はランレベルの表示


ファイルシステム
ファイルシステムはUFS(Unix File System)である。
fsckによってファイルシステムのチェックを行える
・ファイルの容量確認コマンドには、df,du,quotなどがある
・quotはWindowsにもあるクウォータで、ユーザごとの使用率を表示
・dfはファイルシステム毎、duはファイル毎の使用率を表示する。
・du に-sをつけると、合計表示できる。よってdu -sh /export/home/*とすれば、ユーザ毎の使用量の合計が分かる。hはhuman
・UDF ・・・ DVD用
 HSFS ・・・ CD-ROM用
 UFS ・・・ Unix File System 通常のハードディスク
 PCFS ・・・ PC用。フロッピー


■リンク関連
・リンク作成 ln -s
sはシンボリックリンクで、ショートカット。-sを指定しないとハードリンク
ハードリンクは実体と同じなので、ショートカットを削除しても実体は削除されないが、ハードリンクを削除すると実体も削除される。
※ただし、ハードリンクは該当するものをすべて消さないと消えない。
※リンク削除はファイル削除と同じくrmで。


■mount
マウントされている情報を見るには/etc/mnttab

mount
umount にてマウントポイントを指定する。-f(force)で強制的
mountall
umountall
※CD-ROMを取り出すのはeject

・CDのマウント 
mount -F hsfs -r ro /dev/dskc0t6d0s0 /cdrom/cdrom0
roはRead Only、hsfsはISO9600のfilesystemをさす
※デバイスがどれか難しい。
※最初にデバイスを指定し、次にマウントポイントを指定する。

voldデーモンが動作していていないとマウントできない。
このプロセスを一度消して、再起動するとマウントされることがある。
/usr/sbin/vold & ←&を入れることで、バックグラウンドで処理。そうしないとプロンプトが返ってこない可能性があり、コマンドが入力できなくなる。
※volcheckでもできるかもしれない。
※/etc/init.d/volmgt stopとstartがSCSA的に出題されている様子。

■unzip
zipファイルの展開
unzip ファイル名
-d で展開するディレクトリを指定できる


Telnet
デフォルトでインストールされている(と思う)
サービスの起動はSMF(Service Management Facility)から
svcadm enable telnet
停止は svcadm disable telnet
Linuxなどと同様に、rootユーザからはtelnetできないので、ユーザを作る必要がある。


ftpのアクセス制御
/etc/ftpd/ftpusers ここに記載されたユーザは、FTP利用できない。(面白い。逆だよね。)
/etc/ftpd/ftphosts
/etc/shells

chgrp グループの変更。chmodのグループ版


ps プロセスの表示 -fはすべてのプロセスを表示。
pgrep psのあとにgrepするようなもの。条件を指定することで、条件にあったプロセス状態を表示する。


■KILL
SIGHUP 1 ハングアップ(再起動)
SIGINT 2 initializeではなくinterupt(割り込み)
SIGKILL 9 強制終了
SIGTERM 15 通常の終了(Terminate)

kill プロセスID
pkill プロセス名


■crontab
-e 編集
-l リスト
-r 削除(remove)


アクセス制御
・/etc/cron.d/cron.allow  ここに記載されているユーザのみがcrontabの制御を行える。
・/etc/cron.d/cron.deny  上記のcron.allowファイルが存在しない場合、ここに記載されたユーザ以外が制御できる。 REDHATでは/etc/cron.deny

■at
1回だけ実行する。

■アクセス制御
setfacl
 ファイルへのACL(アクセスリスト)を制御する
 -m オプションはModify(変更)   -x(削除)
 ;で複数の変更を並べることができる。


■プリンタ関連
・svcadmにてサービスの開始と終了を行う。
・lpadm プリンタの追加など
・lpstat LPサービスの確認
・lpmove ぷりんたのジョブを移動

■システム管理系
・kdmconfig 構成変更

・fomatコマンド
ディスクのフォーマットだけでなく、ラベル表示(Verify)、スライスサイズの変更(Partition)などが行える。
※従来のVTOCラベルに変わり、EFIラベルが用いられるようになった。

・newfs
新しいファイルシステムとの言葉通り、新しいファイルシステムを作る。
-i  iノードの指定をする。

・inode
ls -i により、各ファイルのiノード番号が表示される。
ハードリンクの場合は、iノード番号が同じで、ファイル名が異なる。

・/etc/hosts.equiv
rloginやrcpなどのリモートログインに対する制御を行う。ホスト名とユーザを管理できる。基本はノンパスでログインできるようになるはず。
ただし、このファイルよりも強いのが/.rhosts 
このファイルによって/etc/hosts.equivは上書きされると思ってよい。

・/etc/default/login
rootのログインを管理するのは、CONSOLE=部分(/dev/consoleデフォルトで、ローカルログオンのみ許可。=の後ろを空白にすると、rootからも入れない。)
SYSLOG_FAILED_LOGINS=3とすると、ログインに3回失敗した記録を残す。

・prstat
プロセスステータスという名のとおり、プロセスのステータス表示

■デバイス
・/etc/path_to_inst
物理デバイスとドライバの関連が記載されている。

・/devices/は物理デバイスで、/dev/は論理デバイス。ただ、/devは/devicesのリンク。

■バックアップ、リストア
・バックアップするには、通常であれば稼働中のものは難しい。fssnapを使うとマウント中のファイルシステムのスナップショットがとれる。それをtarやufsdumpなどでバックアップすればよい。

・fssnap -d スナップショットの削除
・スナップショットのリストアにはufsrestoreを使う。-iをつけると対話的。

■ネットワークの設定 
※設定が無い場合にはファイル自体が存在しないことが多い。
・ネットワーク設定の根本的な変更
sys-unconfig

ドメイン名の設定・・・DNSサーバの設定ではない。
/etc/defaultdomainに記載
このファイルがなかったら、ドメインが設定されていないということ
結果はdomainnameコマンドで表示される。

IPアドレスの表示
ifconfig -a

IPアドレスの設定
/etc/inet/hosts  ホスト名とIPアドレスを記載。
または、/etc/hostname.IF名 に記載。ただし、こっちの場合はHost名だけの場合もある。

サブネットマスク
/etc/inet/netmasks

・デフォルトGW
/etc/defaultrouter

DNSサーバ
/etc/resolv.conf

・名前解決の方法の決定
/etc/nsswitch.confに記載する。DNSを使う場合はnsswitch.dnsがサンプルとして置かれてある。

・ルーティング
route add 10.0.0.0 1.1.1.1 2←この値はMetric

■snoop
snoop -d ネットワークIF名 ホスト名
-o filename ファイルとして保存
-f filename ファイルを読み込む
-v    詳細表示  大文字(-V)の場合は要約
-ta 時刻を記入
port  ポート番号
host  ホスト名(またはIPアドレス)  

dumpadm クラッシュダンプ情報の管理
coreadm コアファイルの管理
metadb メタデータベースの作成

NFS
/etc/dfs/dfstab 共有するshareコマンドを並べる
/etc/vfstab
クライアントからはnfsdを使う。設定ファイルは/etc/default/nfs
rpcinfoでサーバ状態のテスト

■syslog

・syslog.conf
@loghost loghostサーバへログを転送

*.err err以上のログという意味
.none 除外する場合はnone

・logadm :Linuxでいるlogrotate
 logadmによって /var/adm/messageはローテーションされる。

LDAPクライアント
(1)設定ファイル
ldap_client_cred 認証関連
ldap_client_file LDAPの構成情報
 
(2)設定
ldapclientコマンド

NIS
NISは昔Yellow Pageと言われていた。そこで、NIS関連のコマンドにはypがつく。 ypcat、ypstartなど

■RBAC
プロファイル
/etc/user_attrの内容→/etc/security/policy.confの内容を順に検索

LDAP
1)検索
ldapsearch -h 10.1.1.1 -b 'dc=test,dc=com' uid=use1
※-hはhostを差す

2)Solarisの起動
/usr/sbin/directoryserver start
/usr/sbin/directoryserver start-admin

3)GUI
/usr/iplanet/consoleXX/startcosole


DHCPクライアントの設定
びっくりするほど簡単で、以下のコマンドにて該当するIFの空ファイルをつくる。
# touch /etc/dhcp.hme0


DHCPサーバの設定
LinuxだとISCのDHCPであるが、Solarisは独自のDHCPサーバ。この辺はLDAPなども同じ。
・dhcpmgrというGUIツールがある。これは非常に便利
CUIはdhcpconfig
・pntadm -C スコープ作成
・pntadm -p /var/dhcp -A 10.1.1.101 10.1.1.200 払い出すIPアドレスの付与

■IPMP
Solaris版のチーミング。(Redhatではボンディングかな?)
Solaris8からはリンクベースでIPが1つでよくなった。
バージョンでは検査ベースであり、IPが実と仮想とそれぞれが必要で、ICMPによる検出を行っていた。

■ルーティング
・routeadm
IP転送やルーティングの設定を行う。
-u すぐに反映
-e Enable
-d Disable
・RDSIC(Route Discovery)
・デフォルトルート
 route add default 10.1.1.1
  または、 /etc/defaultrouterに記述
・route monitorルーティングテーブルをリアルタイムに見る
・in.routedが動いている。設定は/etc/gateways

■NTP
1)NTPサーバ
 /etc/inet/ntp.confを設定
 svcadmにてntpをEnableに
2)NTPクライアント
・ntptrace
・ntpdate NTPの同期

■ndd
ネットワーク関連の状態表示や設定

■IPフィルター
Linuxでいうiptable
・Acitiveなフィルタリングルールを見るには ipfstat -io
・ipf -Fa フィルタリングルールの再読み込み
・ipf -f /etc/ipf/ipf.conf フィルタリングルールの読み込み
・pass in quick from ・・・ ※quickがあると、そこでおしまい。通常のFirewallと同じ。quickがなければ最後のルールまで読まれ、おそらくもっとも厳しいルールが適用される