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

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


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

こんばんは,うすだです.

世間的には,お盆休みまっ盛りで,普段はなかなかできない, だらだらとした日々を満喫されているのではないかと思いますが,いかがでしょうか.

さて,私が属する会社は,夏の2カ月の間に5日間, 仕事に支障のない時期に各自取得しなさい,ということになっています.
そんなわけで,私の場合,15日はたまたま休みにしましたが,他は, 普通に出社することになっています.

世間一般がお休みの時に出社すると,電車がすいていていいですよね.
…などと思っていたら,家族連れ団体さんで賑わっていたりして, あまりうれしくありません. こんなくそ暑い日には,家でごろごろしてて欲しいな,と切に願う今日この頃です. (はい,自分のことは棚にあげてます…)

それでは,今日も,はりきってまいりましょう!

今週のお題 - /proc を探検する

/proc といえば,Linux カーネルとユーザとの橋渡し的存在です.

今動いてるカーネルのバージョンはなんだっけ,というようなことから, 各プロセスの状態まで,/proc 以下を見ることで, カーネル内部の情報を確認することができます. また,書き込むことで,設定変更もできますね.

というわけで,できるシステム管理者は,何かあった時に, /proc を見て状況確認しているのだ,と拡大解釈できるのではないかと思うわけです.

せっかくのお盆ですから,そんな大義名分は忘れて, /proc を見るとこんなことがわかるんだなーということを, 探検して楽しんでいただければと思います.
それでは,多少なりとも役に立ちそうなものを,以下にご紹介します.

  • /proc/version
    カーネルのバージョンを教えてくれます.
    わたしは,Vine Linux 3.1 を使っていますが,こうおっしゃいます.
    (行末を \ で折り返している部分は,実際は改行せずに出力されます.)
    % cat /proc/version
    Linux version 2.4.27-0vl7 (daisuke@windy.local.dicey.org) \
    (gcc バージョン 3.3.2 20031218 (Vine Linux 3.3.2-0vl8)) #1 \
    2004年 10月 27日 水曜日 13:30:16 JST
    
    特にひねりもなく,パッケージのものを使用しています.
  • /proc/cpuinfo
    CPU の情報が得られます.
    % cat /proc/cpuinfo
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 11
    model name      : Intel(R) Pentium(R) III Mobile CPU      1066MHz
    ...中略
    bogomips        : 2123.36
    
    Mobile PentiumIII 1GHz だということがわかります.(ちょい古い…)
    bogomips は,アイドルループが2命令で行われると仮定した時に, 1秒間に実行できる命令数(単位は百万)を表します.
    詳細については,BogoMips mini-Howto などをご覧ください.
  • /proc/meminfo
    メモリの使用状況などを教えてくれます.
    % cat /proc/meminfo
      total:    used:    free:  shared: buffers:  cached:
    Mem:  393670656 388882432  4788224        0 25927680 86568960
    Swap: 263200768 198733824 64466944
    ...後略
    
    free がやけに少ないですが,空きが足りなくなってくると, 古いキャッシュを解放して使ったりしますので, あまり心配する必要はありません.
    (cached のうち,実際に必要としている容量がわかれば便利ですが….)
  • /proc/uptime
    Linux を立ち上げてから今までの総時間(秒)と,アイドルだった時間がわかります.
    % cat /proc/uptime
    75031.39 70119.34
    
    …ほとんとアイドルですね.さぼってるみたいに思われてしまう….
  • /proc/プロセスID/ 以下
    各プロセスの状態がわかります.
    詳細は,宿題にしてしまいましたので,割愛します.
  • /proc/net/ 以下
    ネットワークの状態がわかります.
    arp, route, tcp, udp など,名前から,内容を推測できるものが多いと思います. 詳細は割愛しますので,片っ端から cat してみてください.
  • /proc/sys/ 以下
    Linux カーネルの各種パラメータがわかります.
    例えば,IP フォワーディングの設定は,以下のようにして知ることができます.
    % cat /proc/sys/net/ipv4/ip_forward
    0
    
    実は,sysctl コマンドと,使い方がほぼ同じです.
    % sysctl net.ipv4.ip_forward
    net.ipv4.ip_forward = 0
    
    また,ファイルに書き込むことで,パラメータを変更できます.
    # echo 1 > /proc/sys/net/ipv4/ip_forward
    # cat /proc/sys/net/ipv4/ip_forward
    1
    
    これは,sysctl コマンドで以下のように行うことと,同じです.
    # sysctl -w net.ipv4.ip_forward=1
    net.ipv4.ip_forward = 1
    

以上,簡単ではありますが,ご紹介しました.
/proc 以下には,ご紹介した以外にも,いろんなファイルがあります.
是非探検して,面白いものを見つけたら,周囲のひとに自慢しましょう.

宿題の答え

先週の問題は,

dig コマンドを使って,www.mag2.com の IP アドレスを調べましょう.
ただし,ルートサーバから順番に問合せます.

でした.

こんな感じで,たどってみました.いかがでしょうか.

% dig . ns
...前略
;; ANSWER SECTION:
.                       503633  IN      NS      C.ROOT-SERVERS.NET.
.                       503633  IN      NS      D.ROOT-SERVERS.NET.
.                       503633  IN      NS      E.ROOT-SERVERS.NET.
...後略

まず,ルートサーバを調べてみました.
これも何かの縁なので,最初の C.ROOT-SERVERS.NET さんに, com の NS(ネームサーバ)を問合せます.

% dig @c.root-servers.net com ns
...前略
;; AUTHORITY SECTION:
com.                    172800  IN      NS      A.GTLD-SERVERS.NET.
com.                    172800  IN      NS      B.GTLD-SERVERS.NET.
com.                    172800  IN      NS      C.GTLD-SERVERS.NET.
...後略

同様に,A.GTLD-SERVERS.NET さんに,mag2.com の NS を問合せます.

% dig @a.gtld-servers.net mag2.com ns
...前略
;; ANSWER SECTION:
mag2.com.               172800  IN      NS      gosho.netaid.or.jp.
mag2.com.               172800  IN      NS      linukun.tegami.com.
...後略

あとは,www.mag2.com の A を問合せるだけです.

% dig @gosho.netaid.or.jp www.mag2.com a
...前略
;; ANSWER SECTION:
www.mag2.com.           900     IN      A       210.171.134.166
www.mag2.com.           900     IN      A       210.171.134.180
...後略

…長くてすみません.

今週の宿題

今週の宿題は,こちらです.

何らかの動作し続けるコマンドを実行し,/proc/プロセスID/ 以下を
探検してみましょう

です.

例えば,

% cat /dev/zero > /dev/null &
[1] 16843

などと実行し,/proc/16843/ の下にあるファイルやディレクトリを, 順番に探ります.

あとがき

スラッシュドットに出ていましたので, ご存知の方はご存知だと思いますが, レッドハットがスキルチェックテストなるものを公開しています.

スキルチェックテストの紹介記事
http://slashdot.jp/article.pl?sid=05/08/10/057213&topic=61&mode=thread
スキルチェックテスト
http://www.jp.redhat.com/training/camp_assess.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

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本