Linux入門 3-10 ハードウェア、ディスク、パーティション、ファイルシステム

[](参照ソース)
[Udemyの動画講座]:https://www.udemy.com/course/linuxlpic/?utm_source=bene-content-marketing&utm_campaign=normal&utm_content=story&utm_term=career&utm_medium=udemyads
[Linux入門 3-9]:https://qiita.com/hoglet/items/eb4256bcb9e50a23916a
[Linux入門 4-1]:

# はじめに
Linux初学者である自分向け用の記事です。[Udemyの動画講座]を参考にしました。
僕の勉強法は`動画を見る`→`実際に動かしてみる`→`問題演習`という流れです。

前回まで：[Linux入門 3-9]

***
# 3. LinuC 101 Ver .10.0(問題、テスト、演習)
## ハードウェアの基礎知識と設定

```
/sys: システム起動時に作成される。ドライバ、カーネル、ハードウェア関連の情報をまとめている。
/proc: システム、プロセス起動時に作成される。カーネルパラメータなどの情報、プロセスの情報が格納されている。/procディレクトリの変更は即座にカーネルに反映される。
/proc/cmdline: システム起動時に、ブートローダからカーネルの起動に渡されるパラメーターが記述される
/proc/cpuinfo: システムが使用するプロセッサーのタイプを確認する
/proc/ioports: デバイスとの入出力通信に使用される、現在登録済みのデバイスごとに確保されているポートの一覧が表示されます。
/proc/interrupts: IRQごとの割り込み回数が記録されます。 # IRQとは、コンピュータ内部の装置や周辺機器などが中央処理装置（CPU）に信号を送り、現在の処理を中断して強制的に指定した処理を実行するよう要求すること。「割り込み要求」
/proc/scsi/scsi: SCSIデバイスに関する情報
/proc/bus/pci/devices: カーネル初期化時に認識されたすべてのPCIデバイスのリストと設定
/proc/bus/usb/devices: システムに接続されているUSBデバイスに関する情報
/proc/dma: DMAに関する情報 # Direct Memory Accessの略。CPUを使わずにバスを通じて周辺機器とメモリ間のデータ転送を直接行う機能

/dev:システム起動時に作成される。ハードディスクやコンピューターに接続されたデバイス(マウスやキーボード、ディスク等)の接続ファイルが配置される

コールドプラグデバイス: システムが停止している状態でデバイスを差し替え、システム起動時にデバイス
を認識する機能。NICなど

ホットプラグデバイス: コンピュータの電源が入った状態でデバイスを差し替えられるもの、USBなど。

udev: /devディレクトリに動的にデバイスファイルを作成する仕組み
デバイスを接続するとカーネルが検知し/sysディレクトリ以下にデバイス情報を作成する。
/etc/udev/rules.dディレクトリにある設定ルールに基づいて、/devに動的にデバイスファイルを作成する。
D-BUSにより各アプリケーションにデバイス情報が通知され、デバイスが利用できるようになる。
D-Bus: アプリケーション間でデバイスとやり取りを行うための機構のことを言う
モジュール: Linuxカーネル(OSの中核)の機能を拡張するためのプログラム群。例として、様々なタイプのハードウェアに接続するためのデバイスドライバ―などがある
modprobe: モジュールのロードやアンロードをするコマンド。ほかのモジュールとの依存関係を考慮する。rootユーザだけ実行可能
-r: モジュールの削除

insmod: モジュールのロードをするコマンド。依存関係は考慮しない
rmmod: モジュールの削除するコマンド。依存関係は考慮しない
lsmod: システムにロードされているモジュール一覧を表示。/proc/modulesに記述されている内容を整形して表示
lspci: システムに接続されているPCIデバイスの情報を表示するコマンド。
lsusb: システムに接続されているusbデバイスの確認をする。

yum install pciutils usbutils
```

## ハードディスクのレイアウトとパーティション

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/5cb2c17c-f974-0a0b-d072-1f883bffb62c.png)

```
パーティション: 1つのディスクを論理的に領域を分割すること
(Linuxの場合、/dev/hdaというディスクに対し/dev/hda1, /dev/hda2などといった様々な区分に分けることができる)
基本パーティション： 最大4個作成するデフォルトのパーティション
拡張パーティション: 基本パーティションのうち1つを拡張パーティションにできる。拡張パーティションの中には、ファイルシステムでなく論理パーティションがある。
論理パーティション: 拡張パーティションの中に作られたパーティション 名前は/dev/sda5以降

EFIシステムパーティション: UEFIベース1)のシステムで利用されるパーティション。1つ以上の基本パーティションが利用でき、拡張パーティション、論理パーティションは使用しない。
1) UEFI: BIOSの後継規格。起動ドライブの容量制限（BIOSは2TB）がなくなり、GUIでのセットアップ画面が利用できるなどの拡張がある。

パーティション管理方式
MBR (Master Boot Record) : パーティションを基本パーティション、拡張パーティション、論理パーティションに分ける。ただし、基本パーティションは4個(4個目より後は拡張パーティション)まで、扱えるディスクドライブの容量は２TBまでなど制限がある。

GPT(GUID Partition Table): MBRに代わる新しいパーティション管理の方式。基本パーティション、拡張パーティション、論理パーティションといった区別はなくなる。128個までパーティションを作成でき、容量は8ZB(ゼタバイト)まで(K<M<G<T<P<E<Z)

fdick: MBR(Master Boot Record)のパーティション管理をするコマンド
-l: 指定したデバイスのパーティションを表示
–s: 指定したデバイスのブロック数を表示

対話メニューでのコマンド
d: パーティション削除
l: 利用可能なパーティションタイプの表示
m: メニューを表示
n: 新しいパーティションの作成
p: パーティションの表示
q: 保存せず終了
w: 保存して終了
t: パーティションタイプの変更

gdisk: GPT(GUIDパーティションテーブル)のパーティション管理を行うコマンド。

parted: MBR, GPTのパーティション管理を行うコマンド

サブコマンド
check: ファイルシステムの簡単なチェックをする
mklabel: 新しいパーティションテーブルを作る
*) MBRで利用する場合はmsdos。GPTを利用する場合はgptとする
mkpart: パーティションを作成する
rm 番号: 指定したパーティションを削除する
print, p: パーティションテーブルを表示する
quit, q: 終了する

lsblk: パーティションとファイルシステムの情報を表示するコマンド
```


*To Be Continued...*
[Linux入門 4-1] へ
***