見出し画像

IT未経験アラサーの学習記録~Linux標準教科書メモ書き 第12章~

皆様こんにちは。Kです。
自己紹介はこちらにまとめているので、お時間がある方はぜひご覧ください。
ここ数日間、Linux標準教科書(Ver.3.0.4)を用いてハンズオン学習に取り組んでいるので、学習記録兼ノートのメモ書きとして記します。

教材
Linux標準教科書 PDF版(無料)

章末テスト解答参考
Yukishi log. 勝手ながらご紹介させていただきました。

学習方法
①教科書を読む ②ハンズオンで挙動を確認 ③新しい知識、教科書外で調べた内容をnoteにまとめる。必要があれば、Lucidchartで図を作成する。

学習環境
Windows PowerShell に Ubuntu-20.04 を入れました。

筆者ITスキル
AWS CLF-01、AWS SAA-03取得済み。
Web技術・ネットワーク・セキュリティ・クラウドの知識については、「イラスト図解式 この一冊で~」シリーズを1周読んだのみ。


第12章 ファイル管理(p207~p238)

12.1.1 ファイルシステムとは

ファイルシステム:ファイル名・更新日付などの属性データ、ファイルデータ本体を効率よく管理するための仕組み

12.1.2 パーティションとは

ハードディスク内部を区切った領域の単位。分割作業をパーティショニングと呼ぶ。

12.1.3 Linux のディレクトリ構造

ディレクトリ:ファイル管理の効率化を図るファイルの入れ物。windows ではフォルダと呼ばれる。

( / )ルートディレクトリ:ツリー状のディレクトリ構造の大元になるディレクトリ。

マウント
Linuxシステムに対してディスク(ハードディスクを始めとしてDVD-ROM ドライブやRAM ディスクなど)を認識させ、利用できるようにする作業。
Linuxでは、複数のパーティションも1つのツリー構造にまとめて扱う。ストレージ・デバイスを接続したときに、そのデバイスにあるパーティションを、このツリー構造のどこかにディレクトリとして登録する。
既に中身があるディレクトリにディスクをマウントすると、中身が上書きされ、今までのディレクトリの中身は読み書き不可。
( Windows はストレージ・デバイスを接続しただけでファイルを読み書きできる。また、Cドライブ、Dドライブのようなパーティション単位でツリー構造を持っている。) 
登録するディレクトリをマウント・ポイント、ツリー構造から切り離す作業をアンマウントと呼ぶ。(参考 日経クロステック

FHS Filesystem Hierarchy Standard
Linux(などのUNIX系OS)の標準的なディレクトリ構成を定めた標準仕様。各ディレクトリに格納されるプログラムの分類が緩やかに決められている。(参考 @IT
bin:一般ユーザ用プログラム
sbin:システム管理用プログラム
etc:設定ファイル
lib:複数のプログラムで共通に使われるライブラリ
var:可変的データ(ログ・データベース・ウェブサイトなど)
boot:起動関連のファイル
dev:デバイスファイル
home:ユーザの作業領域
tmp:一時ファイル

12.1.4 ファイルシステムの作成方法

ハードディスクを利用する手順
fdisk コマンド   :パーティションの作成
mkfs コマンド   :ファイルシステムの作成
mount コマンド:マウント


12.2.1 パーティションを分割する理由

・システムとデータのバックアップ頻度を差別化する
・障害発生時の影響範囲を狭める
・ファイルアクセスの速度向上

ディスク構造を表示する。ディスクをパーティション分割する。

【書式】fdisk [オプション][デバイスファイル]

Linux標準教科(Ver.3.0.4) p216

12.2.2 パーティションの分割

HDD は主に SATA (シンプル構造・廉価・一般向け)と SAS (高速・高価)のインターフェース規格が広く使われている。1つのパーティションとして使うか、2~4つのパーティションに分割できる。各パーティションは、基本パーティションまたは拡張パーティション。拡張パーティションは1 台のハードディスクに1 つだけ作ることができ、拡張パーティションの中には、さらに論理パーティションを複数作ることが可能。
拡張されたHDDは基本パーティション1 つや、LVM(Logical Volume Manager)機能を使って複数のハードディスクを統合した1 つのハードディスクとして大きく使うことも多い。

Linux標準教科(Ver.3.0.4) p213

論理パーティションは、基本パーティションと同様にファイルシステムを作成して、ファイルやディレクトリを保管できる。拡張パーティションは、ファイルシステムを作成することはできない。

【パーティションの最大数】
• IDE:63(基本3 +論理60)
• SATA:15(基本3 +論理12)
• SCSI:15(基本3 +論理12)
(HDDの種類 参考 CUARDIAN+R

12.2.3 ハードディスクを増設して利用可能にする

スワップ領域:Linux がメモリの代わりにプログラムを置いておく領域

パーティションは分割後のサイズ等変更が難しいため、あらかじめどのようにパーティションを分割するのか計画してから行なう。また、既に使用しているハードディスクのパーティションを操作するとデータが消えてしまう。可能であれば、他のユーザがシステムを利用できないランレベル1の状態で作業をする。(参考 @IT

【ハードディスクを利用するまでの手順】(参考 NEC 8番街

①増設前のデバイス構成の確認
②ハードディスクを増設
③増設後のデバイス構成の確認
④パーティション情報の確認
⑤パーティションの作成
⑥パーティションの種類の変更
⑦パーティション情報の保存
⑧再起動(警告が表示されて、必要な場合)
⑨ファイルシステムの作成 → 12.3.3
⑩マウント → 12.4.2
⑪スワップパーティションの作成 → 12.5.1
⑫スワップの追加 → 12.5.2
⑬自動マウントの設定 → 12.6

①増設前のデバイス構成の確認
デバイス命名法(参考 Debian GNU/Linux インストールガイド)
数字無しデバイスはディスクドライブ自体。
数字付きデバイスはHDDが認識するファイルシステム。

⑤パーティションの作成
シリンダ:複数のディスク (プラッタ) 記録面にまたがる同一位置のトラックを、仮想的に積み重ねて構成した円筒形。ディスク (プラッタ) が 1 枚 (記録面は 2 つ) でもシリンダは構成される。

eのらぼらとり


⑥パーティションの種類の変更

【書式】fdisk [デバイスファイル]
    コマンド:t 

パーティションは、その使用目的によって種類が指定されており、ID 指定で種類の変更が可能。指定する16進数コードID のリストは、L コマンドで確認可。

⑦パーティション情報の保存

【書式】fdisk [デバイスファイル]
    コマンド:w
 


12.3 ファイルシステム

ディレクトリやファイルの情報やデータをディスクの何処に保存してあるか管理するためのシステム
【OS毎の主なファイルシステム】
Linux:ext3 もしくはext4
Windows:NTFSがほとんど
CD ・DVD・BD:ISO9660

12.3.1 ジャーナリング機能

ジャーナリング:ファイルシステムに対する書き換え処理のコマンドをファイルシステムに逐一記録する機能

12.3.2 マウント状態の表示

現在マウントされているファイルシステムのリストを表示

【書式】df

12.3.3 ファイルシステムの作成

【書式】mkfs オプション

12.3.4 ラベル

 パーティションのラベル付けをする。表示する。
 ラベル:HDD などのパーティション識別名。

【書式】e21abel デバイス [ラベル]


12.4.2 マウント(mount コマンド)

【書式】
mount -t タイプ -o オプション デバイスファイル マウントポイント

12.4.3 アンマウント(umount コマンド)

利用しない HDD やリムーバブルメディアをアンマウントする

【書式】umount マウントポイント


12.5 スワップ領域の作成

カーネルは、プログラムやデータを読み込むための空きメモリ領域が無くなると、利用していないメモリ上のプログラムやデータをスワップ領域へ一時的に退避する。

12.5.1 スワップファイルシステムの作成

⑥パーティションの種類の変更で Id 82 (スワップ用)にした領域にスワップファイルシステムを作成する

【書式】mkswap [オプション] デバイスファイルシステム

12.5.2 スワップの領域作成と利用

スワップ領域は作成後に有効化する

【書式】swapon [オプション] [デバイスファイル]

無効化する場合

【書式】swapoff [オプション] [デバイスファイル]


12.6 自動マウント

パーティションがコンピュータ起動時に自動マウントされるように、設定ファイル( / etc / fstab )に記述する。

【 fstab ファイルに記述される項目】
・ブロックスペシャルデバイス
ディスクのようにファイルシステムを構築できる、あるいは構築済みのファイルシステムを利用できるのがブロックデバイス、その他全部がキャラクタデバイス(参考 Qiita
・マウントポイント
・ファイルシステムタイプ
・オプション(カンマで区切る)
・dump コマンド(バックアップのため指定場所へコピーする)がダンプ(バックアップ)するか否か
・ブート時にチェックする順番

デバイスをマウントする

【書式】mount -a オプション


12.7 CD/DVD/USB メモリ(リムーバブルメディア)の利用

外部記憶装置を使用する場合は(一部のディストリビューションを除き)手動でマウントする必要がある。
オプション(モード)は ro(Read Only)
取り出すにはアンマウントをする。マウントポイント以下がカレントディレクトリであったり、リムーバブルメディア内のファイルを参照していたりするとアンマウント不可。


12.8 i ノード

ファイルシステムがファイルやディレクトリを管理する際に附番するユニークな番号。ファイルシステム作成時に専用領域が確保される。ファイルシステムに作ることができるファイル数は i ノード領域の大きさに左右される。

Linux標準教科(Ver.3.0.4) p232

12.8.1 i ノード情報の確認

i ノード領域の使用状況(全体の数、使用している数、残数、使用率)を確認する

【書式】df -i オプション

12.8.2 i ノード番号の確認

【書式】ls -i オプション [参照場所]

参照結果の3番目の項目はリンク数。ハードリンク(ファイル実体を複数ファイル名で共有する仕組み)を使用している場合は同じリンク数になる。


12.9 ハードリンクとシンボリックリンク

リンク機能:ファイルをコピーしたり移動したりせずに別のディレクトリにあるように扱うことができる機能

ハードリンク
ファイルの実体を直接指示して共有。リンクを削除しても元ファイルは削除されない。元ファイルを削除してもアクセスできるリンクがほかに存在するため、完全に削除されない。(参考 Aprico
i ノードを番号を共有することで実現しているため、別ファイルシステム(別パーティション)には作成不可。
ファイルを1つ作成することはハードリンクを1つ作成することと同じ。

シンボリックリンク
元ファイルが保管されている位置(パス)を示す疑似的なファイルを作成し、それを通じて参照する。リンクを削除しても元ファイルに影響なし。元ファイルを削除するとリンクからのアクセスエラーになる。別ファイルシステム間で作成可能。(Windows ショートカットのようなイメージ)
パーミッション情報の先頭が「 l 」。以降「 rwx…」だが、リンク先の挙動に従う。(参考 envadar

リンクを作成する

【書式】ln [オプション] 元ファイル名 リンク名

-s オプション:シンボリックリンクの指定。デフォはハード。


12.10.1 ファイルシステムのチェックと修復

コンピュータの異常終了時など、ファイルシステムの管理情報とHDD に書き込まれたデータとの間での整合性をチェックし、修復する。(異常終了後のシステム起動時に自動的に実行される)

【書式】fsck デバイス名

12.10.2 fuck とジャーナリング機能

ext3 はジャーナリング機能によって素早い修復が可能。 ext2 はジャーナル情報がないため修復に時間がかかる。修復時にチェックするパーティションはアンマウント推奨。

12.10.3 ディレクトリ使用量の確認

【書式】du [オプション] [ディレクトリ or ファイル]


雑感

2023/08/22 現在、 root アカウントのパスワードを失念してしまったためこの章はハンズオン学習を断念。どなたか有識者の方、リセットの仕方をご教授いただけると嬉しいです、、涙
でも自分の手でまとめて、補足情報をネットから引っ張るだけでも頭には残るから第7・8章もやろうと思いました。



章一覧

第1章 Linux とは
第2章 Linux のインストール(環境構築不要のため未実施)
第3章 基本的なコマンド
第4章 正規表現とパイプ
第5章 基本的なコマンド2
第6章 viエディタ
第7章 管理者の仕事
第8章 ユーザ権限とアクセス権
第9章 シェルスクリプト
第10章 ネットワークの設定と管理
第11章 プロセス管理
第12章 ファイル管理

この記事が気に入ったらサポートをしてみませんか?