ディスク・ファイル系

【Linuxの基礎知識】ディスク・ファイル系でよくあるトラブルと解決の入口

Linuxを理解するうえで、ディスクとファイルの管理は欠かせない基礎分野です。

ファイルやディレクトリの操作は日常的な作業であり、システムの安定稼働を支える重要な役割を担っています。

本カテゴリでは、ファイルシステムとディレクトリ構造の関係、基本的なファイル操作、リンクとiノードの仕組みをはじめ、ディスク管理やデバイス名の固定化、容量解析に役立つdf/duコマンドの使い方までを整理しています。

さらに、mountやfstabによるマウント設定といった実務に直結する知識も含め、ストレージ管理に必要な基本を体系化しました。

記事を順に読み進めれば、Linuxでのデータ管理を安全かつ効率的に行うための基盤が自然と身につきます。

トラブル例(ディスク・ファイル系)

ディスク・ファイル系では、容量不足やマウントの失敗、リンクやiノードの誤解によるデータ消失、デバイス名の変動など、ストレージ運用に直結するトラブルが多く発生します。誤操作で被害が拡大することも多いため、基本的なコマンドと仕組みを理解しながら切り分けを進めることが重要です。ここでは典型的な事象を整理し、解決の入口をまとめます。

ファイルやディスクの運用でよく発生するトラブルを一覧化しました。各事象ごとに原因を確認し、詳細手順は記事リンクから参照してください。

トラブル事象原因の切り分け解決記事
ディレクトリ構造が分からず整理できないファイルシステムの基礎理解不足ファイルシステムを極める!ディレクトリ構造とその関連性を解説
基本的なファイル操作ができないコマンド知識不足/権限設定誤りディレクトリとファイル操作を完全マスター!初心者向けガイド
リンクを削除したらデータが消えたiノードとリンクの仕組みの誤解リンクとiノードを理解してファイル管理をマスターしよう
ディスク容量が不足して動作しない容量監視不足/不要ファイル残存ディスク管理の完全ガイド!初心者から実践までを徹底解説
再起動後にデバイス名が変わり認識されないsdX名が動的に変動再起動時に入れ替わるデバイス名「sdX」を固定したい
容量の詳細が把握できないdf/duコマンドの誤用/ツール未活用df / duコマンドによる容量解析とncdu・iotopでの応用監視
ファイルシステムがマウントできないfstab設定誤り/権限不足mount/umountとfstabの基本と応用

ファイルシステムを極める!ディレクトリ構造とその関連性を解説

Linux環境において、ファイルシステムとディレクトリ構造はデータ管理の中核を担う仕組みです。 ルート(/)から始まる階層構造を理解することで、設定ファイルやログ、ユーザーデータがどこに格納され、どのように関連して動いているかを把握できます。

ファイルシステムの基礎を押さえれば、ディスクの運用やトラブル時の切り分けが容易になり、効率的なシステム管理にもつながります。

ここでは、Linuxのディレクトリ構造の全体像と、それぞれの役割を整理し、関連する記事への入り口を提供します。

ディレクトリ構造が分からず整理できない場合の対策

ファイルが散在して管理できない場合は、Linuxのディレクトリ階層の仕組みを理解することが第一歩です。

[原因の切り分け]

原因確認方法解決策
ファイルシステム理解不足man hier で階層構造を確認/bin・/etc・/var など主要ディレクトリの役割を学ぶ
適切な整理ルール未設定ディレクトリの役割を確認用途別にルールを定め、標準構造に従って整理する
PATH設定の不備echo $PATH でコマンド検索パスを確認/usr/bin など必要なディレクトリをPATHに追加する
シェル環境の違いecho $SHELL で現在のシェルを確認bashやzshの違いを把握し、環境設定ファイルを整備する
ファイルシステムエラーdmesg や fsck でエラーメッセージを確認fsckで修復し、必要ならバックアップから復旧する

もっと詳しく

ディレクトリとファイル操作を完全マスター!初心者向けガイド

Linuxを扱う上で欠かせないのが、ディレクトリとファイルの操作です。 ファイルの作成・移動・削除、ディレクトリの管理、さらにテキストファイルの編集や検索といった作業は、すべてのLinuxユーザーが日常的に行う基本スキルとなります。

これらの操作を体系的に理解しておくことで、作業効率が大幅に向上し、システムトラブル時の切り分けや復旧もスムーズになります。

このガイドでは、基本操作から実務で役立つテクニックまでを整理し、関連する詳細記事へアクセスできるようにまとめています。

基本的なファイル操作ができない場合の対策

ls や cp など基本コマンドが正しく使えないと作業効率が落ちます。権限設定も原因になり得ます。

[原因の切り分け]

原因確認方法解決策
コマンド知識不足man コマンドでヘルプを確認cp・mv・rm など基本コマンドを練習する
権限不足ls -l で権限を確認chmod / chown で適切な権限を付与する
PATH設定の不備echo $PATH でコマンド検索パスを確認必要なディレクトリ(例:/usr/bin)をPATHに追加する
シェル環境の違いecho $SHELL で現在のシェルを確認bashやzshごとの設定ファイル(.bashrc / .zshrc)を整備する
ファイルシステムエラーdmesg や fsck でエラーメッセージを確認fsckで修復し、必要に応じてバックアップから復旧する

もっと詳しく

リンクとiノードを理解してファイル管理をマスターしよう

Linuxでのファイル管理を理解するうえで欠かせないのが「リンク」と「iノード」という概念です。 普段扱っているファイル名はあくまで入り口に過ぎず、その実体はiノードによって管理されています。

さらに、リンクを利用することで同じデータを複数の場所から参照できます。
ハードリンクはiノードを直接共有し、シンボリックリンクは別のファイルを指し示す仕組みを持っています。

これらの仕組みを正しく理解することで、ファイル削除時の挙動やディスク使用量の増減が明確になり、効率的で安全なファイル管理につながります。

リンクを削除したらデータが消えた場合の対策

ハードリンクとシンボリックリンクの違いを理解していないとデータ損失に繋がります。

[原因の切り分け]

原因確認方法解決策
リンク種別の誤解ls -li でiノード番号を確認ハードリンクとシンボリックリンクの違いを理解し使い分ける
参照関係の誤認stat コマンドでリンク先を確認削除前に実体ファイルかリンクかを確認する
リンク元が唯一の参照だったls -l でリンク数(nlink)を確認リンク数が1のファイルを削除しない、必要ならバックアップを取得する
シンボリックリンク先のファイル誤削除readlink -f で実体のパスを確認削除対象がリンク自身か実体かをコマンドで明示的に確認する
誤った rm オプションの使用history で実行コマンドを確認-rf の乱用を避け、必要なら -i オプションで確認しながら削除する

もっと詳しく

ディスク管理の完全ガイド!初心者から実践までを徹底解説

近年、企業システムにおけるディスク容量の拡大は目覚ましく進み、クラウドや仮想化、ビッグデータ活用の普及によりストレージ需要は年々増大しています。

それに伴い、Linuxのディスク管理も進化を続けており、従来の fdisk に加え、GPT対応の sgdisk や柔軟な容量拡張を可能にする LVM などが実用化されました。

初心者から中級者にとってもディスク管理の基礎理解は欠かせず、運用の安定化に直結する重要な領域です。

ディスク容量が不足して動作しない場合の対策

容量不足はサービス停止の原因になります。定期的な監視と不要ファイル削除が基本です。

[原因の切り分け]

原因確認方法解決策
容量監視不足df -h で使用率を確認定期的な監視とアラート設定(cron+メール通知など)を導入する
不要ファイル残存du -sh /var/log で大容量を確認古いログを削除・圧縮し、logrotateで自動管理する
一時ファイルの蓄積ls -lh /tmp /var/tmp を確認tmpwatch や systemd-tmpfiles を利用して定期的に削除する
バックアップやスナップショットの肥大化lsblk や lvs でスナップショットやバックアップ領域を確認不要なスナップショットを削除し、バックアップ世代を適切に管理する
不要パッケージの残存rpm -qa | wc -l でインストール数を確認使わないパッケージを削除し、キャッシュも yum clean / dnf clean で整理する
大容量ファイルの誤配置find / -size +1G で特定大容量ファイルは専用ディスクへ移動、または分割保存を検討する

もっと詳しく

再起動時に入れ替わるデバイス名「sdX」を固定したい

Linuxの起動に関するトラブルを調べると「initramfs」や「dracut」という用語に必ず行き当たります。

普段は意識する機会が少ないものの、起動が途中で止まる、デバイス名が変動して認識されない、必要なドライバが読み込まれないといった問題に深く関わる存在です。

initramfsはカーネルがブート時に利用する一時的なルートファイルシステムで、ルートディスクに到達する前の橋渡しを担います。

一方でdracutは、そのinitramfsを生成・再構築するためのツールであり、カーネル更新やストレージ追加後の環境整備に欠かせません。

再起動後にデバイス名が変わり認識されない場合の対策

sdX名は接続順序で変わるため、再起動後にマウントできなくなることがあります。

[原因の切り分け]

原因確認方法解決策
デバイス名の変動lsblk でデバイス一覧を確認UUID やラベルを利用してデバイスを指定する
fstab設定誤りcat /etc/fstab でエントリ確認UUID/LABEL を用いた正しいエントリに修正する
initramfs に必要モジュール未登録lsinitrd | grep driver で内容を確認dracut で initramfs を再生成して必要モジュールを組み込む
udevルール未設定ls /etc/udev/rules.d/ を確認カスタム udev ルールを設定して永続的なデバイス名を割り当てる
デバイスラベルの重複blkid でUUIDとラベルを確認重複ラベルを変更し、一意な識別子を利用する

もっと詳しく

df / duコマンドによる容量解析とncdu・iotopでの応用監視

Linuxを運用するうえで「ディスク容量不足」は避けて通れない課題です。

気づかないうちにログや一時ファイルが蓄積し、システムが停止する事態に直面することもあります。

そこで役立つのが「df」と「du」という2つのコマンドです。dfはシステム全体の空き容量を確認するのに適しており、duはディレクトリやファイル単位で容量の使われ方を把握できます。

つまり、dfで全体像をつかみ、duで詳細を追跡することで、容量不足の原因を素早く特定することが可能になります。

容量の詳細が把握できない場合の対策

df や du の正しい使い方を理解しないと、容量の内訳が把握できません。

[原因の切り分け]

原因確認方法解決策
コマンド誤用df -h, du -sh で容量確認df は全体、du はディレクトリ単位の確認と使い分ける
ツール未活用ncdu や iotop で解析ncdu でツリー表示、iotop でI/Oの原因プロセスを特定する
隠しファイル・ディレクトリの見落としdu -ah --max-depth=1 で隠し領域を含めて確認不要な .cache や一時ファイルを削除する
マウントポイントの誤認識mount | grep /対象ディレクトリ で確認別ディスクにマウントされているかを把握し、正しい領域を確認する
権限不足で一部確認不可sudo du -sh /対象ディレクトリ で確認管理者権限で実行し、システム全体の使用量を把握する
スパースファイルや削除済みファイルの残存lsof | grep deleted で確認不要なプロセスを終了し、削除済みファイルを解放する

もっと詳しく

mount / umountとfstabの基本と応用

Linuxで外部ストレージやネットワークドライブを利用する際には、必ず「マウント」という仕組みを通してファイルシステムが認識されます。

USBメモリを差し込むと自動的に/mediaや/mntにディレクトリが現れるのも、内部でmountコマンドが動作しているからです。

取り外す際にはumountコマンドで安全に処理する必要があり、誤るとデータ破損につながります。

さらに、起動のたびに手作業でマウントするのは非効率なため、永続的な設定を行うfstabが用意されています。

マウント・アンマウント・fstabを正しく理解することは、Linux運用に欠かせない基本知識です。

ファイルシステムがマウントできない場合の対策

fstab の設定誤りや権限不足によりマウントが失敗することがあります。

[原因の切り分け]

原因確認方法解決策
fstab誤設定cat /etc/fstab で確認UUIDやマウントポイントを正しい値に修正する
権限不足dmesg でマウントログを確認管理者権限(sudo)でマウントを実行する
ファイルシステム破損dmesg や fsck でエラーメッセージを確認fsckで修復し、必要に応じてバックアップから復元する
UUID / LABEL の不一致blkid でUUID・ラベルを確認fstab の指定を修正するか、ラベルを再設定する
カーネルモジュール不足lsmod | grep ファイルシステム種別 で確認必要なモジュール(ext4, xfs など)をロードする
マウントポイントの不備ls -ld /mnt/対象ディレクトリ で確認適切なディレクトリを作成し、権限を付与する
暗号化設定の不整合cryptsetup status デバイス で確認LUKS など暗号化を解除してからマウントする

もっと詳しく

よくあるエラーと解決法

ディスクやファイル関連のトラブルは、システム運用において頻発する分野です。

容量不足による停止、I/Oエラーでの読み書き不能、ファイルシステムの破損や権限制限による操作失敗など、いずれも放置するとサービス全体に大きな影響を及ぼします。

特にディスク容量やファイルディスクリプタの制限は気づきにくく、障害発生時には原因の切り分けに時間を要することがあります。

ここでは、ディスク・ファイル系でよく見られるエラーと、その確認方法や解決の入口を整理しました。

エラー内容原因解決法
No space left on deviceディスク容量不足/不要ファイルの蓄積

df -h

du -sh /var/*

sudo dnf remove unnecessary-package

Input/output errorディスクの物理障害/I/Oエラー

dmesg | grep -i error

smartctl -a /dev/sdX

Read-only file systemファイルシステムエラーで自動的にRead-only化

mount | grep /mountpoint

sudo fsck -y /dev/sdXn

Too many open filesファイルディスクリプタ上限超過

ulimit -n

vi /etc/security/limits.conf

Stale file handleNFS共有の参照切れ/マウント不整合

umount /mountpoint

mount -a

File exists既存ファイルとの衝突/リネーム未実施

ls -l filename

mv filename filename.bak

次のおすすめ記事

実践環境を整える

ここまで学んだ知識を実際に試すには、Linuxを動かす環境が必要です。手軽に始めるならVPSを利用するのがおすすめです。
VPS徹底比較!ConoHa・さくら・Xserverの選び方



VPSを利用してLinux環境を準備したら、実際の設定は下記の記事が参考になります。
VPSに開発環境を自動構築する方法|Apache+Tomcat+PostgreSQL

よく読まれている記事

1

「私たちが日々利用しているスマートフォンやインターネット、そしてスーパーコンピュータやクラウドサービス――これらの多くがLinuxの力で動いていることをご存じですか? 無料で使えるだけでなく、高い柔軟 ...

2

Linux環境でよく目にする「Vim」という名前。サーバーにログインしたら突然Vimが開いてしまい、「どうやって入力するの?」「保存や終了ができない!」と困った経験をした人も多いのではないでしょうか。 ...

3

ネットワーク技術は現代のITインフラにおいて不可欠な要素となっています。しかし、ネットワークを深く理解するためには、その基本となる「プロトコル」と「レイヤ」の概念をしっかり把握することが重要です。 こ ...

4

この記事は、Linuxについて勉強している初心者の方向けに「Shellスクリプト」について解説します。最後まで読んで頂けましたら、Shellスクリプトはどのような役割を担っているのか?を理解出来るよう ...

5

Javaは世界中で広く使われているプログラミング言語であり、特に業務システムやWebアプリケーションの開発において欠かせない存在です。本記事では、初心者向けにJavaの基礎知識を網羅し、環境構築から基 ...

-ディスク・ファイル系