Solaris

指定した日に更新されたファイルを探す

いつもの通り、OSはSolaris 9 です。 Linuxではlsコマンドに「--full-time」というオプションがあるが、Solaris標準のlsにはない。また、findの「-mtime」オプションで探そうにも、2008年1月1日が何日前なのか知らないと使えない。そして、Solarisにはstatコ…

Solarisで1970年1月1日からの日数を表示するコマンド

GNU版のdateとかだと、+%sで1970年1月1日0時0分0秒からの秒数(エポック)を表示できるが、Solarisの純粋な環境だとこれが出来ない。パスワードの有効期限があと何日かを知りたいときにはちょっと不便。そこで、無理やりこんな1行コマンドを作ってみました。…

メモリ不足の指針

OSのメモリが足りるかどうか判断するのに、空きメモリ(freemem)を確認するのは非常に有効な手段だ。しかし、他にも「OSがメモリを探している」動作を確認するすべはある。それがpgscanを確認する方法だ。pgscanとはOSが空きメモリを探している(走査している…

シェルスクリプトで標準入力を一文字ずつ読み込む方法

シェルスクリプトで対話式のツールを作っていると、標準入力を一文字ずつ処理したくなることってありますよね。そんなときはこれを使えばOK! 注意すべきことは、bashの組込コマンドとしてのread特有のオプションだということ。 # read -s -n 1 CHAR これを使…

ターミナルの任意の位置に移動する

シェルスクリプトを書いていると、「毎回20行目にフッタを表示させたい」なんてことがたまにあります。そんなときは、echo制御の出番です。 # echo -n "^[[20;1H" これで20行目の1文字目に移動します。ちなみに"^["はエスケープで、「Ctrl + v → Esc」の順に…

lessで日本語を表示すると文字化けする

Solaris 9 環境でLANG=ja_JP.PCKにして使用しています。テキストファイルをviなどで編集(作成)すると、SJISで保存されます。lessで表示すると文字化けしてしまう、という問題です。 これは以下の環境変数で回避することが出来ます。 LESSCHARSET=dos また…

logadm.confのデフォルトコンディション

/etc/logadm.conf にて、ログの切替定義ができるが、デフォルトでは以下のような設定がされている。 パラメータ 値 意味 -s 1b ゼロバイト以外なら切替の対象とする -p 1w 前回の切替より一週間以上経過していれば切替の対象とする また、logadm.confでは-S…

クライアントプロセスが使うポート

サーバプロセスはポートを指定してListenしますが、クライアントプロセスはOSから動的に割り当てられます。Windows的には一時ポートとか動的ポートといいますが、ネットワーク屋さん的にはエフェメラルポートといいます。ネットワーク屋さん的なポート割付 1…

セマフォの使用状況

Solaris9でシステム全体のセマフォ数がいくつ使われているかを確認するには以下のコマンドを実行する # ipcs -sa 実行結果のうち、NSEMSの数字を合計した値が、現状の使用量。 システムパラメタのsemmnsの値はこれを上回るように設定すれば良い。