過去ログ(4)
※ITの仕事を始めたころの大昔のログに付き、現在はおそらく役に立ちません。
Tips-Crossing過去ログ(4)
**kterm-6.2.0のインストール(2003/08/28)
入手先
ftp://ftp.hipecs.hokudai.ac.jp/pub/X11/contrib/applications/kterm/
インストール
# gunzip -dc kterm-6.2.0.tar.gz |tar xvf –
# cd kterm-6.2.0
# /usr/X/bin/xmkmf -a
※ここで作られたMakefileを使用して、/opt/sfw/bin/gccでMakeしようとしても
うまくMakeできない。Webからの情報でMakefileの以下を修正する。
CC = /opt/sfw/bin/gcc
# CDEBUGFLAGS = -xO3
> # CCOPTIONS = -Xa
# make
# make install
–コマンド実行後メッセージ ここから
/usr/ucb/install -c -m 4755 kterm /usr/openwin/bin/kterm
/usr/ucb/install -c -m 0444 KTerm.ad /usr/openwin/lib/X11/app-defaults/KTerm
install in . done
――ここまで
インストール先が/usr/openwin/bin/ktermだということが分かる。
起動時に、
> kterm ?sb ?km euc(スクロールバー付き、漢字モードeuc)
と打てばeucの日本語表示が可能になるが、defaultでeucにするには、
/usr/openwin/lib/X11/app-defaults/KTermに以下を追加(もしくは既に項目があれば変更)
KTerm*VT100*kanjiMode: euc
※Tips kterm上でctrl+マウスの真中、ctrl+マウスの右側でktermのsetting可能
**tarでシステム関連のファイルを固めるとき(2003/08/29)
例えば/usr/localをまるごとコピーしたいときなど。
単にcpを使うとパーミッションの問題でいくつかのファイルがコピーできません。
# /local/gnu/bin/tar -cvPf /export/home/hoge/local.tar?exclude=/usr/local/SWAP?exclude=/usr/local/samba /usr/local
Pオプションは絶対パスでアーカイブ(頭の/をとらない。defaultでは/を取ってしまうらしい)、
–excludeは除外するファイルまたはディレクトリを指定するオプション。
解凍時は圧縮時に用いたtarと同じtarを使用すること。
**pkgaddのインストール先を変更する(2003/07/14)
bash-2.05$ more /var/sadm/install/admin/default
#ident “@(#)default 1.4 92/12/23 SMI" /* SVr4.0 1.5.2.1 */
mail=
instance=unique
partial=ask
runlevel=ask
idepend=ask
rdepend=ask
space=ask
setuid=ask
conflict=ask
action=ask
basedir=default
ここのbasedirを/opt/localなどに変更して
適当なファイル名(例えばoptlocalで保存。
#pkgadd -a /var/sadm/install/admin/optlocal -d (targetpackcage)
で好きなところにインストールできる。
**文書形式あれこれ(2003/03/03)
diffの使用例
diff -Naur A B
+ BファイルにはあるがAファイルにない
- AファイルにあるがBファイルにはない
改行コードを調べるコマンド
od -cx sample
表示される文字列の中に¥nなどの文字列が表示されるので
どの文字列を使用しているかが分かる。
perlでsample1のWindows改行コード¥r¥nを空白に置換し、sample2へリダイレクトする。
perl -pe 's/¥r¥n/ /’ sample1 > sample
空白の部分を¥nにすればWindows改行コードをUnix改行コードに置換し、
Unixで使用することができる。
UNIX LF JIS,EUC,(ShiftJIS)
Windows CR+LF ShiftJIS
Macintosh CR ShiftJIS
ちなみにWindowsではterapadというeditorで置換対象に改行コードを含めることができるので
便利です。
**Solarisでのswap領域の追加の仕方(2003/03/03)
Solarisで最初に設定したswap領域が足りない場合、
swapをファイルとして作成し、後から追加することができます。
#mkfile 1000m /swapfile #/にswapfileという名前のswap用ファイルを作製
#swap -a /swapfile #作製したswap用ファイルを有効化する
#swap -l #現在有効になっているswapの確認
一時的に利用するならこれでOKですが再起動すると、
無効になります。起動時にも自動的に有効にするには
/etc/vfstabに以下の記述を追加します。
/swapfile – – swap – no –
**dmesgのHDのエラー場所を特定する(2003/03/03)
例えばdmesgで/pci@1,0/pci9001,a100@8/sd@0,0に障害があると出ていた場合。
ls -la /dev/dsk | grep “/pci@1,0/pci9001,a100@8/sd@0,0″ |more
とうつと、C0t0d0s0の形式で出るので場所がかなり特定できる。
そのものずばりのファイルがどこかにあるとは思いますが・・・
**mod_perl組み込みメモ(2003/02/24)
※apacheはDSO対応でインストールしておく ./configure –enable-module=all –enable-shared=max などで。
$ tar xzvf mod_perl-x.xx.tar.gz
$ cd mod_perl-x.xx
$ perl Makefile.PL ¥
USE_APXS=1 ¥
WITH_APXS=Apacheインストール先/bin/apxs ¥
EVERYTHING=1
$ make
$ su
Password:
# make install
webminのapacheでmod_perlモジュールを有効にする。
またはhttpd.confのLoadmodule、Addmoduleを追加する
httpd.confに以下のような記述を追加して、mod_perlをApacheで使用する。
PerlModule Apache::Status
SetHandler perl-script
PerlHandler Apache::Status
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
**apacheが起動しない(2003/02/24)
apacheが起動せず以下のerrorが出る場合、
[Sat Feb 22 23:49:34 2003] [alert] mod_unique_id: unable to gethostbyname
httpd.confのservernameを書いていても上のようなerrorが出る場合、
/etc/nsswitch.confのhostsで「files」が書いてあることを確認する。
これを書いてあることで、/etc/hostsを参照し、servernameを特定しているような気がする。
私の場合、webminで設定する途中でdnsのみにしてしまい、
filesの記述がなくなったことで上記のerrorが出ていたと思われる。
webminはとても便利だが、confファイルの変更内容が時々分からなくなるので注意。
Solarisにftpができない時(2003/01/20)
特にセキュリティをかけてもいないのにSolarisにftpが失敗してしまうときは
/etc/shellsにログインしようとしているuserのshellが書かれていないことが
原因であることを疑ってみよう。
/etc/shellsファイルに
/bin/sh
/bin/cshなどを書けばOK。
**Solarisで1TB以上のディスクを認識できない時の回避方法(2003/01/19)
1TB以上のストレージディスクをSolarisにつなげても認識できない場合がある。
これはOSの仕様らしい。disksuiteでDISKを一つずつつなげる場合でも
1TBを超えると構成できない。
今回使用することになった某T社SCSIストレージではハードウェア
で1.2TBを超えるRAID5が構成されていた。
この場合の回避策はストレージを分割し二つにするというもの。
一つは1TBを超えない範囲でRAID5を構成し(その時は余分なDISKを抜いておく)
一つは残りのDISKを拡張という形でまとめたもの(RAID5ではなく単に複数のDISKを一つに
まとめた形)。
solarisからはそれぞれlun0、lun1という形で600G,500gの容量で認識される。
ただ、拡張分の方をDISKを認識させるには
/kernel/drv/sd.confに
name="sd" class="scsi" target=0 lun=1という記述を追加しなくてはならない。
(target番号は調べておく)単に記述を追加するだけでよい。
これでDISKを認識できたもののnewfsが失敗してしまう。
errorメッセージを見るとmkfsを実効しなさい云々を書かれているので
次のように実行したらできた。
mkfs -F ufs -o fragsize=8192 /dev/rdsk/c2t0d0s2 1447415190(formatでそのデバイスを見た時に表示されるスライス2のブロックサイズ)
デバイス名と指定するブロック数は各自の環境で調整してください。
fragsizeもそれぞれで違うかもしれません。
s**olarisのCDをNFS共有するときのdfstabの書き方(2003/01/19)
share -F nfs -o ro /cdrom/cdrom0
これを/cdromだけで止めてしまうとcdromの中の最初のディレクトリは見えるが
その下は空っぽになっている。
nfsを再起動する。
/etc/init.d/nfs.server stop
/etc/init.d/nfs.server start
solaris8コンソールインストールした時に
softwareの2やlanguageを後でインストールしてしまうと、
別のsolaris上のXにDISPLAYをexportしなければインストールできなくなる。
コンソール上でinstallerを起動してもerrorがでてしまう。