モード - みる会図書館


検索対象: プロフェショナルBSD
89件見つかりました。

1. プロフェショナルBSD

Appendix B フリーソフトウェアの入手方法とインストールについて このようなフリーソフトウェアの配布には効果的である。現 ることができ、 488 般的に次のとおりである。 ソースコードで配布されたフリーソフトウェアのインストールの流れは一 こでは、このコンパイル作業を中心に解説する。 る。この場合、ユーザーはソースコードをコンパイルしなければならない。 千差万別であることから前者のソースコードによる配布形態がほとんどであ れに比べて UN Ⅸの世界ではコンパイラ環境が整っていること、動作環境が れている ) 上で動作することなどから後者のバイナリ形式の配布が多い。こ 場合が多いことと、同一のアーキテクチャ ( たとえば IBMPC / AT で統一さ の 2 種類ある。 PC などでは一般ューザーがコンパイラ環境を持っていない 布されているフリーソフトウェアにはソースコードの形態とバイナリの形態 ストール方法について簡単に解説する。一般的に anonymous ftp などで配 こでは上で述べたさまざまな方法で入手したフリーソフトウェアのイン B. 2 インストール方法■■ 前述の ftp mail を用いてソフトウェアを入手することができる。 また、パソコン通信からインターネットにメールを送ることができる場合、 かれているところもあるので、関連しそうなところをのぞいてみるとよいだ しかし、その他の場所でも UNIX や BSD で利用できるソフトウェアが置 ネットの pool UNIX などがその中心である。 れていることが多い。特に NIFTY-Serve の UNIX フォーラムや、アスキー パソコン通信においても、 UNIX や BSD で利用できるソフトウェアが置か B. 1.5 パソコン通信 のフリーソフトウェアが入っているわけではない。 また、 1 枚に大量のフリーソフトウェアが入っているが、かならすしも好み CD-ROM になるまでに数箇月かかるので新鮮さ〃が失われることである。 れている。また、値段もはとんど媒体の値段程度であることが多い。欠点は 在このようなフリーソフトウェアを収容した CD-ROM が多く販売 / 配布さ

2. プロフェショナルBSD

6 章生活環境の整備 6.1.3 kinput2 kinput2 は x クライアントで日本語入力をするためのフロントエンドプロ セッサである。かな漢字変換サーバとして jserver と cannaserver の両方に 対応できる。 kterm 、そして日本語対応の tgif や xfig などで日本語入力す るために使用できる。 Tgif ー 2 . 12 ー P18 Unnamed ( 10 0 ) Mo d i f 1 e d 鮏旦 XNONE 416 E D げ x 1 い TI ロ 1. ① 2 4 3 2 1 ode ile dit Layout oveMode H0r1A119n ertAlign 0 n t extStyle e x t S i 2 e ineDash ineStyle ineType ineWidth 111 Pen 010r S ecial 源の割り当て 1 2 研究 ローマ をジム次無次六ジムしむ 3 図 6 ー 7 kinput2 使用例 kterm で利用する場合は ~/. xresources で変換開始キーを以下のように設 定しておくと c ー \ で変換モード開始となる。 KTerm*VT100. translations : #override \ Ctr1 く Key>backs1ash: begin—conversion() •Wnn を使用する場合 kinput2 -vnn & で jserver を利用するように起動できる。キーバインドと ローマ字かな変換のルールは /usr/X11/1ib/XII/ccdef/ccdef. kinput2 と、 292

3. プロフェショナルBSD

5.3 GNU Emacs (Mule) (auto—load ' 関数名 " プログラム名 " " ドキュメント " コマンドフラグ ) となる。ドキュメントはこの関数の説明で、 M-x describe-function (c-h f) でこの関数が指定されたときに用いられる。コマンドフラグはデフォルトで は nil でバッチで実行されるが、これが t だと対話形式で用いるコマンドで あることを意味する。 ■キーバインドの変更 すでに述べたように Mule のキーバインドはキーと EmacsLisp の関数の 結び付きの定義である。たとえは以下のように記述する。 ・関数 goto-line を c-c g にバインドする (global-set-key "\C-cg" 'goto-line) ・関数 isearch-backward-regexp を M-c-r にバインドする (global—set—key "\M—\C-r" ' isearch—backward—regexp) これを見て分かるようにキーは、 \ c ー " 、亘キーは、 \ M ー " ( 、、 \ e 〃 でもよい ) で表す。いちばん要求が多いのはカーソル前の 1 文字削除を ではなく、 c-h にバインドすることだが、 (global-set—key "\C—h" 'backward—delete—char) としても期待した結果が得られないかもしれない。なぜなら一見カーソルの 前の 1 文字削除に見える動作でも、モードによっては別の関数になっている ことがあるからである。それでと c を交換するには以下のように記 述するとよい。 (load—library "term/bobcat") また、誤操作を防いだり、新たなキーバインドの妨げにならないように * 19 * 19 実際に何をやっているかは /usr/local/lib/mule/lisp/term/bobcat . el を見ていただきたい。 279

4. プロフェショナルBSD

5.1 set correct=cmd シェ丿レ たとえば 1s を間違えて s1 と打って ()l というコマンドは存在しないとす * 4 の亠・′ る ) 夫行してしまったとすると CORRECT>1s ( ⅵ司 e) ? と確認のプロンプトが表示される。 こで以下の入力が可能である。 y n e を押す→ sl を ls に直して実行る を押す→ sl のまま実行する ( 、、 sl: Command not found. ″になる ) を押す→実行が中断され、編集可能になる また、、 set correct=all" とセットすると、コマンド名だけでなくコマンド 219 もしれない。 * 4 汽車が走っているアニメーションを表示するプログラムをインストールしているところもあるか tcsh ではインクリメンタルなヒストリ検索が標準ではバインドされていな とえは M-v は c-v ESC 臂と入力する。 ESC の入力も同様に c ーマを入力してから画キー ( または c ー [ ) を押す。た を実行すれはよい。 AW はシェル上では c-v を入力してから c-v を入力する。 bindkey backward—delete-word されているが、 c-v で、、 backward-delete-word" ができるようにするためには、 たとえばデフォルトでは Emacs モードで c ーは、、 kill-region" にバインド bindkey キー機能 キーバインドの変更は以下のようにして行う。 に基づいて説明してきたが、キーバインドは自由に変更することができる。 までコマンドライン編集やピジュアルヒストリはデフォルトのキーバインド まず tcsh のキーバインドのカスタマイズの方法について説明しよう。これ ・キーバインドのカスタマイズ ライン全体がスペルチェックの対象になる。

5. プロフェショナルBSD

6 章生活環境の整備 6.1.4 辞書管理 使いやすい日本語入力環境を構築するためにはこまめな辞書管理が不可欠 である。 Wnn にもかんなにもそのためのさまざまな機能が用意されている。 それぞれに特徴があるので、項目を分けて紹介しよう。 ・ Wnn の辞書管理 たまごで入力している場合は、登録したい単語をリージョンとし、 M-x t 。て。齟ーて eg 土。Ⅱを実行する。読み、登録する辞書、品詞などを指定すれば 登録される。また、漢字変換で確定直前に c-t を押すとその単語が登録対象 となり、読みまで入力された状態になるので登録の手間をかなり省くことが できて便利である。 境情報学部一 漢字変換モードでカーソルを先頭に持ってくる ① /C-t [ あ ] 漢字 : 環境情報学部 ②ロ [ あ ] 辞書登録「環境情報学部」読み : かんきようじようほうがくぶ ③ロ 登録辞書名 : 0 . ud ④ロ 品詞名 : 0 . 普通名詞 / 1 . 固有名詞 / 2 . 動詞 / ⑤ 0 ロ 品詞名 : 0 . / 1 . 名詞 2 . サ行 ( する ) & 名詞 ⑥ 0 ロ く登録終了 > ↑ ↑ ニノヾッフアでの表示 操作 図 6 ー 10 たまごでの辞書登録の実行例 辞書にどんな単語が入っているかを調べたり、単語のリストを一括して登 録したいこともある。また、フリーソフトウェアの辞書を使えるように登録 したい場合もあるだろう。そのためのコマンドが dtoa と atod である。 Wnn の辞書はバイナリ形式になっているが、自分の登録辞書が -/Wnn/ud にあっ たとするとコマンドラインで 296

6. プロフェショナルBSD

システムの保護 だけをバックアップする ( インクリメンタル・バックアップ ) 。また、次の回に前 4.2 191 番号のようなディスクシステムに依存した情報までバックアップするのに対 マンドを使うこともできる。 dump/restore と tar の違いは dump が i ノード ディスクのバックアップを取るためには d p / rest 。 re だけでなく tar コ ■ファイル木のコピー : tar extract コマンドを使って実際にファイルをディスクに引き上げる。 などのコマンドを使いながらリストアするファイルを指定していき、最後に ルを戻すことができる。インタラクテイプモードでは ls 、 cd 、 add 、 delete とすると、 restore はプロンプトを出し、インタラクテイプモードでファイ # restore if /dev/rst8 テムにバックアップしたファイルを戻すことができる。また、 のようにする。これによってカレントディレクトリが存在するファイルシス # restore rf /dev/rst8 でも使用できる。すべてのファイルをディスクに戻すためには に戻すことができる。 restore はバッチモードでもインタラクテイプモード dump コマンドを使って取ったバックアップは restore コマンドでディスク しまい、結局バックアップの意味をなさなかったりする。 としておかないと、レベル 0 でバックアップを取った磁気テープをなくして 消去するしかない。また、バックアップを取った磁気テープの管理をきちん リストアしたときに消したはすのファイルを発見したときは自分でもう一度 は機能するが、消去したファイルはリストアしたときに残ってしまうので、 しかし、インクリメンタル・バックアップは追加、更新したファイルに対して プを使うことによってバックアップを取るための時間を大幅に削減できる。 のようにバックアップがとれることになる。インクリメンタル・バックアッ バックアップできる。つまり、 032547 の順でバックアップをすると、図 4 ー 32 でき、 0 以外の小さい値を使えば全体をバックアップしたときからの差分を 回よりさらに大きい値を使うと前回からの差分のバックアップを取ることが

7. プロフェショナルBSD

2 章 BSD の構造 と実行すると、 ・プロセス 0 これらの 3 つが何であるかを知ることができる。 スワッ '€(swapper) と呼ばれるこのプロセスは、メモリに収まらないプロセスの 領域を二次記憶装置に一時待避させておく仕事と、必要になった領域をメモリに 読み込む仕事を随時行っている。 ・プロセス 1 このプロセスでは / etc / i Ⅱ it というプログラムが実行されている。 init の仕事 は先ほど述べたすべての親なしプロセスの養父母となることと、使用可能な端末 のために、その端末を担当するプロセスを発生することにある。すなわち init は 起動されると、使用可能な端末を知り、その数だけ f 。 rk して 1 。 gin を起動する プログラム getty を起動するのである。 ・プロセス 2 このプロセスは仮想記憶をサポートするためのプロセスで、ページデーモン ( page daemon) として存在する。これは仮想記憶領域のメモリの単位であるべージに関 する掃き出しを随時行っている。 これらの特別なプロセスを生成して稼働するまでが UNIX のプートの処理 である。この後は i Ⅱ it のプロセスを中心に各端末からのプロセスの発生と して発展し、通常の UN Ⅸの世界が誕生するのである。 2.4.3 プロセス 1 の働き プロセス 1 となった / etc / i Ⅱ it のプログラムは、以後の UNIX 全体のプロ セスの流れの中で最も重要な働きをするので、図 2 ー 3 の概念図を基に詳しく みてみる。 ①ます最初にシングルューザーモードになるべきかどうかを調べ、そう設定されて いる場合にはシングルューザーモードになる。 * 8 そうでなければマルチューザー モードとして立ち上がる。 * 8 BSD / 386 の場合は、プートの途中にスペースキーを押すとシングルューザーモードになる。 52

8. プロフェショナルBSD

7 章ソフトウェア開発環境 shift (@ARGV) ; $pat while ( く > ) { print ; 何となく C 言語に似ているのが分かると思う。ここでは例を示すため簡単 なプログラムを紹介したが、たとえば s 。 cket 関数を使うことにより finger コマンドやⅶ。 is コマンドを作ることも可能である。その他 perl にはデバッ ガも用意されているが、驚くべきことにデバッガも perldb. pl という perl に よるプログラムによってできている。 perl のようなインタープリタ言語で書かれたユーティリテイプログラムの 利点は、特にアーキテクチャの違う計算機を共有して使っている環境では便 利なことが多い。たとえば C 言語ではアーキテクチャごとにコンパイル作 業が必要であるが、 perl スクリプトの場合その必要はない。各計算機ごとに perl コマンドをもっていれば、スクリプトは共有できる。近年、計算機の性 能も向上してインタープリタとはいっても速度的にはほとんど問題ない場合 が多い。 テキスト処理といえば日本語に関する機能にも読者は興味があると思う。 実際、 perl は入力文字の 8 ビット目を落すようなことはしないのでシフト JIS や EUC などを使った日本語のコードが化けることはないが、たとえば 日本語 1 文字をコードの関係から 2 文字と数えてしまったりするので、そ のまま使おうとした場合注意が必要となる。また日本語版 perl ( jperl ) とい うのも存在している。これは日本語コードとしてシフト JIS か EUC を扱え るようにしている。この jperl では上で述べた問題も解決されている。ま た日本語化していない perl で日本語を扱えるようにしたライプラリもある (jcode. pl ) 。 7.7.4 Emacs Lisp Emacs で動作する EmacsLisp を使ってプロトタイピングによるプログラ ミングが可能である。 lisp によるプログラミングに慣れていないと少し困難 かもしれないが、日本語によるリファレンスマニュアルなどもあるので一度 372

9. プロフェショナルBSD

7.9 移植について ある。また新しいセッションを作る setsid システムコールが追加された。制 御端末を切り離すには f 。 rk システムコールを発行して子プロセスが setsid システムコールを発行することが好ましいとマニュアル ( tty ( 4 ) ) には記述さ れている。 またシグナル関係のシステムコールが一部変更され POSIX の規定を満た した。たとえは sig Ⅱ al 関数に代わって sigacti 。Ⅱ関数が導入されている。た だし、互換性のため以前の関数も利用できるようになっている。 7.9.2 移植に関する留意点 ・ヘッダファイル 移植すべきコードが利用しているヘッダファイルがない場合がある。この ような場合はヘッダファイルを自分で作成して利用すればよいが、カーネル で利用しているデータの構造体の定義を利用している場合には、注意が必要 である。また、一部の定義が POSIX や ANSI C などで定義されたヘッダファ イルに移されている場合もある。このようなヘッダファイルには stdarg ・圦 stddef. h 、 stdlib. れ、 termios. h 、 unistd. h などカゞある。 ・ライプラリ 移植するコードが利用しているライプラリが用意されていない場合がある。 このような場合は、仕様を調べて自分で作成すればよい。ただし、同じ名前 でも仕様が異なる場合があり得るので、ヘッダファイルと同様注意が必要で ある。また GNU プロジェクトの提供している libc のパッケージを参考に してもよいだろう。 ーンステムコール ライプラリの場合には自分で作成することもできるが、システムコールの ようにカーネルが提供するサーピスに依存したコードの場合は、移植はむす しくなる。 = 0 ようなとき 0 = はそ 0 他 0 テ 0 ー ~ を使そ 0 機 を実現する、という方法が使える場合もあるが、たとえば System V の提供 している共有メモリやセマフォといった機能を使っている場合には非常に困 難になると思われる。 383

10. プロフェショナルBSD

1 .2 BS D オペレーティングシステムの特徴 れてきたこと、移植性が高くさまざまな計算機システム上で利用できること などから、標準的な利用環境を提供するオペレーティングシステムと考える ことができる。 こうした、共通のオペレーティングシステム環境であるという特徴は BSD の技術的な特徴ではないが、 BSD 上で稼働するソフトウェアの流通基盤と して大きな意味を持っている。 ーソースコードの配布 もう 1 つの技術的でない特徴は、ソースコードによって配布されるソフト ウェアであるということである。これは、 BSD オペレーティングシステムだ けでなく、そこで動作するソフトウェアもソースコードと共に配布されるこ とが多い。 このような配布形態は、ネットワーク文化の発展とあいまって、ソフトウェ アの進化を促進してきたと考えられる。「ソースコードでお渡ししますから、 何かあったらご自分でやってください」という形式は、作者が問い合わせに 忙殺されることなく、問題点が改善されソフトウェアが加速度的に進化して いくという特徴を生み出す。 ・ TSS / マルチプロセス環境 TSS ( 時分割システム ) は、もともと高価な CPU を複数のユーザーで共有 するために、時間を区切って複数の仕事に順に CPU を割り当てていく技術 である。したがって、各ューサーに公平に CPU が割り当てられることが重 要であった。 しかし、研究室の中で誕生した BSD では、ユーサーではなくプロセスと 呼ばれる各プログラムの実行形式に CPU を割り当てていく。したがって、 ある 1 人のユーザーがいくつものプログラムを同時に実行することが可能と なっている。つまり、、、 & 〃による複数コマンドの並列実行やパイプライン処 理によるコマンド数に制限がないことを意味している。 これは、顔見知りの間ではマナーが守られることを前提にシステムが簡略 化されたものであるが、ワークステーションや個人用計算機のオペレーティ ングシステムとして活躍するようになったときに、非常に重要な意味を持っ 27