物理の(理論の)研究者の道具を Linux に備える仕方の一例
(この文書は書きかけです。⇒1990 年代半ばの記事です)
1. はじめに
偶然 Web上で
物理の(理論の)研究者の道具を Windows95/NT に備える仕方の一例
というページを見つけたので、パロディとしてこんなページを
作ってみました。実はわしは昔、上の清水先生の講義をとっていたりして
恐縮なのですが。。
以前、上のページと似たような観点から、つまり理論物理の研究室に
入っていきなりネットワークの管理者にされたらどうすればいいのか、
というページを書いていました。それは SunOSのワークステーション
と Windows マシンの連係が話題の中心でした。
必然的に SunOS はネットワークサーバとして、Windows は
デスクトップマシンとして役割分担するわけですが、Windows の
Look & Feel をなるべく UNIX に近付けるために
Window Manager を改良したり(ただ単にデスクトップ操作の常駐ソフトを
組み合わせていくのですが)、 TeX を入れたり、 gnu のコマンドを入れたり、
NFS が使えない(NFSの製品は高い)から SAMBA を入れたり、と
結構虚しい努力をしたものです。
現在の Linux では、これらがあらかじめ入っています。
備えるもなにも、という感じ?といったら言いすぎですが。
入っています、というのはバイナリやライブラリやドキュメントが
所定のディレクトリにインストールされているという意味で、
当然設定はしなければなりませんが、なんとなくインストールした
だけでも、たとえば gnuplot も TeX も ghostscript も入っていたりして、
理論物理屋の観点からは圧倒的に出始めのポテンシャルが Windows よりも
高いと思います。
Linuxを導入してから何をするの?
という質問を net news などで見ることがありますが、あなたがもし
理論物理屋を目指す若者なら、何も迷うことなく、
物理の(理論の)研究者の道具として
使うんだと言えるわけです。Linuxユーザに占める理論物理屋の相対比が
下がって来ているので、こういう記事やWebページが目立つことが
少なくなっていますが、理論物理屋には Windows はもう要らないと
言えるくらい Linux の環境は充実していると思います。
実際、国際学会に行って貧乏な国の研究者の発表を聞くと、Linux で
計算したんだという人がかなりの割合でいます。
ということで、このページには主に、 Linux BOX のインストールが終ってから
個別のアプリケーションソフトを使いはじめるまでにわしがしたことについて
まとめます。OSのインストールの記事は沢山ありますので。
2. どうせ一生計算機とつき合うんだから。。
Linux の導入をためらう大きな理由として、"Windowsの方が簡単だ"という
理由が挙げられるでしょう。この簡単には、きっと様々なレベルがあって
・買って来たパソコンに Windows がインストールされていた
・使いたいハードウェアが Windows にしか対応していない
という、OSのインストールにまつわるものから、
・UNIXコマンドの使い方がよくわからない
・Windowsを使って解説している解説書が多い
・身近な人が皆 Windows を使っている
・なんとなく楽しそうなWindows用ソフトがネット上に転がっている
といった、ソフト面での使用感に基づくものもあります。
もう一つ、最近話題の
・企業によるサポートがLinuxでは整っていない
という点については、理論物理屋にはそれほど重要ではないと思います。
何故なら、上のページに書かれているようなフリーウェア
(その一部がオープンソースです)には
ほとんどの場合企業によるサポートがあるわけではないし、
それにも拘らずフリーウェアが便利だからという理由で使われているからです。
しかも、最近ではたとえばビジュアルテクノロジー社の営業の方が
研究室にいらっしゃいますが、Linuxのサポートをする企業も沢山あります。
やはり、最大のハードルは
・UNIX はなんとなく難しそう
という意識だと思います。確かにUNIXは難しい。もうこれは、初心者の方の
質問に答えるということを繰り返した上での実感です。
でも、Windows だって難しいじゃないか、という議論をする方もいます。
確かに、それも真実だと思います。これは結局、ハードディスクの管理を
しはじめると、なんでも難しいということだと思います。ということで、
結構真面目にわしはiBOXを
お勧めします。パソコンを使うこと自体に発狂しそうになる人には。
理論物理屋は生きているだけで計算機マニアになる確率は高いですが、
だからといって、特定の機種、OSに束縛される必要はないと思います。
計算機の専門家と違って、便利なものは便利に活用していくという
スタンスで生きて行くことが許されるのだということです。
アンチ○○などと言う立場で特定のOSを使っていたら、
競争に取り残されるだけでしょう。
それでも、UNIX を使う人が多い理由は、単に便利で、仕事をこなす上で
有利だからに他ならないと思います。
でも、Linux は、使う人に努力を求める。学習しなはれ、と。
金を払っても製本されたマニュアルが手に入らない場合も多くあります。
Linuxマニア度が高まってくると、Linuxと書かれた本はなんでも買いたく
なってくるし、朝起きたら fj.os.linux 以下を見に行くし。
でも、ここで自分が理論物理屋だということを思い出すと、
一生なんだかんだいって計算機とつき合わなければならないことに
気が付きます。理論物理屋はきっと、研究室に一人ということで
孤独になることもあるでしょう。
そんなとき、ソフトが動作する原理がわけわからん状態のまま
明日は使えなくなる Windows を使うのと、基本的な原理というか思想を
理解しなくては使えないが 30年も使われている UNIX を覚えるのと、
どちらがトータルでお得かということを考えてみるべきだと思います。
3. 具体的に比較する
で、次に上のページで紹介されている方法と Linux BOX を
セットアップした状態での比較をしてみます。
あくまで、現在わしが日常的に使っているソフトを中心に書いています。
これらは、Plamo Linux
あるいは Slackware + PJE をインストールした状態で
使えるソフトばかりです(そうでないものについては注釈を書きます。)
個人的な好みですが、Plamo Linux の CD-ROM が一般に入手出来なかった
頃は Slackware + PJE を用いましたが、今では Plamo Linux の方が
日本語化の度合が高いし、中身は Slackware + PJE に様々な
アプリケーションを付加した形なのでお勧めかと思います。
Plamo Linux の CD-ROM を入手して一番安心したのが、
/(cdrom)/AT/doc/
以下にある日本語の文書が充実していたことでした。
これを丁寧に読むことでインストールやカーネルのコンパイル
から通常のプリンタのセットアップまで
行うことが出来ます。また、トッパンから Plamo Linux 1.4 の CD-ROM を
含んだ Linux インストールキットが3月半ばに発売されたようです。
物理の研究室などで自由につかえるAT互換機(98版Plamoもあるけど)があって、
自由な時間が比較的多くあって、
人の目を気にせずソースをいじりながら好きな環境を構築していきたい人に
うってつけのパッケージだと思います。
Debian や RedHat系(TurboLinuxなど) のパッケージにしなかった理由は、
第一に最初に出会ったパッケージが違ったというだけの理由ですが、
もう一つ、トラブルが起こったときにパッケージ化したときに問題が
あったのか、もとのソースに原因があるのかを切り分けるのが面倒
だったからです。まぁそれにしても、以下のように比較すると、
インストールした段階で非常に使いやすくなっていることがわかるでしょう。
- エディター
わざわざ Mule for Windows あるいは meadow をインストールしなくても、
Mule が使えます。エディタは他にも山のように入っているのですが、
用途によって段階的に使い分けることができます。
普段のプログラムを書いたりTeXの原稿を書いたり、メールを読み書きする
のには Mule (GNU Emacs,XEmacs) を使っています。
ホームディレクトリ以下にないファイルを書き換えるときは
su して root になるわけですが、mule の起動を待つ(一瞬+αなのですが)
のがかったるいので
vi(jvim) や ng を使っています。vi も使えないような厳しい状況では ed を
使います。
参考記事:
- LaTeX
pTeX が PJE に最初から入っています。
- Ghostview/Ghostscript
X Window 版は Ghostview よりも gv の方が見栄えがいいですし、
Ghostscript はもともと入っています。わしは後から Aladdin Ghostscript
5.10 を追加しました。
- PS ファイルへの変換ツール
pstools がPlamo Linux の contrib にあります。
UNIX で使われるアプリケーションの99%はポストスクリプトへ画像や文書を
保存することが出来ます。
- 英語辞書
edic を mule に仕込みます。わしは研究社の 英和和英辞典を
ハードディスクにコピーして使っています。
他にも、同義語辞書 Roget 、スペルチェック ispell を使っています。
これらは emacs の環境があれば使えるものですが。
- Web browser
Netscape communicator だけは、後からインストールする必要があります。
参考記事:
- 電子メールを読み書きするために、Winbiff か、Becky
これは、Mew と im がPlamo Linuxに入っています。
Mew,im,Xbiff,fetchpop,mclock
- 最近増えてきた、PDF ファイルを見るためにAcrobat Reader
gv + gs5.10 で見ることが出来ます(日本語の文献も)。
PDFリンク集
- PS, PDF 以外のフォーマットの図版を見るために、IrfanView
xv ImageMagic GIMP
- ファイルを解凍するために、WinZIP と、Lhasa
tar ,bzip ,unzip ,lha これらに GUI を付加した GuiTar なども
あるようですが、手が CUI に慣れているので使っていません。
- Telnet をするために、TeraTermPro
kterm telnet rlogin ssh
- FTP をするために、WSFTP (light edition)
テキストファイルの編集には ange-ftp ですが、その他 Windows で
WSFTP を使うような用途には ncftp で十分です。そうでなくても、
Midnight Commander などのファイラーに Ftp 機能が付いているものが
あります。わしもちょっと使っている TkDesk の Look & Feel は
WSFTP に似ていますが、TkDesk の方が高機能でしょう。
- PCの時間を正確に保つために、桜時計
ntpdate,hwclock,clock,date,/sbin/time
4. 孤独なLinux BOX は ただのLinux BOX
4.1 はじめに
Linux BOX をネットワークに繋げる理由は、他のPC(WindowsやMac)
を使う上でのものと同じような用途(telnet,ftp,メール)もありますが、
Linux の底力を実感出来るのは nfs や X Window system、 rsh、rlogin といった
ネットワーク対応のソフトがもとから入っていることでしょう。
hackとは、もともといい加減な仕事、という意味だそうですが、
偉大な hacker のおこぼれに預る一般ユーザとしては、是非ともその精神を
受け継ぎたいものです。つまり、Linux BOX を最初に使いはじめる場合、
ほとんどの役に立つソフトはバイナリーで入っているわけですが、
使いたいソフトをソースからコンパイルすると失敗する場合もあります。
そこで、自分がアカウントを持っている他の UNIX マシン
(そこは優秀な管理者が管理して下さっていたりする)の資源を
使わせていただくわけです。
わしの経験を例にとると、xcolorsel という X window の色のリソースを
見る便利なユーティリティソフトがあります。わしの Linux BOX の
X window system は bpp が 16 つまり 65536 色で立ち上げているのですが、
bpp=8 つまり256色モードでしか使えないとおこられました。
そこで、近くの教育用計算機センターの xcolorsel なら bpp=16 でも
対応しているだろうということで、
rsh -l USERNAME REMOTEHOST " exec xcolorsel -display LOCALHOST:0.0
< /dev/null > & /dev/null "
|
とすると、自分の Linux BOX の X window で REMOTEHOST の
xcolorsel を使うことが出来ました。
これは、rsh と X window system を組み合わせた例です。
よく使うホストは、自分の側 X Window を起動するとき (.xinitrc) に
xhost REMOTEHOST
を入れておいてもいいかと思います。
X window の画面で見る全てのソフトがこのように動いていると、
X 端末だということになりますが、資源の共有が
Windows95 のように
「ディスクとプリンタの共有」なんてレベルじゃないということです。
4.2 とりあえず nfs でホームディレクトリを共有しておく
自分が自由に使える UNIX マシンが複数台ある場合、
マシンの数だけホームディレクトリがあるのは結構なことですが
書きかけの論文やメールといった文書の類が分散するのは
いろいろ不便なことがあります。かといって、学校や企業の計算機室で
行われるようにホームディレクトリをファイルサーバ一つに固定して
それを使うのは、わざわざ機能や性能の異なるマシンを混在させる
ためにはあまり得策とはいえないかと思います。
nfs でマウントしたディレクトリのもとのファイルを読み込んだり
書き込んだりするのは、多少時間が余分にかかるため、速度を期待する
作業には向いていないことも理由の一つです。
ということで、共有したいディレクトリは共有してしたくない
ディレクトリはそのまま各マシンに分散させてわしは使っています。
今回の例では
Linux BOX と Solaris の2つのワークステーションを自由に使えるとします。
Solaris 側はネットワークサーバにして、Linux BOX は手元のマシンです。
Solaris マシンは常時電源を入れておきますが、Linux BOX はなんとなく
研究室にいる間だけ電源を入れています。
Linux BOX のホームディレクトリで実現したいのはこんな状況です。
$ l
Mail@ bin/ local/ pr@ src/ test@ txt@
l というのは tcsh で ~/.cshrc に alias l ls -F と書いているため、
ls -F と同義です。
- Mail@ は Solaris 側に置いているメールディレクトリです。Linux BOX から
Mew と im を使ってメールを読み書きします。Linux BOX の電源が入っていな
いときでも、外部から telnet したりして
メールの読み書きが出来るように Solaris 側にも Mule や Mew が
インストールされています。
- bin/ には自作の sh や perl や sed や awk や ruby のスクリプトや
自作の簡単なバイナリーのソフトを入れています。
- local/ には、Linux BOX ローカルで使いたいファイルを置いています。
- pr@ には、開発中の数値計算のソースなどを置いています。これは
性格的に共有したほうがいいので Solaris 側に本体を入れています。
- src/ には、Linux BOX のためのソフトのソースがたんまり入っています。
これを共有しない理由は、Solaris側ではSolaris 側のソフトを入れて
おきたいからです。
- test@ 以下には、この Webページの本体などを置いています。
これも本体は Solaris 側にあったほうがいいでしょう。
- txt@ 以下には、論文などの文書を入れています。これも当然
共有します。
$ cd とホームディレクトリに戻ってから
$ l
としたときに、一行に収まるのが好きです。
ホームディレクトリ直下がごちゃごちゃしているのは気持ちよくないと
思うので。
4.3 Solaris マシンで nfs サーバを使えるようにする
docs.sun.com NFS の管理
Solaris2.3 の説明ではないのですが、
これを読みながら設定をしたら、すんなり設定できました。
最初に、ディスクを使わせてあげるエントリを /etc/dfs/dfstab に書きます。
share -F nfs -o rw=LinuxHOST -d "home dirs" /home/USERNAME
share -F nfs -o ro=LinuxHOST -d "mail dirs" /var/mail
share -F nfs -o ro=LinuxHOST -d "info dirs" /usr/local/info
|
LinuxHOST はディスクを使わせて貰うクライアントの Linux側のホスト名です。
ホスト名は/etc/hosts にIPアドレスとの対応を書いたものを使っています。
ホームディレクトリ以外は ro (read only)にしています。
/var/mail はメールスプールをクライアントから見られるようにして、
/usr/local/info はクライアントとサーバの mule が使う info を
同じものにしている例です。もっとも、メールスプールはクライアントから
nfs で書き込みを行うと最悪の場合消えてしまう場合があるので、
わしは クライアントの biff がこのファイルをチェック出来るようにだけ
していて、実際にメールを取ってくるのはクライアントのMew から起動される
imget コマンド(POP3を使う)にしています。
# /etc/init.d/nfs.server stop
# /etc/init.d/nfs.server start
|
で、上のコマンドでデーモンを起動します。
4.4 Linux BOX で nfs クライアントを使えるようにする
Linux BOX で nfs を使うための文書は
NFS HOWTOがあります。クライアント側の設定は /etc/fstab で行います。
上のようにサーバを設定した場合、たとえば次のようになります。
SolarisHOST:/home/USERNAME /home/USERNAME/.SolarisHOST nfs rw,rsize=1024,wsize=1024,hard,intr,exec,user,noauto 0 0
SolarisHOST:/var/mail /var/spool/mail1 nfs ro,rsize=1024,hard,intr,user,noauto 0 0
SolarisHOST:/usr/local/info /usr/local/info nfs ro,rsize=1024,hard,intr,user,noauto 0 0
|
SolarisHOST は、上の nfs サーバの Solaris マシンのホスト名です。
4つめの項目のオプションは fstab の man や NET3-HOWTO 文書を参考に
しました。rsize=1024 などのように読み書きのブロックを設定しているのは、
私が使っているISAバスのネットワークカードは非力なので
ときどき nfs を経由した読み書きのエラーが発生したからです。
クライアントの Linux BOX 側にあらかじめ /home/USERNAME/.SolarisHOST,
/var/spool/mail1 といったマウントポイントは作っておきます。当然前者は
一般ユーザで、後者は root で mkdir を行います。
前者を .SolarisHOST としている理由は、単に好みの問題ですが
こうしておくと
ln -s ~/.SolarisHOST/Mail ~/Mail
|
などとシンボリックリンクを張っていくことによって、
上に述べたような Linux BOX のホームディレクトリを構成することが出来る
からです。
こうして設定した上で、X window を起動させるとき
(xinit の wrapper を使っていますが)に
これらが自動的にマウントされるようにします。
OSの起動時や、ログインしたときにそうなるようにしていない理由は、
nfs に何らかのトラブルがあった場合に面倒だからです。
具体的には ~/.xinitrc に以下の項目を付け加えます。
mount /var/spool/mail1 &
mount ~/.SolarisHOST &
mount /usr/local/info &
mount /dosd &
|
/dosd (LinuxBOXのWindowsで使っているホームディレクトリ)もついでに
このときにマウントしています。Plamo や Slack を通常にインストール
した場合、/etc/fstab に DOS パーティションのエントリを加えると
OS の起動時に mountd がマウントしてくれますが、それだと
root 権限でしか書き込みが出来ないので、自由に読み書き出来るように
user でマウントしています。
5. 出来るだけ簡単にリモートホストにログイン出来るようにしておく
Plamo Linux をなんだかんだいって苦労しながらインストール出来たら、
X window system が使えるようになっている筈です。で、デフォルトの
window manager は after step です。ホームディレクトリの下に
.cshrc (bash の場合は .profile )や .steprc,.Xdefaults,.xinitrc
などが出来ている筈ですが、わしは慌てていたので全部自分で書いたものに
置き換えてしまったので、デフォルトがどうだったかはすっかり忘れて
しまいました。で、UNIX は端末に始まり端末に終るということで、
X 上で端末エミュレータの使用感が悪いとなんとも嫌なものです。
それから、複数あるリモートホストの使用感もなるべく自然に
使えるようにしたい。日本語が通る端末エミュレータは kterm や
rxvt などがあります。軽いので kterm ばかり使っています。
もっとも、Plamo Linux でWebブラウザの lynx やセットアップの
プログラムを使うと kterm では正常に表示されないので、 rxvt を
使っています。
kterm の動作は ~/.Xdefaults の以下のようなエントリーで決めています。
! 何行保持するか
KTerm*VT100*SaveLines: 512
! 文字の色
KTerm*VT100*Foreground: ivory1
! 背景の色
KTerm*VT100*Background: black
! スクロールバーを入れる
KTerm*VT100*scrollBar: true
! スクロールをキーボードから行う設定
KTerm*VT100*Translations: #override \
Ctrl Left: scroll-back(1, halfpage)\n\
Ctrl Right: scroll-forw(1, halfpage)\n\
Ctrl Up: scroll-back(1, line)\n\
Ctrl Down: scroll-forw(1, line)
! デフォルトの行数
KTerm*VT100*Height: 35
! kinput2 でホイールマウスを使ってスクロールする設定
KTerm*VT100*translations: #override \
Shiftspace: begin-conversion(JAPANESE_CONVERSION) \n\
: scroll-back(1,halfpage) \n\
: scroll-forw(1,halfpage)
KTerm*allowSendEvents: true
|
これで、C-↑,C-↓ で一行ずつスクロール、C-→,C-← で半ページずつ
スクロール出来ます。ということで、このキーは window manager では
使わないようにしておいたほうがいいでしょう。
また、ホイールマウスも使えます。
ホイールマウス(わしはMS社のインテリマウス)は XFree86.3.3.2以降で
使えます。/etc/XF86config の Pointer セクションをこのように
設定したら使えました。
Section "Pointer"
Protocol "IMPS/2"
Device "/dev/mouse"
# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)
# Emulate3Buttons
# Emulate3Timeout 50
# この一行によって X サーバでボタン4,5にホイールの動作が関連づけられる。
ZAxisMapping 4 5
EndSection
|
これで、落ち着いて端末エミュレータを使えるようにしたところで、
shell を整備していきます(どっちが先という訳でもないけど)。
とにかく、大型計算機だろうが汎用機だろうが研究室内の
ワークステーションだろうが、telnet で接続出来るホストには
出来るだけ楽にログインして、いったり来たりしたいものです。
リモートホストに簡単にログインしたいということで、
~/.cshrc に
alias sol 'rlogin SolarisHOST -l USERNAME'
|
てな感じにしておいて、SolarisHOST の ~/.rhosts に
とエントリを作っておくと、
と端末上で入力するだけでログイン名もパスワードも聞かれずに
SolarisHOST にログイン出来ます。
ということで、rlogin は危険なので ssh などで保護したほうが
良いということがわかります。
新しく kterm を開いてリモートログインすることを Afterstep のキーに
割り当てる方法は次の節に書いておきます。
6. X window system を起動したときにどういう使い勝手にしたか
AfterStep は fvwm をもとに作られた window manager なので、
設定ファイルである ~/.steprc は fvwm の ~/.fvwmrc とかなり良く
似ています。AfterStep の詳しい情報は
AfterStep in Japanから辿ることができます。
<-- 今は知らんけど -->
いろんな window manager を使ってみましたが、平凡で
地味なもので結構です、という姿勢だと、こういうデスクトップになります。
わしのデスクトップの一例
・
mclock はコンパクトなデスクトップ時計とbiff参照
因みに滅多に立ち上げない Win95 のデスクトップ
(上とほとんど一緒。まるで qvwm or fvwm95 だ。)
window manager の最も重要な役割は、人によっていろいろでしょうけれど、
なるべくマウスを触らなくて操作出来ること、それから動作が安定している
ことだと思います。結局、自分が使っている計算機が主流だった時代に
最も良く使われていたものに落ち着きそうです。
ということで、わしは平凡に twm → fvwm → afterstep と使い続けています。
ときどき発狂して、究極的に軽い wm2 なぞの導入を考えこともありますが、
ウィンドウをキーボードで操作出来ないのでやめました。
Window Managers!! は、window manager の博覧会のようなページです。
やはり、Window manager の一番の機能はキーボードのショートカットだと
思うので、その部分だけ ~/.steprc から抜粋しておきます。
#////////////////////#
# Keyboard Shortcuts #
#////////////////////#
# Alt(Meta)-F11 で窓(ウィンドウ)をクローズ
Key F11 A M Close
# Alt(Meta)-F12 で窓をアイコン化
Key F12 A A Iconify
# Alt(Meta)-Tab,Return で別窓にフォーカスを変える
Key Tab A M CirculateUp
Key Return A M CirculateDown
# Alt(Meta)-矢印キーでポップアップを
Key Left A M Popup "Terms"
Key Right A M Popup "HotList"
Key Up A M Popup "Applications"
# Alt(Meta)-↓だけは WindowList でアイコン化した窓を復元
Key Down A M WindowList
# Alt(Meta)-Ctrl-矢印キーで窓の移動
# AfterStep は窓を掴みにくい(笑)のでこの機能は大事
Key Left A CM Move
Key Right A CM Move
Key Up A CM Move
Key Down A CM Move
# Alt(Meta)-Shift-矢印キーでカーソルの移動
# Alt-Shift-→だけはカーソルが邪魔なとき画面の右に飛ばす処理
Key Left A SM CursorMove -10 +0
Key Right A SM CursorMove +100 +0
Key Up A SM CursorMove +0 -10
Key Down A SM CursorMove +0 +10
# Arrow Keys
# スクロール機能はアプリケーションに任せる
#Key Left A C Scroll -100 0
#Key Right A C Scroll +100 +0
#Key Up A C Scroll +0 -100
#Key Down A C Scroll +0 +100
|
Alt(Meta)-← で"Terms"というポップアップを呼ぶようにしていますが、
この内容は ~/.steprc を以下のように設定しています。
Popup "Terms"
Exec "Solaris" exec kterm -geometry 80x30+5+3 -T Solaris -e rlogin -l USERNAME SolarisHOST &
Exec "SR2201" exec kterm -geometry 80x35+3+1 -T SR2201 -e rlogin -l USERNAME sr2201 &
Exec "SR8000" exec kterm -geometry 80x35+3+1 -T SR8000 -e rlogin -l USERNAME sr8000 &
EndPopup
|
これで、デスクトップ上の任意の場所で Alt(Meta)-← を押すと
Solaris,SR2201,SR8000 という3つのホストへのエントリが出るので
矢印キーで選択して Return することによって、kterm が自動的に
そのホストの端末になります。
前節の方法よりも一段簡単に新しい端末窓が開くことが出来るということで、
Windows で TeraTerm のマクロを使うのよりも幾分簡単にリモートホストと
連係がとれます。
7. いらん daemon は止めておく
Linuxでないパーソナルコンピュータを使っているときでも、
主メモリを使いすぎないように起動しておく常駐ソフトの数を抑える
といった努力をすることがあるかと思います。
Linux の各パッケージはネットワークサーバとして使う場合が多いからか、
インストールしたままの状態ではいろいろなデーモンプロセスが
立ち上がるような設定になっている場合が多いです。
たとえば、ftpd や httpd などはともかく、下手すると自分のネットワーク上
に Machintosh がないのに atalkd が走っていたりします。
カーネルを最適化するためにカーネルの再コンパイルをするのは当然として、
次に着手するべきなのは余分なデーモンを止めておくことでしょう。
セキュリティ上も大切だと思います。
自分のプロセスを表示するコマンドは ps で、システム全体を見たい場合は
ps -ax 、SIZEも見たい場合は ps -axm などで見られますが、
自分のわけがわかる範囲でこの表示を参考に余分なデーモンは動かないように
します。具体的には、Slackware 系だと /etc/rc.d/ 以下に起動スクリプトが
ありますので、たとえば httpd を"常駐" したくなければ
rc.M にある httpd のエントリをコメントアウトします。
普通は C- M- [Functionキー] で仮想コンソールの切替えが出来ます。
これは agetty があるからですが、これも 7つも起動しておくことはないので
/etc/ininttab の agetty のエントリのいくつかをコメントアウトしておくと
一つについて 数100K の主メモリの節約になります
(もちろん、全部コメントアウトしたらログイン出来なくなります)。
ftpd 、sendmail などのインターネット関係のデーモンも、
よほど頻繁に使うのならともかく、一時間に数通のメールしか送らない
といった場合は、まとめて inetd に任せてしまう方が良かろうかと思います。
つまり、/etc/rc.d 以下の各デーモンのエントリをコメントアウトして、
/etc/inetd.conf の該当するエントリのコメントを外しておきます。
このとき、httpd は (serverroot)/conf/httpd.conf の standalone を
inetd に変更しておくことも必要です(この問題でhttpd が起動しない
という投稿をよく見掛けます)。
さらに、/etc/rc.d/ 以下で inetd を起動させるわけですが、
そうすると、inetd は /etc/inetd.conf を参照して余分なデーモンも
起動してしまうので、必要のないデーモンはさらに /etc/inetd.conf から
はずしておいた方がセキュリティ上安全でしょう。
たとえば、fingerd などは外部から参照出来ない方が良いかもしれません。
というか、最初は全部コメントアウトしてから、必要なものだけ
起動出来るようにしておいたほうがいいかもしれません。
そんなこんなで、余分なデーモンをそぎ落すことによって、
わしの Linux BOX の free の出力はこんなかんじになっています。
X Window を使わないと used は 2MB台になります。
total used free shared buffers cached
Mem: 47184 35704 11480 16404 3868 18844
-/+ buffers: 12992 34192
Swap: 98780 52 98728
|
ここで実際に使われているメモリは -/+ buffers: の大きさです。
カーネルの 2.2 系では kerneld すらなくなっているようです。
究極の機能美を追求したい場合、どうしても最新のソースを追いたくなります。
また、いきつくところは debian でしょうし。この辺りの満足度の追求は
結構恐いものがあって、「お前は物理屋か、それともただのOSおたくか?」
という問を毎日連発することになります(笑)。
とりあえず安定して使えるシステムだったら良い、筈なのですが。。
とにかく、このように必要に応じてメモリやディスクの管理が出来るところが
Linux の"スケーラビリティ"がある由縁でしょう。
8. One Cent Tips
自分で日本語のページを作ろうと思ったけど、こっちの方が良く書かれている
ので Link だけ張っておきます、というページ。
計算生化学(生体成分の計算化学)の試み
SolarisHOST のDDSドライブ(テープ)に LinuxBOX のディレクトリを
バックアップする
tar cvf - files.. | rsh -l USERNAME SolariHOST dd of=/dev/rmt/0n &
|