FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2008-04-03

[] 22:15 2008-04-03 - FreeBSD初心者運用日記 を含むブックマーク 2008-04-03 - FreeBSD初心者運用日記 のブックマークコメント

make program

と書いた場合、programにあたるものをターゲットと呼びます。

ターゲットを作るために必要なファイルをコンポーネントと呼びます。

以下のファイルから、実行形式プログラムprogramを作成する場合を考えてみます。

・main.c

hoge.c

・foo.c

lo.s

・/usr/lib/bar.a

この場合、以下の手順で作業します。

$ cc -c main.c
$ cc -c hoge.c
$ cc -c foo.c
$ as -o lo.o lo.s
$ cc -o program main.o hoge.o foo.o lo.o /usr/lib/bar.a

この場合、ターゲットがprogramになります。programのコンポーネントは、以下のファイルです。

main.o hoge.o foo.o lo.o /usr/lib/bar.a

上記の手順をMakefileを使って書いてみます。

$ vi Makefile
program : main.o hoge.o foo.o lo.o /usr/lib/bar.a
    cc -o program main.o hoge.o foo.o lo.o /usr/lib/bar.a
main.o : main.c
    cc -c main.c
hoge.o : hoge.c
    cc -c hoge.c
foo.o : foo.c
    cc -c foo.c
lo.o : lo.c
    as -o lo.o lo.s

このMakefileでは5つのエントリがあり、それぞれのエントリにルール行とコマンド行があります。

ルール行はコロンを含んでいる行です。依存関係を表します。

コマンド行は先頭がタブで始まる行です。コンポーネントからターゲットを作り出す方法を書きます。

[]サーバにつながらない原因を突き止める手順 22:40 サーバにつながらない原因を突き止める手順 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - サーバにつながらない原因を突き止める手順 - FreeBSD初心者運用日記 サーバにつながらない原因を突き止める手順 - FreeBSD初心者運用日記 のブックマークコメント

  • tcp/ipモジュールの確認
    • ループバックアドレスにpingしてみる。ループバックアドレスはネットワークアプリケーションのテストのために使用されるアドレス。
$ ping 127.0.0.1
$ ping 192.168.0.2
  • ルータの確認
    • ルータのアドレスに対してping
$ ping 192.168.0.1
  • 名前解決できているかを確認
$ nslookup www.example.com
    • ここで応答がない場合は、3つの原因が考えられる。
      • DNSサーバが落ちている
      • PC側のDNS設定がおかしい
      • 指定しているサーバ名に誤りがある。
  • サーバと通信できているか確認
$ ping www.example.com
    • ここで応答がない場合、以下の原因が考えられる。
      • サーバがダウンしている
      • 通信の途中経路でつまっている。
      • そのサーバがセキュリティ上pingを返さないようにしている。
  • 経路の確認
    • tracerouteを使えば、経路のどこでつまっているかがわかる。
$ traceroute www.example.com
  • pingが通った場合は、サーバにつながらない原因として以下の二つが考えられる。
    • アクセスが集中して応答が返せない。
    • ディスクが故障している。
    • プロセスが落ちている(httpd死亡。mysqld死亡など)
    • 突発リブートでシングルユーザモードになっている
  • これらを確認するためsshtelnetなどを使ってサーバにログインする。
    • アクセスが集中して応答が返せないのか?
      • コマンドやtopコマンドで確認してみる。暴走しているプロセスがあればkillする。
    • ディスクが故障しているのか?
      • syslogを確認する。以下のキーワードで検索。
        • crit,error,fatal
    • プロセスが落ちているのか?
      • psコマンドで確認
    • 突発リブートでシングルユーザモードになってしまっている?
      • telnetでコンソールサーバに接続してディスク障害とかおきてないか調べます。いつ落ちたかはuptimesyslogで調べます。

[]LANで稼動中のIPアドレスとMACアドレスの一覧を得る方法 23:08 LANで稼動中のIPアドレスとMACアドレスの一覧を得る方法 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - LANで稼動中のIPアドレスとMACアドレスの一覧を得る方法 - FreeBSD初心者運用日記 LANで稼動中のIPアドレスとMACアドレスの一覧を得る方法 - FreeBSD初心者運用日記 のブックマークコメント

LAN管理者にとって重要な作業であるLANにつながる機器のリスト化の方法まとめ。

192.168.0.0/24のLANの場合、以下のスクリプトを作成して実行すればよい。

$ vi hoge.sh
#!/bin/sh
for m in `jot 254 1`
do
    ping -n 1 -w 50 192.168.0.$m
done
arp -a

pingのパラメタはwindowsのを書いたけど、unixもたぶん同じ。。

arp -aは、ARPキャッシュを表示するコマンド。

 |