LPIC 勉強記録 3月8日

#第4章　ファイルシステムの管理

`FHS`
ディレクトリ構造の標準を定めた仕様書
ルート(/)を起点とした単一のツリー構造であり、/以下に目的に応じたディレクトリ構造が配置される

`/dev`
デバイスファイルを配置
システム起動時に接続されているデバイスがチェックされ、自動的に作成される
`/lib`
/binや/sbinなどに置かれたコマンドやプログラムが利用する共用ライブラリが配置
`/lib64`
64bit用の共用ライブラリが配置
`/boot`
システム起動時に必要なブートローダ関連のファイルや、カーネルイメージが配置
`/usr`
ユーザが共有するデータが配置
ユーティリティ、ライブラリ、コマンドなどが配置
`/home`
ユーザのホームディレクトリが配置

`/usr/local/bin`
独自に作成したローカルホストにインストールするプログラムを、FHSに従い配置する

`パーティショニング`
１台の物理的なディスクを複数の領域に分割し、それぞれの領域を独立した論理的なディスクとして扱えるようにする操作
`パーティション`
分割された領域

`LVM`
複数のディスクパーティションからなる、パーティションの制限を受けない伸縮可能な論理ボリュームを構成する
論理ボリューム上にファイルシステムを作成できる

`pvcreateコマンド`
ハードディスクのパーティションを、LVMの物理ボリュームにする

`/var`
システムの運用中にサイズが変化するファイルを格納する

`デバイスファイル`
デバイス(周辺機器)を操作するためのファイル

`基本パーティション`
１台のディスクに必ず1つ以上存在するパーティション
最大で4つ作成することができ、１〜４までの番号が割り当てられる

`fdiskコマンド`
パーティションの作成、削除、変更、情報の表示が可能
root権限が必要

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

`ジャーナル機能`
ファイルシステムのデータの更新を記録する機能
`iノード`
ファイルシステムの構成要素の1つで、メタデータを格納する

`mkfsコマンド`
`mke2fsコマンド`
ファイルシステムの作成(初期化)

スーパーユーザしか書き込めない予備領域のデフォルト値は、ファイルシステム全体の5%

`mkswapコマンド`
デバイス上またはファイル上に確保されたスワップ領域の初期化を行う
`swaponコマンド`
mkswapコマンドでスワップ領域を初期化後、有効にする
`swapoffコマンド`
指定したデバイスやファイルのスワップ領域を無効にする

`dfコマンド`
ファイルシステムの使用状況の表示
`duコマンド`
ファイル、ディレクトリの使用容量の表示

`tune2fsコマンド`
ext2/ext3/ext4ファイルシステムのパラメータを適切な値に変更する
`-iオプション`ファイルシステムをチェックする最大の時間感覚を設定する
数値のみもしくは末尾にdを付けると「日」と解釈され、mは「月」、wは「週」と解釈される

`dumpe2fsコマンド`
`tune2fe -l デバイス名`で表示したスーパーブロックの内容に加え、ブロックグループに関する情報も表示する

`fsckコマンド`
ファイルシステムの不整合をチェックし、必要であれば修正する
デフォルトの動作として、`/etc/fstab`に書かれているファイルシステムを逐次的にチェックする

`e2fsckコマンド`

`debugfsコマンド`
ext2、ext3、ext4ファイルシステムの対話的なデバッガツール
ファイルシステムの状態の調査・変更を行うことができる

`ハードディスクにファイルシステムを作成する手順`
① ハードディスクをマシンに接続する
② 追加したハードディスクのデバイスファイルが作成されていることを確認する
③ パーティションをいくつに分けるか検討する
④ ハードディスクにパーティションを作成する(fdiskコマンド)
⑤ 各パーティションにファイルシステムを作成する(mkfs、mke2fsコマンド)
⑥ 作成したファイルシステムをディレクトリツリーにマウントする

`マウント`
あるディレクトリにファイルシステムのルートディレクトリを接続する作業のこと

`mountコマンド`
接続するディレクトリ(マウントポイント)を事前に作成し、ファイルシステムをマウントする
`--bindオプション`ディレクトリをマウントできる
`-aオプション` `/etc/fstab`ファイル内のオプションフィールドがautoのエントリをすべてマウントする

`ブロックデバイス`
デバイスファイルのうち、ブロック単位でデータを転送するもの

`umountコマンド`
特定のファイルシステムをルートファイルシステムから切り離す(アンマウントする)

`/etc/fstabファイル`
マウントするファイルシステムとマウントポイント、マウント時に指定するオプションなど、mountコマンドの実行に必要な情報を記述する

`/etc/fstabのフィールド`
1. デバイスファイル名(デバイスファイル名、ラベル名、UUID)
2. マウントポイント
3. ファイルシステムの種類
4. マウントオプション
5. バックアップの指定
6. ファイルシステムのチェック

#第5章　ファイルの管理

`groupsコマンド`
自分の所属グループを表示する

`idコマンド`
自分がどのユーザでログインしているのか、またどのグループに所属しているのかを調べる

`ls -l コマンド`
パーミッション、そのファイルの所有者、所有するグループ名が表示される

`パーミッションで表示される内容`
1. ファイルの種類
2. ユーザ(所有者)に対するパーミッション
3. グループに対するパーミッション
4. その他のユーザに対するパーミッション

`chomodコマンド`
既存のファイルやディレクトリに設定されているパーミッションを変更する
変更できるのは、所有者またはrootユーザのみ

`シンボリックモード`
文字や記号を用いてパーミッションを変更する
`オクタルモード`
目的のパーミッションを８進数の数値を使って変更する

`umaskコマンド`
現在設定されているumask値を確認する

`chownコマンド`
指定されたファイルの所有者とグループを変更する
`-Rオプション`指定したディレクトリに対し、再起的に所有者の変更を行う

`chgrpコマンド`
グループのみの変更を行う

`実ユーザID`
プロセスを起動したユーザであり、プロセスの所有者
`実効ユーザID`
プロセスが実行される時の権限を持つユーザ

`SGID`
ファイルのグループIDが実効グループIDとして設定される
複数ユーザで使用するディレクトリに対してSGIDを設定することで、誰がファイルを作成しても所有グループを同じにすることができる

`スティッキービット`
特定のディレクトリに対しアクセス権が許可されていても、ファイルの削除は行えないよう保護する設定

`lnコマンド`
ファイルへのリンクを作成する
同一ファイルに異なる2つの名前を持たせることができる

`ハードリンクの特徴`
・リンクファイルが使用するiノード番号はオリジナルファイルと同じ番号
・ディレクトリを基にリンクファイルを作成することはできない
・iノード番号は同一ファイルシステム内でユニークな番号なので、異なるパーティションのハードリンクを作成することはできない

`シンボリックリンクの特徴`
・リンクファイルが使用するiノードはオリジナルファイルと異なる番号
・ディレクトリを基にリンクファイルを作成可能
・オリジナルファイルと別のパーティションにリンクファイルを作成可能
・パーミッションの先頭は、ファイルタイプとしてシンボリックリンクファイルを表す「I」が表示される

`findコマンド`
指定したディレクトリ以下で、指定した検索条件に合致するファイルを検索する
`-mtimeオプション`指定した日時を基に、最終更新されたファイルを検索する
`-maxdepthオプション`検索するサブディレクトリの深さの階層を指定する