LoginSignup
1
1

More than 3 years have passed since last update.

LPIC・システムアーキテクチャ

Last updated at Posted at 2020-12-14

個人的なメモです。

ハードウェアの構成と管理

☆ハードウェア情報を表示するコマンド

lspciコマンド

システムのすべてのPCIバスと、接続されているデバイスに関する情報を表示する

主なオプション 説明
-s 特定のバス、デバイス、機能を指定
-v 詳細情報を表示

lsusbコマンド

USBバスと、接続されているデバイスに関する情報を表示する

主なオプション 説明
-t USBデバイスの物理的な階層構造を表示
-s 「Bus番号:デバイス番号」により表示するデバイスを指定
-v 詳細情報を表示

lsmodコマンド

現在システムにロードされているモジュールの状態を表示
/proc/modulesファイルの内容が読み込まれて表示される

modprobeコマンド

指定されたモジュールの依存関係を確認し、必要なモジュールを自動的に追加、もしくは削除する
insmodコマンドもモジュールをロードするが、モジュールの依存関係を考慮しない

主なオプション 説明
-r,--remove モージュールを削除する
--show-depends モージュールの依存関係を列挙する
-c,--showconfig 設定ファイルの内容を表示する

☆重要な/proc配下ファイル

主なオプション 説明
/proc/cpuinfo CPUの情報を格納したファイル
/proc/interrupts (※)IPQなどの(※)インタラプトの情報を格納したファイル
/proc/ioports デバイスの制御とデータの受け渡しを行うI/Oポートのアドレスを格納したファイル

IRQ(Interrupt ReQuest)・・・割り込み要求.周辺デバイスがCPUを呼び出すための信号.この信号を使ってデバイスがCPUを呼び出すと,CPUは処理を中断して所定の割り込み処理ルーチンを実行する

インタラプト(interrupt)・・・ただいま実行されている処理を、一時的に中断して、より優先される別の処理を行うこと。デバイスがシステムに処理を要求するときに割り込み要求IPQを発行することにより起こる

システムのブートシーケンス

電源を入れてからログイン画面もしくはログインプロンプトが表示されるまでのOSが稼働するために必要なすべての設定の一連の流れのことをブートシーケンスという

ブートシーケンスの構成内容は以下のようになっている

①BIOS/UEFI
②ブートローダ
③カーネル
④systemd

☆①BIOS/UEFI

・PCの電源を入れると最初にBIOS/UEFIが起動する
・ハードウェアのチェックや初期化を行い、ディスクに書き込まれたブートローダを読み出した後、ブートローダに制御を移す

BIOS

MBR(ディスクの先頭ブロック)に書き込まれたブートローダをメモリにロードする
基本的なハードウェアの制御を行っており、OSをインストールしなくても画面に入ることができる

MBR・・・基本パーティション4つ。パーティション情報はディスクの先頭セクタに格納

UEFI(Unified Extensible Fireware Interface)

UEFIブートエントリで指定されたEFIシステムパーティション中のブートローダをメモリにロードする
BIOSと違いGUIでも操作できる

EFI・・・BIOSに代わるファームウェア規格で、機能が拡張されたもの。UEFIはEFIから名前が変わったもので、同じ意味を指す

各種類 パーティション数 パーティション情報 最大容量
MBR(Master Boot Record) 基本パーティションを4個 ディスクの先頭セクタに格納 2TiB
GPT(GUID Partition Table) パーティションを128個 ディスク2番目のセクタのGPTヘッダと、3番目のセクタから始まる32個のセクタに格納 9.4TiB

☆②ブートローダ

・ハードティスク等からOSを起動するためのプログラム
・Linuxの主なブートローダとしてGRUB(GRand Unified Bootloder)や、GRUB2がある

GRUB

設定ファイルは、/boot/grub/grub.confまたは、/boot/grub/menu.lstファイル
ブート時にカーネルに渡された引数を確認できるファイルは/proc/cmdlineファイル

grub-installコマンド・・・GRUBをインストールするコマンド

GRUB2

GRUB Legacyの後継として開発されたブートローダ

主なディレクトリと設定ファイル 説明
/boot/grub 設定ファイルとモジュールの置かれたディレクトリ。ディストリビューションによっては、/boot/grub2
/boot/grub/grub.cfg 設定ファイル。ディストリビューションによっては、/boot/grub2/grub.cfg
/usr/lib/grub/i386-pc モジュールの置かれたディレクトリ。この下のモジュールがGRUB2のインストール時に/boot/grubの下にコピーされて使用される
/etc/grub.d 設定ファイルgrub.cfgの生成時に実行されるスクリプトが置かれたディレクトリ

※ディストリビューション・・・Linuxの配布形態のこと。Linuxの主なディストリビューションとして、Turbolinux、Vine Linux、Red Hat Linux、Debian GNU/Linuxなど

grub-mkconfigコマンド・・・設定ファイルgrub.cfgを生成するコマンド

☆③カーネル

・OSの中核であり、 システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する
・カーネルを起動したあと、ルートファイルシステムをマウントするためにinitramfsというイメージファイルを使用する

initramfs

現在Linuxでもっとも使われている(※)ミニルートの(※)ファイルフォーマットの1つ
(※)ファイルシステムをcpio形式でアーカイブしたうえで、gzipで圧縮したファイル

ミニルート・・・メモリ上に展開可能な、小さなサイズの(※)ルートファイルシステム。ミニルートには、ルートファイルシステムをマウントするために必要な(※)カーネルモジュールや(※)スクリプトが保存されており、ブートローダーはカーネルと一緒にこのミニルートをメモリ上に展開し、カーネルにそのアドレスを伝える。カーネルはそのアドレスを元にミニルートをマウントし、その中にあるスクリプトを実行することで本来のルートファイルシステムをマウントする

※ファイルフォーマット・・・コンピュータ上のデータをどのように扱うかを定めた規約のこと

※カーネルモジュール・・・カーネルで動的に追加されるプログラム部品(モジュール)。通常、カーネルを形成しているプログラムに機能を追加しようとする場合には、カーネルを再構築する必要がある。その点、カーネルモジュールを用いると、必要に応じて動的に機能を追加することができるようになる

※スクリプト・・・プログラムの種類の一つで、人間が読み書きしやすいプログラミング言語で書かれたプログラム(ソースコード)を即座に実行できるようなもの

※ルートファイルシステム・・・(※)ファイルシステムの最上位に位置し、/(ルート)ディレクトリを格納する。耐障害性、保守性を高めるため通常は複数のパーティションを用意して、各パーティションに/home、/varなどのディレクトリを割り当てる

※ファイルシステム・・・OSが提供する機能の一つで、記憶装置に保存されたデータを管理し、操作するために必要な機能

dmesgコマンド

カーネルが起動時に出力したメッセージを表示するコマンド
RedHat系では/var/log/dmesgファイルにこれらのメッセージが格納される

☆④systemd

SysV initに代わる起動処理やシステム管理を行う仕組み
ユニット(unit)によってシステムを管理する

ユニット(unit)

systemdの管理対象となる処理の単位
systemctlコマンドによって設定や表示などほとんどすべての管理ができる

systemctlコマンド・・・systemdを操作するコマンドで、サービスの起動や停止、状態確認などを行う

主なサブコマンド 説明
start ユニットを開始する
restart ユニットをリスタートする
stop ユニットを停止する
status ユニットの状態を表示する
enable システム起動時にユニットは自動的に開始しない
disable システム起動時にユニットは自動的に開始しない
list-units アクティブなユニットをすべて表示する
list-unit-files インストールされているすべてのユニットを表示する

ターゲット・・・複数のユニットをグループ化したユニットであり、SysV initのランレベルに相当

主なターゲット 説明 SysV ランレベル
default.target システム起動時のデフォルトのターゲット -
sysinit.target システム起動時の食段階のセットアップを行うターゲット -
rescue.target 障害発生時やメンテナンス時に管理者が利用するターゲット 1
multi-user.target テキストベースでのマルチユーザのセットアップを行うターゲット 3
graphical.target グラフィカルログインをセットアップするターゲット 5

SysV init

/etc/inittabファイルに記述されたランレベルをもとに、initプロセスがサービスを起動する

ランレベル・・・システムの動作モードのこと

主なランレベル サービス 説明
0 停止 システムの停止
1 シングルユーザ rootだけログイン可能。システムのメンテナンスで使用される
3 マルチユーザ rootだけでなく一般ユーザもログイン可能。コンソールに表示されたログインプロンプトからログインする
5 マルチユーザ+GUI画面 ディスプレイマネージャのログイン画面からX Windows Systemにログインする
6 再起動 システムの再起動
システム稼働状態の変更コマンド

initコマンド・・・プロセス制御・ランレベルを変更するコマンド

telinitコマンド・・・initに指示を与えてランレベルを変更するコマンド

shutdownコマンド・・・ログインしているすべてのユーザに対し、システム状態の変更通知が行われ、さらに変更までの猶予時間の設定が可能

主なオプション 説明
-r システムを再起動(ランレベル6)する
-h システムを停止(ランレベル0)する

その他コマンド

unameコマンド・・・カーネルバージョンうやマシンアーキテクチャなどのシステム情報を表示するコマンド

主なオプション 説明
-m マシン(ハードウェア)のタイプを表示する
-n マシンのネットワークホスト名を表示する
-r OSのリリースを表示する
-s OSの名称を表示する
-v OSのバージョンを表示する
-a 情報すべてを表示する

※オプションを指定しない場合は、-sオプションと同様の項目を表示

wallコマンド・・・全員の端末にメッセージを送ることができるコマンド

uptime,w,topコマンド・・・システム(OS)の稼働時間を表示するコマンド

コマンド 説明
uptime 現在時刻、システム起動からの時間、システム上にいるユーザ数、システムの平均負荷が順に表示される
w ログインしている人とその人がしていることを表示する。ヘッダにはuptimeと同じ内容が表示される
top プロセスの情報を周期的にリアルタイムに表示する。1行目にはuptimeと同じ内容が表示される
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1