LPICに即したメモです
ハードウェアの基本知識
ハードウェアはudevという仕組みで管理されている
lsでデバイス情報を確認する
lsでデバイス一覧を表示
ls -dev
catでデバイス情報を確認する
CPUデバイス一覧を表示
cat /proc/cpuinfo
IRQ ※割り込み処理の回数表示
cat /proc/interrupts
メモリデバイス一覧を表示
cat /proc/meminfo
USBデバイス一覧を表示
cat /proc/bus/usb/*
PCIデバイス一覧を表示
cat /proc/bus/pci/*
lspciでデバイス情報を確認する
lspciで表示
lspci
詳細を表示
Lspci -v
より詳細を表示
lspci -vv
起動と終了
起動関連メッセージの確認方法
dmesg:カーネルが出力したメッセージを表示する。バッファ情報のため、起動時間が長いと消える
dmesg
Catでメッセージログを確認する
cat /var/log/messages
ジャーナルログを確認する
※ -k カーネルのログ、-b 起動時からのログ
journalctl -kb
シャットダウン 基本はshutdown
通常のシャットダウン
shutdown -h
5分後にシャットダウン
shutdown -h +5
再起動する
shutdown -r
即時、再起動する
shutdown -r now
1.3 起動方法
Linuxのシステム起動には2種の方法が混在している。
それぞれ起動の方法が異なる。
・SysVinit系:古いシステム
・systemd:主にCentOS 7以降
SysVinit系の起動プロセス
- BIOS起動
- ブートローダ起動、カーネルをメモリに展開
- カーネル起動
- ドライバ等をロード、initプロセス起動
initプロセスで各種自動起動を設定する - 指定されたランレベルに応じた起動処理を実行
- ログイン受付開始
●各種ファイル
・/etc/rc.sysinit 基本の設定ファイル
ファイルシステムのマウント等、基本的な処理を行う。
ランレベルに依存しない。
RedHat系ディストリビューションでは/etc/rc.d/rc.sysinitのシンボリックリンク
・/etc/rc0.d 〜 rc6.d ディレクトリ
ランレベル別起動スクリプトがある。例えばランレベル3のときは、/etc/rc3.dディレクトリ以下のスクリプトが実行される。
ファイル名がS(Start)開始だと該当ランレベルで開始されるスクリプト。
ファイル名がK(Kill)開始だと該当ランレベルで終了されるサービス。
・/etc/rc.local
起動時に実行するホスト固有の処理。
●ランラベル
レベルごとにどのサービスを起動できるか定義する
0:停止
1:シングルユーザモード
2:マルチユーザーモード(テキストログイン、NFSサーバは停止)
3:マルチユーザーモード(テキストログイン)
4:未使用
5:マルチユーザーモード(GUI)
6:再起動
S or s:シングルユーザモード※起動時にパスワード設定可能。ディストリビューションによって違う
・現在のランレベルを確認する
runlebel
・ランレベルを変更する※実行後、全ユーザは強制ログアウトされる
init 【数値 1~5】
・自動起動の設定 httpdの場合
chkconfig httpd off
・自動起動の設定ランレベルを指定は --levelオプション httpdの場合
chkconfig --level 3 httpd on
SysSystemd系の起動プロセス
- BIOS起動
- ブートローダ起動、カーネルをメモリに展開
- カーネル起動 ※ここまではSysVinitと同じ
- ドライバ等をロード、systemdプロセス起動
- Unit(default.target)が処理される
default.target(/etc/systemd/system/default.target)は他のターゲットへのシンボリックリンク - システムの用途に適したターゲットが処理される
- ログイン受付開始
サービスの自動起動 Systemd
・自動起動設定
systemctl enable サービス名.service
・自動起動解除
systemctl disable サービス名.service
・自動起動設定の確認
systemctl is-enabled サービス名.service
関連コマンド
start:サービス起動
stop:サービス終了
restart:サービス再起動
reload:サービス設定の再読み込み
status:サービスの状況を表示する
enable:自動起動を有効にする
disable:自動を無効にする
list-unit-files:すべてのUnitを表示する
●参考記事
https://eng-entrance.com/linux_startup
●履歴
作成:2021/5/7
更新:2021/5/9 SysVinit.Systemd、サービス等を追記