いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.047 / 読者数:761名

こんばんは、うすだです。

昨年、2月末に創刊号を発行してから、ほぼ1年が経ちました。

週刊で、いったいどこまで続くだろうか…と思っていましたが、 ときどきお休みをいただくことはあったにせよ、1年もったのは、 奇跡といっても過言ではないと思います。いや、大げさですね。すみません。

なにはともあれ、ここまで続けられたのは、こうして購読していただいている、 みなさんのおかげです。

ありがとうございます。ありがとうございます。(選挙風に)

しかし、1年で約750名という読者数は、どうなんでしょうか。
ビジネス系のメルマガから見たら、完全に負け組っぽいですが…。

確認のため、今までの読者数の増加をグラフにしてみたところ、 波瀾万丈という言葉を一切寄せつけない、まっすぐな一本の線になりました。
このまま単調微増を続け、来年の今ごろに 1500名くらいに達していたら、 自分を褒めてあげたいと思います。(13年強で、10000部に達しますね。)

それでは、今週も、ぬるま湯っぽくはりきってまいりましょう!

今週のお題 - オンラインマニュアルを追加する

メルマガを発行したあとはいつも、読者が激減してるんじゃなかろうか、 などと、数日の間はおろおろしています。おかげさまで、まえふりにあるように、 今のところ微増を保っていて、ほっとしている次第です。

というわけで、幸か不幸か、読者数は減っておりませんので、予定通り、 先週の続きをやらせていただきます。

先週は、man の使い方について、ご説明しました。

Vol.046 - オンラインマニュアルを活用する
http://www.usupi.org/sysad/046.html

今週は、オンラインマニュアルの追加の仕方について、ご説明します。

ソースを入手して、独自にインストールなどする際には、 あとで取り除くときに困らないよう、 独特の場所に入れることがよくあると思います。
(/usr/local/apache とかですね。)

そんなとき、man コマンドが、 独自にインストールしたモノのマニュアルも参照してくれると、便利ですよね。
とはいえ、われわれの気持ちを察して、 自動的に見に行ってくれるようになる…なんてことはありえません。

仕方ないので、以下のようにして、man コマンドに教えてあげましょう。
ここでは、 追加したいマニュアルのパスが /usr/local/test/man だとして話を進めます。

FedoraCore や RedHat, Vine などの場合には、/etc/man.config というファイルに、 以下を追加します。

  MANPATH /usr/local/test/man

Debian などの場合には、/etc/manpath.config というファイルに、以下を追加します。

  MANDATORY_MANPATH /usr/local/test/man

…以上です。これだけで、見に行ってくれるようになります。
もし、試すマニュアルがないという貴兄は、以下を実行して、 でっちあげてみてください。

  % mkdir -p /usr/local/test/man/cat1
  % echo "man test" > /usr/local/test/man/cat1/mantest.1
man mantest を実行して、man test と出力されれば、成功です。
(試し終わったら、うっとおしいので、もとに戻しましょう。)

さて、上記のようにしますと、man コマンドを使うユーザみんなに、 その設定が反映されます。
しかし、追加したいマニュアルが、みんなに見てもらうようなものでない場合や、 みんなに存在を知られたくない場合など、 自分だけに設定したいということもあるのではないかと思います。

そんなときは、環境変数 MANPATH を使用します。
環境変数 MANPATH を設定しますと、上記の /etc/man.config などを参照せず、 MANPATH だけをたよりにオンラインマニュアルを表示します。

MANPATH は、PATH などと同様、各パスを : で区切って指定します。
たとえば、/usr/share/man, /usr/X11R6/man, /usr/local/man, /usr/man に加えて、 /usr/local/test/man も見てほしい場合は、以下のように設定します。 (恒久的に設定したい場合は、.bashrc などに記述しましょう。)

  % export MANPATH="/usr/share/man:/usr/X11R6/man:/usr/local/man:\
  /usr/man:/usr/local/test/man"

ただ、MANPATH が設定されていますと、 /etc/man.config などを一切見てくれなくなります。
ですので、/usr/local/test/man を追加したいだけでも、 /etc/man.config などにあるパスをすべて指定する必要があります。
(これをやや自動化する方法については、宿題とさせていただきます。)

以上、オンラインマニュアルの追加方法について、ご説明しました。
なんやかんやいっても、オンラインマニュアルはまだまだ使える存在だと思います。 じゃんじゃん活用してくださいまし。

宿題の答え

先週の宿題は、

  man -a を実行したときに、マッチするマニュアルがたくさん出てくる
  ものを探してみましょう

でした。

ぜんぜん実用につながっていない宿題ですが、そんなときほど、 やる気が出るってもんじゃないでしょうか。

…まったくなんの言い訳にもなっていませんが、以下、回答例です。

オンラインマニュアルは、man-pages もしくは man-pages-ja パッケージです (Debian では manpages, manpages-dev, manmages-ja あたりです)。
これらの一覧から、求めてみようと思います。

まずは、マニュアルのファイル一覧を得てみましょう。
(リダイレクトにご注意ください。)

  % rpm -ql man-pages > /tmp/man-pages.txt
  % rpm -ql man-pages-ja >> /tmp/man-pages.txt

Debian な方なら、こうですね。

  % dpkg -L manpages > /tmp/man-pages.txt
  % dpkg -L manpages-dev >> /tmp/man-pages.txt
  % dpkg -L manpages-ja >> /tmp/man-pages.txt

そして、以下のようなスクリプトを用意します。

  #!/usr/bin/perl

  my %COUNT;
  my %NAMES;

  # カウント
  while(<>) {
    chop;
      if(/([^\/]+)\.\S+\.gz$/) {
        $COUNT{$1}++;
        $NAMES{$1} .= "$_\n\t";
    }
  }

  # 結果の出力
  my $key;
  foreach $key (sort keys %COUNT) {
    print "$key:$COUNT{$key}\n\t$NAMES{$key}\n" if $COUNT{$key} > 1;
  }

これは、マニュアルのパスから名前を抽出してカウントし、 カウント数が 1 より大きい結果を出力しているだけです。
このスクリプトのファイル名が、count-man.pl だとしますと、

  % ./count-man.pl /tmp/man-pages.txt

と実行することで、結果がわかります。

で、答が何なのか、それが何を意味するのかは、実際に実行して確認してみてください。

今週の宿題

今週の宿題は、

  /etc/man.config(あるいは /etc/manpath.config)から MANPATH を生成
  してください

です。

/etc/man.config の MANPATH から、
(あるいは /etc/manpath.config の MANDATORY_MANPATH から、)

  export MANPATH="/usr/share/man:/usr/X11R6/man:/usr/local/man:\
  /usr/man"

といったものを出力するスクリプトを、作ってみましょう。

あとがき

1年たったから、というわけでもないのですが、 バックナンバーがわかりにくいと前々から思っていましたので、 短い説明をつけてみました。

いますぐ実践! Linux システム管理 / バックナンバー
http://www.usupi.org/sysad/backno.html

説明をつけるために、ひとつひとつ斜め読みしていたのですが、見ていると、 たいしたことは書いていないにしても、いろいろなことをネタにしてきたなと思います。

ネタに困って、ありきたりなことでお茶を濁した週もありました。
しかし、自分で言うのもなんですが、他ではあまり見かけないようなネタも、 いくつかご紹介できたのではないかと思っています。

今回見直して、個人的にがんばったかなと思えるものは、以下です。
(琴線に触れるようなもの(?)がありましたら、是非ご覧ください。)

Vol.010 - SSH で遠隔ログインした時にメールで通知する
http://www.usupi.org/sysad/010.html

Vol.011 - WWW を使ってログをとる
http://www.usupi.org/sysad/011.html

Vol.026 - ログイン情報をでっちあげる
http://www.usupi.org/sysad/026.html

Vol.037 - グループにスポット参加する
http://www.usupi.org/sysad/037.html

Vol.039 - ファイルの属性をログに適用する
http://www.usupi.org/sysad/039.html

というわけで、これからも、こんな感じで、 まったりと続けていきたいと思いますので、今後とも、よろしくお願い致します。

今週も、ここまで読んでいただき、ありがとうございました。
それでは、また来週に、お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は、以下からどうぞ。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−栗の絵を毎日毎日描いてます。壁紙を追加しました。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本