今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

Linux勉強事始。

Linux起動時の動作について

カーネル→initの順番で起動。initは全ての親プロセス。initは/etc/inittabを起動。inittabは

  1. /etc/rc.d/rc.sysinitという初期化スクリプト(SystemInitialize)を実行。
  2. ランレベルに応じて/etc/rc.d/rc.*.d/の中のrcスクリプト(シェルスクリプト)を起動。

※デフォルトランレベルもここで設定(0とか6にしない!)
※K00→K99→S00→S99の順番
※rc.*d/の中のrcスクリプトの実態は/etc/rc.d/init.d/の中。rcスクリプトに対してstart,stop,restartが可。

スーパーサーバー(スーパーデーモン)inetdとxinetdについて

httpdなどたまにしか動かないデーモンを常時起動するのはアホらしい。そこでポートを監視して必要なデーモンを起動するスーパーデーモンであるinetd(xinetd)を常時起動し、必要に応じて子デーモンを起動することでリソースを節約できる。今となってはxinetdが主流のようです。

./configure → make → make installの意味について

ITmedia エンタープライズ : Linux Tips「./configure;make;make installにはどんな意味がある?」

tarコマンドでソースがアーカイブされたものをインストールする手法

  1. ./configure これからインストールを行うOSのCPUやバージョンを調べたり、必要な関連ツールを調査し、Makefileを作成する。
  2. make configureで作成されたMakefileを基にしてソースコードコンパイル
  3. make install makeで生成されたバイナリファイルを規定のディレクトリにコピー(インストール)する。

※./configure時にオプションをつけることができる(例:--prefix=/usr/xxxxでインストール先の変更)

各種パフォーマンス、設定変更コマンド

CPU/ディスク情報確認 /proc/cpuinfo /proc/devices
ディスク容量確認 df -h du-sm
ネットワーク全般 /etc/sysconfig/network
IPアドレス設定 /etc/sysconfig/network-scripts
サービス設定確認 chkconfig --list
サービス設定 chkconfig [サービス名] on/off/reset
サービスONOFF service [サービス名] start/stop/restart
※rcスクリプトを使う手法もある

yumについて

MSUpdateみたいなもん。MSUpdateと違ってLinuxで動作するほぼ全てのプログラムに有効。

yumの環境設定

Linuxにはyumの自動更新プログラムとしてyum-updatesdがあるが、常駐型のためメモリ食う+いろいろ不具合あるらしいので停止→削除する。

/etc/rc.d/init.d/yum-updatesd stop
yum -y remove yum-updatesd

chkconfigで起動時の起動をオフにするでもよい

chkconfig yum-updatesd off

こうすると/etc/rc.d/rc3.d/(rc5.d)以下のSXXyum-updatesdがなくなりKXXyum-updatesdとなる。

yum-updatesdをkillしたら、代わりにyum-cronを導入する。

yum install yum-cron
/etc/rc.d/init.d/yum-cron start
chkconfig yum-cron on

yum実行時に最速ミラーサイトを使うようにする。常套手段。

yum install yum-fastestmirror

詳しくはyum-cron のすすめ | Carpe Diemをご参照。

yumでよく利用するコマンド
yum install [パッケージ] パッケージのinstall/update
yum list [パッケージ] パッケージの最新版があるかどうかチェック
yum info [パッケージ] パッケージの情報
yum search [パッケージ] パッケージの検索。部分一致でOK
yum remove [パッケージ] パッケージの消去
yum update アップデート可能なパッケージをアップデート。-yで自動応答。

詳しくは@IT:yumコマンドでよく利用するコマンド

yumライブラリの保存場所は/usr/share/doc/