読者です 読者をやめる 読者になる 読者になる

decode

技術ブログ 本の紹介

Linuxの教科書―ホントに読んでほしいroot入門講座 読みました

Linuxの教科書―ホントに読んでほしいroot入門講座読みました。

今までむず痒かった所が晴れました。
内容は中級者向けでわかりやすい。最高。
とりあえず知らなかった所をまとめて行きます。

コマンド

fsckコマンド

ファイルシステムの管理データの矛盾をチェックする。
ファイルシステムのアンマウントが正常に行われなかった場合、次の起動時に自動で実行される。
発見された障害を無条件に修復するには「/etc/sysconfig/autofsck」に「AUTOFSCT_OPT="-a"」

telinit

ランレベルを変更する。
ランレベル1 シングルユーザモード、システムメンテナンス時など。
ランレベル3 複数ユーザログイン可能で、ログイン画面はCUI
ランレベル5 複数ユーザログイン可能で、ログイン画面はGUI

modprobe

カーネルモジュールを現在実行中のシステムに組み込むときに使用する。
modprobeはモジュールの依存関係を自動的に解決してくれるため、最高。
類似コマンドに、
insmod 依存関係を解決しない
depmod -a  依存関係を記述したファイルを自分で作成し直す
lsmod モジュール一覧表示
insmod 特定モジュールの組み込み
rmmod 特定モジュールの取り外し

netstat

オプションなしでは、その時点でマシンがどのネットワークに接続しているかが一覧表示
さらに -r -n -t -u などのオプションを使用することが多い、

-r

ルーティングテーブルの内容表示

-n

ホスト名でなく、ipアドレスで表示

-t -u

TCP接続、UDP接続のみを表示。

管理ファイル

Linuxでは、ソフトウェアの設定がテキストファイルに記述される。
そのようなシステム管理用のファイルは原則的に/etcに保存される。
また、rootが管理するファイルの中には/varディレクトリに保存されるものもあるが、殆ど書き換える事はない。

/etc

passwd shadow

システムのアカウントを記録する。
機密情報はrootにしか呼び出せないshadowファイルに記録されている。
また、ファイルをエディタで編集する時には、偶然他のユーザが同時にパスワード変更し、内容の不一致が発生するのを防ぐためにvipwコマンドを使う。

fstab

fstabは、どのデバイスのどのパーティションLinuxのどのディレクトリにマウントするか指示するファイル。

modprobe.conf

カーネルモジュールの設定ファイル。
例えばNICや、USBデバイスといった周辺機器を利用する場合に使用する。
自動的に読み込まれない場合や、モジュールの読み込みの順番を変更する場合に編集する、
つまり、「デバイスが認証されない」「デバイスドライバの読み込みでエラーが発生する」時に編集する必要がある。

rc.d

通常サーバプログラムのパッケージをインストールすると、そのプログラム起動用ファイルがrc.dディレクトリにインストールされる。
ランレベル3でhttpdを起動させたい場合には、rc.dの下にあるrc3.dにhttpdの起動ファイルへのシンボリックリンクを貼る。
httpdの起動ファイルは/etc/rc.d/init.d/httpdである。
この他にLinuxの起動時に実行させたいコマンドは/etc/rc.d/rc.localというシェルスクリプトに書き込んでおけば実行される。

hosts

IPネットワークではDNSが名前解決を行う。
一方、LAN内部で管理しているコンピュータで、DNSを用いずにホスト名で通信したい場合に/etc/hostsファイルを使用する。

resolv.conf nsswitch.conf

DNSを利用して名前解決を行う場合には各マシンの/etc/resolv.confに「どのDNSサーバを使用するか」をIPアドレスで設定する。

また、名前解決にはhostsファイルも使用できるため/etc/nsswitch.confファイルにどちらを優先させるか記述する。

hosts.allow hosts.deny

hosts.allowにはtelnetFTPなどでのサーバへの接続を許可するホストを記述する。
hosts.denyには接続を拒否するホストを列挙できる。
ただし全てのサーバプログラムがこれを参照するわけでは無い(apacheなど)

xinetd.conf

xinetdの設定ファイル。
書き換えた場合、スーパーサーバを再起動しなければ有効にならないため注意

sysconfig

ネットワークの設定。
Linux起動時に/etc/rc.sysinit シェルスクリプトから呼び出されるため、
シェルで実行できる形式でなければならないため注意

/var/llog

/var/log/messagesにはシステムの動作に関する様々な情報が書き込まれる。
/var/log/cronにはcronによって実行される管理コマンドの実行結果が書き込まれる。

ソースのインストール方法

  1. ソースコードの入手

foo.tar.gz や、bar.tar.bz2などのソースコードを引っ張ってくる。

  1. ファイルの展開
mkdir compile ; cd compile
tar zxf foo.tar.gz
tar jxf bar.tar.bz2
  1. 作成されるディレクトリに移動し、ファイルをチェックする。

特にINSTALLや、READMEを読む。

  1. configureの実行

ソースをコンパイルするときにはユーザが自分のシステムに合わせてソースの内容を変更する必要がある(少しの変更)。
しかし、手作業で変更するのは手間なため、多くのソースアーカイブにはconfigureというシェルスクリプトが付随している。

$ ./configure

とすると、ソースのコンパイルに必要なファイルを自動生成してくれる。
また、configureの実行時にオプションを付ける事ができる。(./configure --help で確認できる)
因みにconfigureの実行ミスがあった場合、 $ rm config.cacheというコマンドを実行する。
これにより、前回のconfigureの結果が消去される。

  1. makeの実行

configureが終了したらmakeコマンドでコンパイルに入る。

$ make

一般にmakeコマンドを実行すると、多数のソースコードコンパイルされる。
また、ライブラリとのリンク作業が行われる。

  1. make install

コンパイルが終了したら、必要なファイルを実際のファイルシステムインストールする。
ただし、root権限が必要になる。

$su 
#make install

疲れた

なんか疲れたのでこの辺にしておく。
この本は図書館で借りたのだが、購入したくなった。というか買おう。最高。









広告を非表示にする