|Home|私のLinux活用記録-Home-|

私のLinux活用記録

-Page4-

項目

kh04-01[コマンドが配置されているディレクトリの確認]
kh04-02[PPxP, qdial, tkPPxP 実行コマンドと関連ファイル]
kh04-03[Linux 起動の仕組みと設定ファイル]
kh04-04[Lilo とは]
kh04-05[/etc/inittab の内容]
kh04-06[/etc/inittab の設定内容と /sbin/init による実行内容]
kh04-07[/etc/rc.d/init.d/ 配下のスクリプトファイルの内容]

 

[コマンドが配置されているディレクトリの確認]

変数 PATH の値 ($PATH) で定義されたディレクトリに配置されたコマンド(ファイル)は、コマンド入力だけで実行可能です。$PATH に定義されていないディレクトリに配置された実行ファイルは、パス/実行ファイルを指定しないと実行されません。
$PATH は、シェルが bash の場合、/etc/skel/.bash_profile に定義されています。
以下 /etc/skel/.bash_profile の内容です。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$Home/bin
BASH_ENV=$Home/.bashrc
USERNAME=""

export USERNAME BASH_ENV PATH
以下省略

上記の場合、変数 PATH は、$PATH と $Home/bin が PATH の値として再定義されています。export xxxx が実行された変数は環境変数と呼ばれています。上記の場合、変数USERNAME と BASH_ENV 及び PATH が環境変数として定義されています。

■ root権限での$PATH確認
□ # echo $PATH
/sbin/
/usr/sbin/
/bin/
/usr/bin/
/usr/X11R6/bin/
/root/bin/

■ ユーザー権限での$PATH確認
□ $ echo $PATH
/usr/bin/
/usr/local/bin/
/usr/X11R6/bin/
/bin/
/home/USER_NAME/bin/

■ 全ての環境変数の値を確認するには、以下のコマンドを実行します(ユーザー権限の場合)

□ $ env | less
LESSOPEN=.............
USERNAME=.............
XMODIFIERS=...........
HISTSIZE=.............
HOSTNAME=.............
LOGNAME=..............
HISTFILESIZE=.........
INIT_VERSION=.........
MAIL=.................
JLESSCHARSET=.........
TERMCAP=..............
TERM=.................
GDK=..................
HOSTTYPE=.............
PATH=.................
CONSOLE=..............
KDEDIR=...............
Home=.................
INPUTRC=..............
PREVLEVEL=............
RUNLEVEL=.............
SHELL=................
USER=.................
KDELANG=..............
AUTOBOOT=.............
BASH_ENV=.............
QTDIR=................
BOOT_IMAGE=...........
DISPLAY=..............
SESSION_MANAGER=......
LANG=.................
OSTYPE=...............
WINDOWID=.............
GDMSESSION=...........
LINGUAS=..............
SHLVL=................

■ 環境変数を変更するには、以下を実行します。
# VARIABLE_NAME="VALUE"
# export VARIABLE_NAME

■ $PATHで定義されたディレクトリに配置された主要コマンド
コマンドがどのディレクトリに存在するかは、以下で確認できます。
$ which COMMAND_NAME

□ /sbin/
fdisk
lilo
shutdown

□ /usr/sbin/

□ /bin/
cat
chgrp
chmod
chown
cp
dmesg
gedit
grep
gzip
kedit
linuxconf
ls
mkdir
more
mount
pwd
rm
rpm
su
tar
umount
vi

□ /usr/bin/
env
gedit
less
netscape
updatedb
whereis
which

□ /usr/X11R6/bin/
kterm
kinput2
kinput2x
startx

□ /root/bin/

□ /usr/local/bin
ppxp
qdial
tkppxp
xppxp
xppxpm

□ /home/USER_NAME/bin/

戻る

[PPxP,qdial,tkPPxP実行コマンドと関連ファイル]

■ root 権限での (PPxP,qdial,tkPPxP) の起動
# /usr/local/bin/ppxp
# /usr/local/bin/qdial
# /usr/local/bin/tkppxp

■ ユーザー権限での (PPxP,qdial,tkPPxP) の起動
$ ppxp
$ qdial
$ tkppxp

■ /usr/local/etc/ppxp/conf/
root 権限で設定した PPP 設定データファイル (usr/local/bin/qdial で登録保存した PPP 設定データファイル) を配置

■ /home/USER_NAME/.ppxp/conf/
ユーザー権限で設定した PPP 設定データファイル (usr/local/bin/qdial で登録保存した PPP設定データファイル) を配置

■ /usr/local/etc/ppxp/modem/
各種モデムタイプの設定データファイル (/usr/local/bin/qdial で PPP 設定する時の、各種モデムタイプの設定データファイル) を配置

戻る

[Linux起動の仕組みと設定ファイル]

■ Linuxのブート
IPL(Initial Program Loader)起動(BIOS起動)
ブートデバイス起動
LILO(Linux Loader)読み込み
LILO起動
/ をread only でマウント
設定ファイル/etc/inittabを参照して、/sbin/initを実行

戻る

[LILOとは]

追記:2001年09月29日

あらかじめ、/sbin/lilo が /etc/lilo.conf を参照して、ブートデバイスに書き込んだブ
ートローダー。/etc/lilo.conf を変更した場合は、以下を実行する。
# lilo

WindowsとLinuxを共存させた場合、どちらをデフォルトブートにするかは /etc/lilo.conf を以下のように設定し、# lilo を実行すれば切り替えることができます。

■ /etc/lilo.confの内容1(default = linuxの場合)
boot = /dev/hda
timeout = 50
prompt
  default = linux
  vga = normal
  read-only
map=/boot/map
install=/boot/boot.b
image = /boot/vmlinuz-2.2.5-rh60_L5_2
  label = linux
  root = /dev/hda3
other = /dev/hda1
  label = dos
  table=/dev/hda

■ /etc/lilo.confの内容2(default = dos)の場合
boot = /dev/hda
timeout = 50
prompt
  default = dos
  vga = normal
  read-only
map=/boot/map
install=/boot/boot.b
image = /boot/vmlinuz-2.2.5-rh60_L5_2
  label = linux
  root = /dev/hda3
other = /dev/hda1
  label = dos
  table=/dev/hda

追記(2001.09.29)
LILO に関連した記事は、以下を参照して下さい。
kh05-01[kernel と modules の再構築]
kh06-02[2種類のディストリビューションインストールと LILO 設定]
kh06-04[各種ディストリビューションの評価]
kh06-07[SCSI HDD への Linux インストールと LILO による起動]
kh07-01[Kondara MNU/Linux 2000]
kh07-01.04 LILO の設定
kh07-04[smp-fb の解除方法]
kh07-06[ide-scsi エミュレーション]
kh09-01[Vine Linux 2.1.5]
kh09-01.11 ATAPI CD-RW を 使用するための ide-scsi エミュレーション

戻る

[/etc/inittabの内容]

#
# inittab      This file describes how the INIT process should set up
#              the system in a certain run-level.
#
# Author:      Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#              Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Things to run in every runlevel.
ud::once:/sbin/update

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left.  Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting
# Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon

戻る

[/etc/inittabの設定内容と/sbin/initによる実行内容]

■ id:5:initdefault:
runlevel 5(X11のxdmを使った起動)を指定
runlevelの変更は
# telinit RUNLEVEL_#

■ si::sysinit:/etc/rc.d/rc.sysinit
si::sysinit: が指定されると、id: の設定に拘わらず /etc/rc.d/rc.sysinit が実行される。
□ /etc/rc.d/rc.sysinit の処理内容
runlevel 5 に相当する以下のスクリプトを実行する
l5:5:wait:/etc/rc.d/rc 5(5 は引数)
□□ /etc/rc.d/rc 5 は、/etc/rc.d/rc5.d/ 配下の以下のスクリプトを実行する。
/etc/rc.d/rc5.d/K*
/etc/rc.d/rc5.d/S*
上記ファイルは、全て/etc/rc.d/init.d/ 配下のスクリプトファイルにリンクしたシンボリックリンクです。K* ファイルは実行されません。S* ファイルからリンクした /etc/rc.d/init.d/ 配下の対応スクリプトファイルが実行されます。

■ /sbin/chkconfig コマンド

□ # /sbin/chkconfig --list
現在の設定による、デーモンの起動状況確認

□ # /sbin/chkconfig --add SCRIPT_NAME
/etc/rc.d/init.d/配下にスクリプトを追加した場合に実行する。
各ランレベル毎のリンクが追加される。

□ # /sbin/chkconfig --del SCRIPT_NAME
/etc/rc.d/init.d/配下のスクリプトを削除した場合に実行する。
各ランレベル毎のリンクが削除される。

戻る

[/etc/rc.d/init.d/配下のスクリプトファイルの内容]

■ 例:/etc/rc.d/init.d/amd
#!/bin/sh
#
# Version: 1.2
#
# chkconfig: 345 72 28
# description: Runs the automount daemonthat mounts devices and NFS hosts on demand.
# processname: amd
# config: /etc/amd.conf
#
以下省略

■ chkconfig: 345 72 28 の意味
345:デーモン起動のランレベルが3,4,5
 72:デーモン起動の順番
 28:デーモン停止の順番

■ config: /etc/amd.conf の意味
/etc/amd.conf:/etc/rc.d/init.d/amd実行に必要な設定ファイル

戻る

counter1counter2counter3counter4counter5counter6

|Home|
 
Valid XHTML 1.1 Valid CSS!