忍者ブログ
SE稼業で見知った小ネタをまとめてみます。 サーバ・ヲタなので、主にそっち系のTipsを。
[11]  [10]  [9]  [8]  [7]  [5]  [4]  [3]  [2]  [1
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前提:
    サーバ⇒        HP Integrityシリーズ(石=Intel Itanium2)
    OS⇒          HP-UX B.11.23 ia64      (`uname -srm`の結果)
    Cコンパイラ⇒  HP C                    (/opt/ansic/bin/cc)
    OS標準パッケージ⇒
        perl            (/opt/perl/bin/perl                 v5.8.3)
    プリインストールしておく外部パッケージ⇒
       
GNU make        (/usr/local/bin/gmake               v3.81)
    ソースとダウンロード元⇒
        termcap-1.3.1.tar.gz        
          ← 
http://aist.ring.gr.jp/pub/GNU/termcap/
        tcsh-6.14.00.tar.gz         
          ← 
http://www2.wbs.ne.jp/~znc/tcsh/index.htm
        tcsh-6.14.00.add.tar.gz     
          ← 
http://www2.wbs.ne.jp/~znc/tcsh/catalogs/index.htm
        man-pages-ja-tcsh-20060815.tar.gz
          ← 
http://www.linux.or.jp/JM/download.html

 

謝辞:
    《Ring Server Project》
    《tcsh日本語オリジナルカタログ配布ページ》
    上記URLには、
    いつもお世話になっております。

 

はじめに:
‘凡庸’はtcsh使いである。
他のシェルでは開発効率が落ちるので、
(ぶっちゃけ、tcsh以外は使いにくいので)
今回利用するHP-UX11i v2 にも入れることにした。

最初、
 《Porting And Archive Centre For HP-UX》

から
tcsh-6.14.05のdepot をダウンロードしてインストールした。
が、
使ってみると、
以下のようなエラーメッセージが出てしまい、
viエディタやlessページャが美しく動かない。

    % tcsh
    tcsh: No entry for terminal type "vt100"
    tcsh: using dumb terminal settings.
    >

どうやら、
端末を正確に認識できないらしい。
TERM環境変数には“vt100”ってしてあんのにぃ!
アホッ!!

これより少し脱線。
    VT100という端末、
    20年前の現役製品のころに使ってました。
    今は無きDEC社の端末ですが、
    入社後の新人研修のときに利用しました。
    さすがに、
    配属されてからは漢字表示される端末(VT52とか)使いましたが。
    あぁ、
    懐かしいなぁ。
    ちなみに、
    VT100 で接続してたサーバは、
    名機VAX-11/780 !!!
    そして、
    名OS、VAX/VMS!!
    懐かしすぎて熔けそう。

    エスケースシーケンスをコマプロにがりがり書き込んでいた
    若かりし自分が少し恥ずかしいな。
    何も知らんガキやったし。
元に戻ってっと。

 

というわけで、
久し振りに
tcshをコンパイルしてみよう。
ついでに、
関西弁カタログでメッセージが出るようにしよう。

 

手順:
1)GNU termcapライブラリ をインストールする
    HP-UX で
    素のままtcshをビルドすると、
    標準の‘/usr/lib/hpux32/libxcurses.so.1’ がリンクされる。
    これだと、
    tcsh起動時に
    「vt100 なんてターミナル、知らねーよー」
    とかぬかしくさる。
    Webで状況をググると、
    GNU libtermcapなら問題ないらしい。
    ので、
    そうする。

    ソースのtarボールを適宜解凍し、ビルド。
        # gzcat termcap-1.3.1.tar.gz  | tarx xf -
        # cd termcap-1.3.1
        # CFLAGS="-z +Z -Y"; export CFLAGS
        # ./configure
        # make
        # make install

    /usr/local/lib/libtermcap.a が出来てる。

    あぁ、幸せ(その1)。

 

2)tcshのソースを解凍し、各パッチを適用
    ビルドする前に、
    関西弁カタログを使えるようソースにパッチを適用する。
        # gzcat tcsh-6.14.00.tar.gz     | tar xf -          ←オリジナル
        # gzcat tcsh-6.14.00.add.tar.gz | tar xf -          ←関西弁カタログの入ってるパッケージ
        # cd tcsh-6.14.00.add
        # sh ./merge.sh
            ・
            ・
            ・
        # cd ../tcsh-6.14.00
        # CFLAGS="-Ae -z +Z -Y -g"; export CFLAGS
        # LDFLAGS="-Wl,+n"; export LDFLAGS
        # ./configure

 

3)手で変えないといけない設定をする
    tcsh-6.14.00/README の手順に従い、config*.h を加工。
        # cp -p config/hpux11 ./config_p.h
        # vi config_f.h
            ※  72行目、‘NLS_CATALOGS’マクロを有効(#define)にする。
            ※  82行目、‘VIDEFAULT’ マクロを有効(#define)にする。
            ※ 183行目、‘COLORCAT’マクロを有効(#define)にする。

    それから、
    Makefile内、
    cursesライブラリをリンク指定する箇所を書き換える。
        旧) 167行目、“LIBES= -lcurses -lsec”
                        ↓↓↓
        新)         “LIBES= -L/usr/local/lib -ltermcap -lsec”

  これは、ちっと、反則技かも。。。
  ま、
  makeでけたら、ええねん ♪

 

4)ビルドしてインストール。
        # make
        # make install

    /usr/local/bin/tcsh ができてる。

    かなり、幸せ(その2)。

    カタログファイルは、以下のようにして手で置いた。
        # mkdir /usr/local/share/locale/tcsh
        # cp -p tcsh.*.cat /usr/local/share/locale/tcsh/
 
   すごい、幸せ(その3)。

 

5)“$HOME/.tcshrc ”を用意する
    T-CShell固有の定義をする初期化スクリプトを作る。
    ‘凡庸’は以下の構成で運用する。
        #
        setenv NLSPATH /usr/local/share/locale/tcsh/%N
        set catalog=ja.kansai.cat
        #
        source $HOME/.cshrc
        #
        set autologout=1800
        set dspmbyte=euc
        bindkey -v
        set prompt = "\[%n@%m %! %c\] % "
        #

    “$HOME/.cshrc ” は以下のようになってる。
            ・
            ・
            ・
        if ( $?prompt ) then
          eval `tset -s -Q `
          stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" hupcl \
            ixon ixoff tostop \
            -istrip -parity
            ・
            ・
        endif
            ・
            ・
        setenv LANG ja_JP.eucJP
        setenv EDITOR vi
        setenv PAGER less
        setenv LESSCHARSET koi8-r
            ・
            ・
            ・

6)manページを日本語化
Linux向けに翻訳されているmanページを、
HP-UXにも入れてみる。

  # gzcat man-pages-ja-tcsh-20060815.tar.gz | tar xvf - 
  # mv man-pages-ja-tcsh-20060815/man1/tcsh.1  /usr/local/man/man1/
  # rm -f man-pages-ja-tcsh-20060815
  # man -M /usr/local/man  tcsh

 おぉ、ちゃんと見れるやん。
(当たり前だのクラッカー)

ちょい古いめのバージョンの内容だが、
気にするな。

使ってみる:

  # tcsh
  # sssss
  sssssというコマンドはないで~
  #

これで、
HP-UX でも
T-CShellが使えるようになった。

あぁ、
最高に幸せ(heart)

 


何ゆーてんのん?!
ホンマ、キモイわ     < 妻 (-_-;)

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
お見えになった方の数
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新CM
[08/30 godnowhere]
最新TB
プロフィール
HN:
godnowhere
性別:
男性
職業:
システム・エンジニア
趣味:
機械いぢり
analyzer
忍者ブログ [PR]