2008年8月28日木曜日

第8回 Linuxの基礎知識 Part4

独学Linuxのvine_userです。
「これならわかる!デスクトップLinux」のご購読ありがとうございます。

さて,今回は,「ソースからのインストール」と「ネットワーク関連」
の基本コマンドを取り上げます。

前回予告した「X Windowが立ち上がらないときの対処法」について
は,申し訳ありませんが,次回に持ち越しです。

ちょっと欲張りすぎました。その代わり,今回は「補足事項」を
多めに加えて,よりわかりやすくまとめてみたつもりです。

================================
 Linuxの基礎知識 Part4
================================

ネットワークに関しては,他にもいろいろと補足しなければいけない
ことがたくさんありそうですが…。


================================
よく使う基本コマンド20 --ソースからのインストール編--
================================

アプリケーションプログラムのソースファイルは,通常,ソース
コード本体と設定ファイルなどをまとめた「パッケージ」の形で
配布されます。

これらのソースパッケージは,一般に「…tar.gz」,「…tar.bz2」,
「….tgz」などの名前が付いており,圧縮されています。

最近のLinuxでは,GUI上でダブルクリックすればファイルローラー
というプログラムが起動して,自動的に展開できますが,ここでは
コマンドで展開する方法を使いましょう。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「tar」 
機能:ファイルを圧縮・展開する
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例-その1>
$ tar zxvf (パッケージ名)
tar.gzまたはtgzという拡張子の付いたパッケージを展開します。

<使用例-その2>
$ tar jxvf (パッケージ名)
tar.bz2という拡張子の付いたパッケージを展開します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「./configure」 
機能:実行環境に合わせたMakefileを作成する
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例>
$ cd (展開したソースパッケージの一番上のディレクトリ)
$ ./configure (← 一般ユーザ権限で実行可能)

一部例外はありますが,ほとんどのソースパッケージには,インス
トール手順を記載する「Makefile」を環境にあわせて作成するため
のコマンドが添付されています。それがこの「configure」です。

「./」は現在のディレクトリ上にあるファイルを指定するもので,
単に「$ configure」とすると,OSの標準コマンドとみなされ,
そんなコマンドはなありませんというエラーが出てしまいます。

このconfigureで依存パッケージが不足しているというエラーが
出ると,Makefileが作成されず,コンパイルもインストールも
出来ません。ソースからのインストールする場合,これが最初の
関門となります。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「make」 
機能:ソースを元にしてコンパイルやインストールを実行する
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例-その1>
(↓./configureと同じ場所で実行する)
$ make (← 一般ユーザ権限で実行可能)

実行環境に合わせた実行ファイルや設定ファイルを作成します。

<使用例-その2>
(↓./configureと同じ場所で実行する)
$ su
Password: (← rootのパスワードを入力)
# make install (← root権限でのみ実行可能)

mekeで作成した実行ファイルや設定ファイルを,それぞれ所定の
場所に配置し,セットアップします。

Ubuntuの場合は,以下のように実行します。
$ sudo make install
Password: (← rootのパスワードを入力)

[補足事項]
ここまででエラー表示がなければ,正常にインストールが終了
しているはずです。ただし,インストール時にエラーの出ない
依存パッケージがあることもあるので,実際にアプリケーション
を実行してみないと,正常に動くかどうかは断言できません。

そのアプリを,GUIでなくコマンドで実行すると,エラーの詳細
な内容が表示される場合があります。

僕がブログの中で,よくコマンドを使うのは,そのような事情も
あるわけです。


================================
よく使う基本コマンド20 --ネットワーク関連編--
================================

2台以上のPCを持っていて,家庭内LANを利用しようと考えている方
には覚えていただきたいところですが,それ以外の方々にはあまり
縁のないコマンドです。

ただし,インターネットにつながらないなどのネットワークトラブル
の際は,ifconfigやpingが役立ちそうです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「ifconfig」 
機能:ネットワークインタフェースの参照・設定・起動・停止
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例-その1>
$ /sbin/ifconfig
IPアドレスやハードウェアアドレスを調べるために使います。
ネットワークが正常につながっているかどうかもわかります。

(以下,表示の例)
eth0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx
inet addr:192.168.0.5
Bcast:192.168.0.255
Mask:255.255.255.0
inet6 addr: fe80::213:d4ff:fedc:eeb0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:591599 errors:0 dropped:0 overruns:0 frame:0
TX packets:383697 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:862781909 (822.8 MiB)
TX bytes:35566558 (33.9 MiB)
Interrupt:18

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:82 errors:0 dropped:0 overruns:0 frame:0
TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4100 (4.0 KiB) TX bytes:4100 (4.0 KiB)
(表示の例はここまで)

「inet addr:192.168.0.5」の部分がIPアドレス
「HWaddr 00:xx:xx:xx:xx:xx」の部分がハードウェアアドレス
を表しています。

<使用例-その2>
# /sbin/ifconfig eth0 up (← root権限でのみ実行可能)
eth0という名前で割り当てられたネットワークを有効にします。

<使用例-その3>
# /sbin/ifconfig eth0 down (← root権限でのみ実行可能)
eth0という名前で割り当てられたネットワークを無効にします。

<使用例-その4>
# /sbin/ifconfig eth0 192.168.0.2 (← root権限でのみ実行可能)
eth0という名前で割り当てられたネットワークのIPアドレスを
192.168.0.2という値に設定します。

[補足事項]
DHCPで割り当てられなかった場合には,このコマンドだけ実行しても,
ローカルでしか使えない場合があります。つまり,このコマンドだけ
ではインターネットにつながらない可能性があるということです。
そのあたりの調整は,設定状況に依存します。

loというのは,「ローカルループバック」と呼ばれる特別な仮想
インターフェイスです。まったくNICを設置していない場合でも、
このloだけは存在します。そうした初期状態であっても、仮想的に
ネットワークのテストなどに使えるように用意されているものだ
そうです。また、対応するIPアドレスは必ず127.0.0.1が割り当て
られますが,当然のことながら,このアドレスを用いて外部と通信
することはできません。


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「ping」 
機能:ネットワークの接続状況をテストする
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例>
$ ping -c 5 192.168.0.5
ローカルLAN内のPC(IPアドレス:192.168.0.5)に5回の試験信号
を送り,その応答時間をテストします。

URLを指定すれば,相手の状況によってはそのサイトからの応答も
チェックできますが,不正な攻撃とみなされる場合もあるので,
ローカルLAN内での確認にとどめておいた方が無難です。

(以下,表示の例)
PING 192.168.0.5 (192.168.0.5) 56(84) bytes of data.
64 bytes from 192.168.0.5: icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from 192.168.0.5: icmp_seq=2 ttl=64 time=0.025 ms
64 bytes from 192.168.0.5: icmp_seq=3 ttl=64 time=0.025 ms
64 bytes from 192.168.0.5: icmp_seq=4 ttl=64 time=0.028 ms
64 bytes from 192.168.0.5: icmp_seq=5 ttl=64 time=0.028 ms

--- 192.168.0.5 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.025/0.026/0.028/0.005 ms
(表示の例はここまで)

[補足事項]
「-c」オプションは,試験信号を送る回数を指定しますが,この
オプションを使わず回数を指定しない場合は,「Ctrlキー+C」で
止めないと,いつまでも送り続けます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド名「wget」 
機能:httpやftp経由でファイルをダウンロードする
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<使用例>
$ wget (ダウンロードしたいファイルのURL)
指定した場所にあるファイルを現在のディレクトリにダウンロード
して保存します。

[補足事項]
GUIでダウンロードするより,wgetコマンドを使った方がスピードが
速い場合があるようです。


お疲れさまでした。今回はここまでです。ディストリごとに数えると,
扱ったコマンドは,今回で16個。とりあえず,覚えて欲しいコマンド
はあと4つです。

他にもいろいろあるので,絞るのも結構難しいですけど。

次回こそ,X Windowが立ち上がらない場合の対処法を扱います。
結構,ここでつまずく人も多いと思いますので,多少,参考に
なるのではないでしょうか?

次回の配信は8月30日です。またお会いしましょう!