Linuxシステム管理
情報技術 > Linuxシステム管理
システム管理概要[編集]
インストール[編集]
ここでは、Linuxカーネルのインストールについて述べます。実際のシステムでは、コンパイル済みのカーネルを用いることが多く、使用の前にカーネルをコンパイルすることは多くはないでしょう。しかし、カーネルのコンパイルは特に新しいデバイスを使うときによく行うことになるので、ここでまとめます。
カーネルソースの入手、展開[編集]
Linuxでは、カーネルのソースが公開されているため、自由にカーネルを構築することができます。ただし、実際のシステムでは個々のディストリビュータが提供するカーネルを使うことになることには注意が必要です。
ここでは、一般的なカーネルの入手について述べます。Linuxのカーネルは http://www.kernel.org から手に入れることができます。入手したカーネルは.tar.bz2か.tar.gzで圧縮されているので、展開します。
$tar xjvf linux-x.x.x.tar.bz2 $tar xzvf linux-x.x.x.tar.gz
設定、コンパイル[編集]
カーネルの設定とコンパイルは全てmakeコマンドで行われます。カーネルにはいくつもの設定項目がありますが、よく用いられるのはデバイスドライバの項目です。システムで使われることのないデバイスドライバは、コンパイルせずに済ませることができます。ただし、現在のLinuxでは、デバイスドライバのほとんどがモジュール化されており、必要無いデバイスドライバは使わないようにすることが出来ます。そのため、不必要なデバイスもコンパイルの時点では残した方がよいのかもしれません。
実際の設定は展開した後に
$cd linux-x.x.x
とした後、
$make menuconfig
または
$make xconfig
とします。make xconfigは、Xウィンドウを用いるため、Xが起動していないと使うことができません。一方、make menuconfigは、ターミナルからも利用することができます。
- スクリーンショット
必要な設定を行ったら設定を終えます。設定の内容は.configというファイルに記録されており、必要ならこれらを編集することもできます。
カーネルモジュールのコンパイル[編集]
設定を終えたら、実際にカーネルをコンパイルします。カーネルのコンパイルは
$make
によって実行されます。コンパイルには時間がかかるので、注意してください。
カーネル、カーネルモジュールのインストール[編集]
無事にカーネルがコンパイルされたらカーネルをインストールします。カーネルのインストールには、
#make modules_install #make install
を実行します。
ネットワーク設定[編集]
TCP/IPネットワークの設定[編集]
TCP/IPは、インターネットで用いられるw:プロトコルです。LinuxはTCP/IPに対応しており、ネットワークデバイスがあればそれらを用いてインターネットに接続することができます。
ネットワークの設定は
- デバイスの認識
- IPアドレスの設定
を含みます。また、ルータやDNSを利用するときには、これに関する設定も必要になります。
最も単純な例では、2台のコンピュータがハブを用いて接続されます。
- 図
ここで、それぞれのコンピュータに対してIPアドレスを与えます。ここでIPアドレスは互いに重複しないように与える必要があります。
実際にIPアドレスを与えるときにはifconfigを利用します。Linuxでのネットワークデバイスは他のデバイスと異なっており、/dev以下にデバイスが現れることはありません。そのため、ネットワークデバイスが認識されているかはifconfigを用いて確かめる必要があります。
接続されている全てのネットワークデバイスを見るためには、
#ifconfig -a
を利用します。ここで、ネットワークデバイスloは常に表示されます。例えば、イーサネットを用いる機器はeth0, eth1のように認識されます。ここで得た名前はIPアドレスの設定で利用します。
この例では一切他のネットワークと接続しないので、IPアドレスはどの値を与えても機器は動作します。 例えば、1台目で
#ifconfig eth0 1.0.0.1
2台目で
#ifconfig eth0 1.0.0.2
としてもネットワークはつながります。ただし、インターネットに接続するときにはアドレスの重複が起こることに注意する必要があります。
パッケージ管理[編集]
現在のLinuxディストリビューションは様々なパッケージ管理ツールを利用しています。パッケージの形式にはw:rpm、w:debなどがあります。ここではrpmの使い方について述べます。
rpmはRed Had Linuxを中心とした多くのディストリビューションで利用されているパッケージソフトです。rpmはパッケージ毎の依存関係を確認しながらインストールやアンインストールを行います。ただし、実際に必要なファイル名を逐一調べているわけではないので、異なるディストリビュータからのrpmを1つのシステムに導入するのは危険です。rpm形式のファイルは.rpmの拡張子を持っています。
rpmはいくつかのオプションを持っており、オプションの種類によって動作が変わります。オプションには
- rpmのインストール -i
- rpmのアップデート -U
- rpmのアンインストール -e
- rpmの内容を調べる -q
などがあります。
- 例
#rpm -i rpmファイル #rpm -U rpmファイル
それぞれインストールとアップデートを行います。インストールとアップデートはまだシステムに対応するrpmが導入されていないときには同じ振舞いをします。一方、既に導入されているときにはアップデートでは古い版のrpmを削除してからインストールを行います。
#rpm -e パッケージ名
パッケージ名はrpmをインストールしたときのrpmファイルの名称です。これは、後述する-qオプションを用いて調べることができます。
#rpm -q パッケージ名
パッケージがシステムにインストールされているかを調べます。
#rpm -qi パッケージ名 #rpm -ql パッケージ名
それぞれパッケージの一般的な情報とパッケージに含まれるファイル名を返します。
#rpm -qa
システムにインストールされている全てのパッケージを返します。
#rpm -qp rpmファイル
-qオプションをrpmファイルに対して適用します。例えば、-qplオプションでは、rpmファイルに含まれる全てのファイルを書き出します。
ユーザ管理[編集]
Linuxは複数のユーザによって利用されます。そのため、個々のユーザの作業領域や権限を定める作業が必要になります。また、何人かのユーザを1つのグループにいれて、権限を与えることも行われます。ここでは、ユーザやグループの管理についてまとめます。
- useradd
- userdel
- usermod
- groupadd
- groupdel
- groupmod
- passwd