LPIC 勉強記録 3月9日(午前分)

#第5章　ファイルの管理(昨日からの続き)

`findコマンド`
`-uid`　ユーザID(rootは`0`)を指定する
`-user`　ユーザ名(またはユーザID)を指定する
`-path`　シェルのパターンを指定する
PATH変数に指定されたディレクトリ以外にあるコマンドを検索する際にも使用できる

`locateコマンド`
`locate ファイル名`でファイルの検索ができる
ファイル名・ディレクトリ名の一覧のデータベースを使用して、インデックス検索を行っているため、高速に検索する
→　データベースの更新を行わないと、検索対象から外れてしまう

`updatedbコマンド`
データベースの更新
`/etc/updatedb.confファイル`に除外するディレクトリを記載しておくことができる
　→　`PRUNEFS`　データベース構築時に対象外とするファイルシステムタイプを記載
    `PRUNEPATHS`　対象外とするディレクトリパスを記載

`whichコマンド`
指定されたコマンドがどのディレクトリに格納されているかを、PATH環境変数で指定されたディレクトリを基に探す

`PATH環境変数`
使用したいプログラム(コマンド)のパスを保持する変数

`whereisコマンド`
指定されたコマンドのバイナリ・ソース・マニュアルページの場所を表示する

`typeコマンド`
指定したコマンドがバイナリなのか、エイリアスなのか等の情報を表示する

#第6章　ソフトウェア管理

`ライブラリ`
複数のアプリケーションからよく使用される機能を関数として実装し、複数の関数を種類ごとにファイルにまとめたもの

`ldconfigコマンド`
既存のライブラリのバージョンをアップしたり、新しいディレクトリを作ってその下に新しいライブラリをインストールした場合に実行すべきコマンド
実行されると、`/etc/ld.so.sonf`に記載された場所を参照し、シンボリックリンクの作成、および`/etc/ld.so.cache`へのキャッシュの書き込みを行う

`LD_LIBRARY_PATH環境変数`
あるライブラリを一時的に利用する場合などに使用する

`lddコマンド`
共有ライブラリへの依存関係を表示する
引数のファイル名には、コマンド名を指定する

`パッケージ管理システム`
ソフトウェアの導入(インストール)や削除(アンインストール)を比較的簡単に行うことができる

`RPM形式`
Red Hat LinuxやFedora Linux、CentOS等のRed Hat系ディストリビューションで採用されているパッケージ管理システム

`パッケージ`
実行形式に変換したバイナリの他、ライブラリや設定ファイル、マニュアルなどを1つにまとめたもの
パッケージを管理する上で必要となる依存情報も含まれている

`-q(--query)`
rpmパッケージに関する情報を調査し表示する
`-p`
ダウンロードしたインストール前のパッケージファイルの指定
`-R`
パッケージが依存するパッケージを表示する
`-l(--list)`
パッケージに含まれるファイル名をリスト表示する
`--all`
インストール済みのrpmパッケージ情報が一覧で表示される
`-c(--configfiles)`
設定ファイルの表示する
`-f`
指定したファイルを含むrpmパッケージを表示する
`-U(--upgrade)`
パッケージをアップグレードする。インストール済みのパッケージが存在しない場合、新規にインストールを行う
`-F(--freshen)`
インストールされているパッケージだけをアップデートする
`-e(--erase)`
rpmパッケージを削除する

`yum grouplist`
パッケージグループを一覧表示する
`yum group info パッケージグループ名`
特定のグループに含まれているパッケージを一覧表示する
`yum groupinstall パッケージグループ名`
グループ名を指定してパッケージのインストールを行う

`rpm2cpioコマンド`
rpmファイルをcpioアーカイブ形式に変換し、標準出力に出力する

`yum`
rpmパッケージを管理するユーティリティ
パッケージの依存関係を自動的に解決してインストール、削除、アップデートを行うユーティリティ

`yumコマンド`
インターネット上のリポジトリ(パッケージを保管・管理している場所)と通信し、簡単にrpmパッケージのインストールや最新情報の入手が可能
`list install`
インストール済みのrpmパッケージを表示
`list updates`
`check-update`
インストール済みのrpmパッケージで更新可能なものを表示
`remove`
`erase`
インストール済みのrpmパッケージをyumコマンドで削除する

`/etc/yum.conf`
yum実行時のログファイルの指定など、基本設定情報が記述されている
`/etc/yum.repos.d`
リポジトリサーバの設定情報が記述されたファイルが保存されている

`yumdownloaderコマンド`
rpmパッケージのインストールは行わず、rpmファイルのダウンロードだけをする

`zypper`
Libzyppライブラリを利用したコマンドラインによるパッケージ管理ツール
`remove パッケージ名`
パッケージの削除

`dpkgコマンド`
debパッケージのインストールやアップデート、アンインストールを行う
`-L(--listfiles)`
指定したパッケージに含まれるすべてのファイルを表示
`-S(--search)`
インストール済みのパッケージから指定されたファイルを検索する
`-C(--audit)`
インストールが完了していないパッケージを検索
`-l(--list)`
インストール済みの全debパッケージの情報を表示。特定のパッケージ情報のみ表示する場合は、-lオプションの後にパッケージ名を指定
`-r(--remove)`
dpkgコマンドでインストールしたdebパッケージを削除する際に、設定ファイルを残して削除する
`-P(--purge)`
設定ファイルも含めて完全に削除する
`-i(--install)`
パッケージをインストールする

`dselectコマンド`
パッケージ管理用ユーザインタフェースを起動する

`dpkg-reconfigureコマンド`
指定したインストール済みのパッケージに対し、設定内容を変更することが可能

`APT`
Debian GNU/Linuxにおいて、debパッケージをより効率よく管理するためのツール

`apt-cacheコマンド`
debパッケージ情報の検索、表示に使用
`apt-getコマンド`
debパッケージのインストール、アップグレード、アンインストールに使用
`apt-get install`
依存関係をチェックし、パッケージをインストールする
`apt-get upgrade`
現在インストールされているパッケージの削除は行わず、可能な限りシステムを最新の状態にアップグレードする

`/etc/apt/sources.list`
Debian系のパッケージ管理システムで、パッケージの置かれているネットワーク上の場所を記述する

`仮想化(Virtualization)`
ハードウェア、サーバ、ストレージ、ネットワークなどのコンピュータシステムを構成するリソースを元の構成から独立させて、分割あるいは統合する形で仮想的に構成する技術

`仮想マシン(VM)`
ハイパーバイザーによる仮想化で稼働する仮想環境
`コンテナ(LXC)`
コンテナ型仮想化の1つ

`ハイパーバイザー`
その上で仮想マシンを稼働させるソフトウェア

#第7章　システムアーキテクチャ

`Intel Core マイクロアーキテクチャ`
1998年からIntel社のプロセッサXeon、Core i7、Celeronなどで採用されているマルチコアプロセッサ用の高性能で低消費電力のアーキテクチャ
プロセッサチップとPCH(Platform Controller Hbu)チップによるチップセットから構成される

`PCI`
Intel Core マイクロアーキテクチャではチップセット内部の主要なデバイスを接続するバスとして使われ、拡張用バスとしてはPCI Expressが使われている

`ISA`
Intel Core マイクロアーキテクチャよりも以前のPC/AT互換機から採用されている低速の拡張バス

`lspciコマンド`
システムのすべてのPCIバスと、接続されているデバイスに関する情報を表示する
`-sオプション`
特定のバス、デバイス、機能を指定できる
`-vオプション`
詳細情報を表示できる
`-nオプション`
ベンダ名でなく、ベンダIDで表示する

`lsusbコマンド`
USBバスと、接続されているデバイスに関する情報を表示する

`インタラプト`
デバイスがシステムに処理を要求するときに、割り込み要求(IRQ)を発行することにより起こる

`/proc/interrupts`
IRQなどインタラプトの情報を格納したファイル

`lsmodコマンド`
現在システムにロードされているモジュールの状態を表示する

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

`ACPI`
PC/AT互換機の電源制御の統一規格として採用された、ハードウェアコンポーネントの電源管理のための規格
電源ボタン、ノートPCのフタの開閉、バッテリーの充電状態、プロセッサの速度制御などにより、省電力化を行う

`ブートシーケンス`
電源を入れてから、ログイン画面あるいはログインプロンプトが表示されるまでに、カーネルの初期設定、ファイルシステムのマウント、システムの様々な管理をするプログラム(デーモン)の起動、ネットワークの設定など、OSが稼働するために必要なすべての設定までの一連の流れのこと

`GRUB`
GNUで開発されたブートローダで、GRUBの起動画面から起動OSの選択、エントリの編集、コマンドラインによる操作などを実行できる
GRUBのインストールは、rootユーザが`/sbin/grub-installコマンド`を実行して行う

`GPT`
MBRに代わるハードディスクのパーティションの規格であり、EFIの機能の1つ

`GRUBの設定ファイル`
`/boot/grub/grub.conf`
`/boot/grub/menu.lst`

`/proc/cmdline`
起動時にカーネルに渡された引数を確認できる
`quiet`
ほとんどのカーネルメッセージを抑制し、表示を行わない。指定しない場合は、起動処理の詳細情報が表示される

`UEFI`
BIOSに代わるファームウェア規格で、大容量ディスクへの対応、セキュリティの強化、ネットワークを介したリモート診断など、機能が拡張されている
UEFIからOSをブートするときは、NVRAMに設定された優先順位に従って、ディスクのEFIパーティションに格納されているブートローダを起動する

`GRUB2`
GRUB Legacyの後継として開発されたブートローダ
モジュールを動的ロードする機能を持ち、リカバリモードやメモリテストのメニューがある

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

`shim.efi`
EFIがブートエントリを参照して呼び出す第１ステージのブートローダ
`grubx64.efi`
第１ステージのブートローダから呼び出される第２ステージのブートローダ

`grub2-install(grub-install)コマンド`
GRUB2をインストール

`initramfs`
ディスク内に構築されたルートファイルシステムへアクセスするためのディスクのデバイスドライバやファイルシステムモジュールを含むディレクトリ構成として作成され、それをcpioでアーカイブし、gzipで圧縮したファイル
ディスク内の本来のルートファイルシステムをマウントするために、システム起動時にメモリ上に展開されて一時的に使われる小さなルートファイルシステム

`dmesgコマンド`
システム立ち上げ時にカーネルが出力するメッセージをシステム起動後に確認する
`$ cat /var/log/dmesg`
`-c(--clear)`カーネルのリングバッファの内容を消去する

`ランレベル`
システムの動作モードのことで、停止、再起動、稼働時のサービスの提供/享受などを定義する

`/etc/inittab`
システム起動後のデフォルトのランレベルは、「アクション」フィールドが`initdefault`であるエントリの「ランレベル」フィールドで指定する

`init(telinit)コマンド`
ランレベル１で実行してシングルユーザモードに移行することで、他のユーザがログインできないようにすることができる
`-q`　initプロセスに設定ファイルを再読み込みさせる

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

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

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

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

#ここまで
とりあえず、LPICのスピマス問題集、101試験の範囲の問題を一通り、ザッと眺めてみた。
マジで分かりません笑
これホンマに受かるんかな？

第8章が模擬試験やったから、それに突入する前に、2周目を読み直そうかな
実際の試験よりかは、難易度高めに作られているとは聞いていたけど、心折れそうです
重箱の隅をつつくような問題が多い印象