ファイルシステム
ファイル名や更新日付など属性データ•ファイルデータ本体を効率よく管理する仕組み
パーティション
ハードディスクを利用するために、ハードディスクを区切った単位
Linuxのディレクトリ構造
複数のファイルをまとめて管理でき、他のディレクトリもまとめることができる
Linuxのディレクトリ構造はディレクトリが大元となるツリー状となっている
/ディレクトリ
大元のディレクトリで”/”をルートと読む
/ディレクトリをルートディレクトリといい、ここにディレクトリやファイルが入る
マウント
ハードディスクやSSD、USBメモリなどのストレージ(外部記憶装置)や、ドライブ装置に挿入した記録メディア(記憶媒体)を読み書き可能な状態にすること
FHS(Filesystem Hierarchy Standard)
ファイルは必ずディレクトリに入る
なので必ず/ディレクトリから始まる記述ができる
LinuxシステムはFHSという規格に基づいてディレクトリの領域が定められている
たとえば、一般ユーザ用プログラムはbinディレクトリであったり、システム管理用
プログラムはsbinディレクトリであったりなど
ファイルの作成方法
-
パーティションの作成
fdiskコマンド -
ファイルシステムの作成
mkfsコマンド -
マウント
mountコマンド
多くのシステム管理用コマンドはrootユーザで実行する必要がある
一般ユーザが管理用コマンドを実行するには、suコマンドなどのの実行が必要
$ su -
パスワード:00000000
#
これでrootユーザに切り替わる
ディスクのパーティション
分割されたパーティションの情報を調べたり、パーティションを作成、削除するには
fdiskコマンドを使う
パーティションを分割する理由
- システムとデータのバックアップ頻度を差別化
- 障害発生時の影響範囲を狭める
- ファイルアクセスの速度向上
fdisk [オプション] [デバイスファイル]
ディスクの構造を表示
ディスクをパーテーション分割
オプション | 意味 |
---|---|
-l | デバイスのパーテーション情報を表示 |
パーティションの分割
ハードディスクにはSATAとSASの2つのインタフェース(周辺機器を接続するためのハードウェア)規格が広く使われている
い1つのパーティションとして使うか2〜4つまでのパーティションに分割可能
基本パーティションもしくは拡張パーティションとなっていて、拡張の中には論理パーティションを複数作れる
たとえば
- 基本4つ
- 基本3つ+拡張1つ(この中に論理2つ)
論理は基本と同じくファイルシステムを作成して、ファイルやディレクトリを保管可能
拡張は論理を保管する役割なので、ファイルシステムを作成できない
ハードディスクを増設して利用可能にする
新しくハードディスクにはデータ用とメモリの代わりにプログラムを置く領域(スワップ領域)の2つを作成する
利用するためにはfdiskコマンドを使いパーティションを2つに分割する
※すでに使用しているハードディスクのパーティションを操作すると、元のデータが消えるので、
指定サイズや分割数の誤りがあった場合は、変更の保存をせずに終了しなければならない
ハードディスクを利用するまでの手順
1.増設前のデバイス構成の確認
2.ハードディスクの増設
3.増設後のデバイス構成の確認
4.パーティション情報の確認
5.パーティションの作成
6.パーティションの種類の変更
7.パーティション情報の保存
8.再起動(警告が表示されて、必要な場合)
9.ファイルシステムの作成
10.マウント
11.スワップパーティションの作成
12.スワップの追加
13.自動マウントの設定
ファイルシステム
ディレクトリやファイル情報•データをディスクのどこに保存してあるか管理するための仕組み
ファイル名やファイルの作成時間、所有権限の情報などを管理
ファイルシステムはオペレーティングシステムによって利用されるファイルシステムが異なる
FS名 | 内容 | 最大サイズ | 最大ファイルサイズ |
---|---|---|---|
ext2 | Berkeley Fast File Systemを参考にした16ビット構造 | 16TB | 2TB |
ext3 | ext2にジャーナル機能孵化と機能拡張 | 2~32TB | 16GB~2TB |
ext4 | ジャーナリングファイルシステム。ファイルの断片化防止など拡張機能によりパフォーマンスが向上 | 1ER | 16TB |
マウント
ハードディスクやCD-ROMを利用するには、存在しているディレクトリにマウントする必要がある
マウントするために利用するディレクトリをマウントポイントという
マウントコマンド
mount -t タイプ -o オプション デバイスファイル マウントポイント
ハードディスクやリムーバルメディアをマウントする
オプション | 意味 |
---|---|
-t タイプ | ファイルシステムのext3やwindowsのmsdos、CDとDVDのiso9660 |
-o オプション | 読み書きのrwや読み取り専用のroなど |
デバイスファイル | ファイルシステムをアクセスするためのデバイスファイル |
マウントポイント | マウントするディレクトリ |
アンマウントコマンド
unmount マウントポイント
ハードディスクやリムーバブルメディアをアンマウントする
スワップ領域の作成
スワップファイルシステムの作成
mkswap デバイスファイル
スワップするためのパーティション確保とファイルシステムの作成は、インストール時や新しくハードディスクを増設するときに実行する
オプション | 意味 |
---|---|
-c | 不良な部分を探して利用しない |
デバイスファイル | ファイルシステムをアクセスするためのデバイスファイル |
スワップの領域作成と利用
swapon [デバイスファイル]
作成したスワップ領域はコマンド実行により有効化
オプション | 意味 |
---|---|
-e | 現在利用しているスワップ領域を表示 |
swapoff [デバイスファイル]
利用中のスワップ領域を無効化する
オプション | 意味 |
---|---|
-v | 指定したスワップを無効化 |
-aオプション | すべてのスワップを無効化 |
自動マウント
インストール時に作成したパーティションは設定を記述することで起動時に自動マウントされる
mount -a
デバイスをマウントする
オプション | 意味 |
---|---|
-a | /etc/fstabファイルに指定されたswap以外のパーティションをマウント |
iノード
ext3などファイルシステムはファイルやディレクトリに対してiノード番号を振る
iノード領域にはファイルがディスク状にある位置やアクセス権限情報が確保される
df -i
ファイルシステムの情報を表示
オプション | 意味 |
---|---|
-i | iノード情報の表示 |
iノード番号の確認はlsコマンドに-iオプションをつけて実行する
ハードリンクとシンボリックリンク
リンク機能とはファイルをコピー、移動したりせず別のディレクトリにあるように扱うことができる
つまりよく使うファイルを自分のホームディレクトリに置いてあるように使える
ハードリンク
ファイルの実体を直接指ししめして共有
ハードリンクはiノード番号を共有することで実現しており、別のファイルシステムには作成できない
シンボリックリンク
元ファイルが保管されている位置を示す擬似的なファイルを作成
元ファイルを消すとシンボリックリンクからのアクセスがエラーとなる
ln 元ファイル名 リンク名
オプション | 意味 |
---|---|
-s | シンボリックリンクを作成。-sオプションをつけない場合はハードリンクを作成 |
ディスクを管理するコマンド
ファイルシステムのチェックと修復
fsck デバイス名
ファイルシステムのチェックと修正をする
ジャーナリング機能
ジャーナル情報があるファイルシステム
ext3など
ジャーナル情報があれば、修復が素早くできる
ディレクトリ使用量の確認
du [ディレクトリ]
ディレクトリ使用量を調べる
du [ファイル]
ファイルのサイズを調べる
オプション | 意味 |
---|---|
-s | 指定ファイルや指定ディレクトリの統計を表示する |
参考書籍
『Linux標準教科書 v3.0.2』 LPI-Japan 2019年