さまざまな設定

さまざまな設定は /etc/rc.d/rc.M で行います。/etc/rc.d/rc.M は Bourne シェルスクリプトです。

/etc/rc.d/rc.M
# Screen blanks after 15 minutes idle time.
/bin/setterm -blank 15

/bin/setterm -blank 15 を実行します。これは、15 分間アイドル状態が続いた場合に画面をブランクにします。

/etc/rc.d/rc.M
# If there's no /etc/HOSTNAME, fall back on this default:
if [ ! -r /etc/HOSTNAME ]; then
  echo "darkstar.example.net" > /etc/HOSTNAME
fi

/etc/HOSTNAME が読み込み可能でない場合は、/etc/HOSTNAME を新規作成し darkstar.example.net と書き込みます。

/etc/rc.d/rc.M
# Set the hostname.
/bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .`

ホスト名を設定します。ホスト名は /etc/HOSTNAME から読み込みます。

/etc/rc.d/rc.M
# Initialize PCMCIA devices:
#
# NOTE: This used to be started near the top of rc.S so that PCMCIA devices
# could be fsck'ed along with the other drives.  This had some unfortunate
# side effects, however, since root isn't yet read-write, and /var might not
# even be mounted the .pid files can't be correctly written in /var/run and
# the pcmcia system can't be correctly shut down.  If you want some PCMCIA
# partition to be mounted at boot (or when the card is inserted) then add
# the appropriate lines to /etc/pcmcia/scsi.opts.
#
if [ -x /etc/rc.d/rc.pcmcia ] ; then
  . /etc/rc.d/rc.pcmcia start
  # The cards might need a little extra time here to initialize.
  if [ -r /var/run/cardmgr.pid ]; then
    sleep 5
  fi
fi

/etc/rc.d/rc.pcmcia が実行可能であれば、/etc/rc.d/rc.pcmcia start を実行します。これは、PCMCIA デバイスの初期化を行います。次に /var/run/cardmgr.pid が読み込み可能であれば sleep 5 を実行します。これは 5 秒間待ちます。

/etc/rc.d/rc.M
# Initialize the network subsystem.
if [ -x /etc/rc.d/rc.inet1 ]; then
  . /etc/rc.d/rc.inet1
fi
if [ -x /etc/rc.d/rc.inet2 ]; then
  . /etc/rc.d/rc.inet2
else
  # Start the system logger.  Normally this is started by
  # rc.inet2 because /usr might be mounted via NFS.
  if [ -x /etc/rc.d/rc.syslog ]; then
    . /etc/rc.d/rc.syslog start
  fi
fi

/etc/rc.d/rc.inet1 が実行可能であれば、/etc/rc.d/rc.inet1 を実行します。これは、ネットワークの設定を行います。

/etc/rc.d/rc.inet2 が実行可能であれば、/etc/rc.d/rc.inet2 を実行します。これも、ネットワークの設定を行います。/etc/rc.d/rc.inet2 が実行可能でない場合は /etc/rc.d/rc.syslog を調べます。/etc/rc.d/rc.syslog が実行可能であれば、/etc/rc.d/rc.syslog start を実行します。これは、システムのログを記録するデーモンを起動します。

/etc/rc.d/rc.M
# Remove stale locks and junk files (must be done after mount -a!)
/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/core /core 1> /dev/null 2> /dev/null

古いロックファイルとジャンクファイルを削除します。

/etc/rc.d/rc.M
# Remove stale hunt sockets so the game can start.
if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
  echo "Removing your stale hunt sockets from /tmp."
  /bin/rm -f /tmp/hunt*
fi

/tmp/hunt あるいは /tmp/hunt.stats が読み込み可能であれば、/bin/rm -f /tmp/hunt* を実行し削除します。

/etc/rc.d/rc.M
# Ensure basic filesystem permissions sanity.
chmod 755 / 2> /dev/null
chmod 1777 /tmp /var/tmp

基本的なファイルシステムのパーミッションを正しく設定します。

/etc/rc.d/rc.M
# Update all the shared library links:
/sbin/ldconfig

/sbin/ldconfig を実行し、すべての共有ライブラリのリンクを更新します。

/etc/rc.d/rc.M
# Start the print spooling system.  This will usually be LPD or CUPS.
if [ -x /etc/rc.d/rc.cups ]; then
  # Start CUPS:
  /etc/rc.d/rc.cups start
elif [ -x /usr/sbin/lpd ]; then
  # Start LPD:
  echo "Starting the line printer daemon:  /usr/sbin/lpd"
  /usr/sbin/lpd
fi

/etc/rc.d/rc.cups が実行可能であれば、/etc/rc.d/rc.cups start を実行します。/etc/rc.d/rc.cups が実行可能でない場合は、/usr/sbin/lpd を調べます。/usr/sbin/lpd が実行可能であれば /usr/sbin/lpd を実行します。

/etc/rc.d/rc.M
# Turn on process accounting:
if [ -x /sbin/accton ]; then
  /sbin/accton /var/log/pacct
  chmod 640 /var/log/pacct
  echo "Process accounting turned on."
fi

/sbin/accton が実行可能であれば、/sbin/accton /var/log/pacct と chmod 640 /var/log/pacct を実行します。

/etc/rc.d/rc.M
# Start crond (Dillon's crond):
# If you want cron to actually log activity to /var/log/cron, then change
# -l10 to -l8 to increase the logging level.
if [ -x /usr/sbin/crond ]; then
  /usr/sbin/crond -l10 >>/var/log/cron 2>&1
fi

/usr/sbin/crond が実行可能であれば、/usr/sbin/crond -l10 >>/var/log/cron 2>&1 を実行します。これは cron デーモンを起動します。

/etc/rc.d/rc.M
# Start atd (manages jobs scheduled with 'at'):
if [ -x /usr/sbin/atd ]; then
  /usr/sbin/atd -b 15 -l 1
fi

/usr/sbin/atd が実行可能であれば、/usr/sbin/atd -b 15 -l 1 を実行します。これは at デーモンを起動します。

/etc/rc.d/rc.M
# Slackware-Mini-Quota-HOWTO:
# To really activate quotas, you'll need to add 'usrquota' to the appropriate
# partitions as listed in /etc/fstab.  Here's an example:
# /dev/hda2   /home   ext2   defaults,usrquota    1   1
# You'll then need to setup initial quota files at the top of the partitions
# to support quota, like this:
# touch /home/quota.user /home/quota.group
# chmod 600 /home/quota.user /home/quota.group
# Then, reboot to activate the system.
# To edit user quotas, use 'edquota'.  See 'man edquota'.  Also, the
# official Quota Mini-HOWTO has lots of useful information.  That can be found
# here:  /usr/doc/Linux-mini-HOWTOs/Quota

# Check quotas and then turn quota system on:
if fgrep quota /etc/fstab 1> /dev/null 2> /dev/null ; then
  if [ -x /sbin/quotacheck ]; then
    echo "Checking filesystem quotas:  /sbin/quotacheck -avugM"
    /sbin/quotacheck -avugM
  fi
  if [ -x /sbin/quotaon ]; then
    echo "Activating filesystem quotas:  /sbin/quotaon -avug"
    /sbin/quotaon -avug
  fi
fi

/etc/fstab を読み込み、Quota が使われていることを検出した場合、/sbin/quotacheck を調べます。/sbin/quotacheck が実行可能であれば、/sbin/quotacheck -avugM を実行します。次に、/sbin/quotaon が実行可能であれば /sbin/quotaon -avug を実行します。

/etc/rc.d/rc.M
# Start the sendmail daemon:
if [ -x /etc/rc.d/rc.sendmail ]; then
  . /etc/rc.d/rc.sendmail start
fi

/etc/rc.d/rc.sendmail が実行可能であれば、/etc/rc.d/rc.sendmail start を実行します。これは、sendmail デーモンを起動します。

/etc/rc.d/rc.M
# Start the APM daemon if APM is enabled in the kernel:
if [ -x /usr/sbin/apmd ]; then
  if cat /proc/apm 1> /dev/null 2> /dev/null ; then
    echo "Starting APM daemon:  /usr/sbin/apmd"
    /usr/sbin/apmd
  fi
fi

/usr/sbin/apmd が実行可能であれば、cat /proc/apm 1> /dev/null 2> /dev/null を実行し、カーネルが APM に対応しているかどうかを調べます。対応している場合は、/usr/sbin/apmd を実行し、apm デーモンを起動します。

/etc/rc.d/rc.M
# Load a custom screen font if the user has an rc.font script.
if [ -x /etc/rc.d/rc.font ]; then
  . /etc/rc.d/rc.font
fi

/etc/rc.d/rc.font が実行可能であれば、/etc/rc.d/rc.font を実行します。これは、スクリーンフォントを読み込みます。

/etc/rc.d/rc.M
# Load a custom keymap if the user has an rc.keymap script.
if [ -x /etc/rc.d/rc.keymap ]; then
  . /etc/rc.d/rc.keymap
fi

/etc/rc.d/rc.keymap が実行可能であれば、/etc/rc.d/rc.keymap を実行します。これは、キーマップを読み込みます。

/etc/rc.d/rc.M
# Start Web server:
if [ -x /etc/rc.d/rc.httpd ]; then
  . /etc/rc.d/rc.httpd start
fi

/etc/rc.d/rc.httpd が実行可能であれば、/etc/rc.d/rc.httpd start を実行します。これは、Web サーバを起動します。

/etc/rc.d/rc.M
# Start Samba (a file/print server for Win95/NT machines).
# A copy of rc.samba can be found in the examples directory of the
# Samba docs.  Samba can also be started in /etc/inetd.conf.
if [ -x /etc/rc.d/rc.samba ]; then
  . /etc/rc.d/rc.samba start
fi

/etc/rc.d/rc.samba が実行可能であれば、/etc/rc.d/rc.samba start を実行します。これは、Samba を起動します。

/etc/rc.d/rc.M
# Start the GPM mouse server:
if [ -x /etc/rc.d/rc.gpm ]; then
  . /etc/rc.d/rc.gpm start
fi

/etc/rc.d/rc.gpm が実行可能であれば、/etc/rc.d/rc.gpm start を実行します。これは GPM マウスサーバを起動します。

/etc/rc.d/rc.M
# If there are SystemV init scripts for this runlevel, run them.
if [ -x /etc/rc.d/rc.sysvinit ]; then
  . /etc/rc.d/rc.sysvinit
fi

/etc/rc.d/rc.sysvinit が実行可能であれば、/etc/rc.d/rc.sysvinit を実行します。これは、SystemV スタイルの初期化スクリプトとの互換性を保つために実行されるものです。

/etc/rc.d/rc.M
# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
  . /etc/rc.d/rc.local
fi

/etc/rc.d/rc.local が実行可能であれば、/etc/rc.d/rc.local を実行します。これは、ローカル用の初期化ファイルです。インストール直後には、何も書かれていません。

参考文献


前へ 起動プロセス入門 次へ