🩺 トラブルシューティング
Linux 運用の現場で出くわすエラー・障害を「症状から」素早く逆引きできる事典です。Permission denied、No space left on device、SSH 接続不可、CPU 高負荷、メモリ不足、DNS 名前解決など、原因切り分けと解決策を網羅しています。
🔒 Permission denied が出る
権限🌐 接続・ネットワーク
ネットワークSSH で接続できないときのチェックリスト
Permission denied (publickey)、Host key verification failed、Connection timeout の対処方法。
解決策を見る →「Connection refused」の切り分け
ホストには届いているのに弾かれる Connection refused を、サービス停止かポート閉塞か、timeout との違いから最短で切り分ける。
解決策を見る →「Connection timed out」の切り分け
無応答で長く待たされる Connection timed out を、応答時間の計測・traceroute・tcpdump・ファイアウォール DROP の順に最短で切り分ける。
解決策を見る →「No route to host」の切り分け
パケットが相手まで届く経路が無い No route to host を、ローカル経路・ARP・ルータ・ファイアウォール REJECT の順に最短で切り分ける。
解決策を見る →「Host key verification failed」の解決
サーバ再構築や IP 再利用で known_hosts の鍵が不一致になったとき、ssh-keygen -R で削除して安全に再接続。
解決策を見る →「Permission denied (publickey)」の解決
鍵が提示されているか、authorized_keys、権限、sshd_config をクライアント/サーバ両側から確認。
解決策を見る →SSHが勝手に切れる - ServerAlive とタイムアウト対策
放置すると SSH が切れる原因を idle タイムアウトと keepalive 不足から切り分け、ServerAlive / ClientAlive で恒久対策する。
解決策を見る →「Too many authentication failures」の解決
ssh-agent の鍵の送りすぎで MaxAuthTries を超える仕組みを理解し、IdentitiesOnly と ~/.ssh/config で確実に直す。
解決策を見る →「certificate verify failed」の解決
curl や Python で出る SSL certificate verify failed を、openssl s_client で原因切り分け。CA証明書・チェーン不備・時刻ズレを直す手順。
解決策を見る →「sudo: unable to resolve host」の解決
sudo 実行時に出る unable to resolve host 警告を、hostname と /etc/hosts の不一致として捉え、127.0.1.1 行を整えて起動遅延ごと解消する。
解決策を見る →📊 サーバーが重い
パフォーマンスload average が高いときの診断
load average が高い原因を CPU 待ちか I/O 待ちか切り分ける手順。uptime/top/vmstat/iostat の読み方を解説。
解決策を見る →「Cannot allocate memory」の対処
空きメモリがあるのに出る Cannot allocate memory を overcommit 会計・ulimit・max_map_count の観点で切り分け、恒久対処する手順。
解決策を見る →「fork: Resource temporarily unavailable」の対処
fork が EAGAIN で失敗する原因を、ユーザー別 ulimit・システムの pid_max・cgroup の TasksMax の順に切り分けて恒久的に直す。
解決策を見る →swap スラッシングの診断と対処
サーバが急に遅くなる swap スラッシングを vmstat の si/so で見抜き、原因プロセスを特定して swappiness や cgroup で恒久対処する。
解決策を見る →💾 ディスク容量
ディスク📜 Web サーバ / ログ
ログ💽 ファイルシステム・デバイス
ファイルシステム「Input/output error」の対処 - ディスク・デバイス障害の兆候
ファイル操作で EIO。dmesg でカーネルログを見て、ディスク不良か FS 破損かデバイス切断かを切り分ける。
解決策を見る →ファイルシステム破損の修復 - fsck の安全な実行手順
ext4 の破損を fsck で安全に直す。マウント中実行の禁止、root FS の検査経路、-n/-y/-f の使い分け、XFS の違いまで。
解決策を見る →「No such file or directory」なのにファイルがある
ls で見えるのに No such file or directory。不可視文字・CRLF・壊れたリンク・動的リンカ欠落を順に切り分ける。
解決策を見る →📦 パッケージ管理
パッケージ「Could not get lock」の解決
apt が「Could not get lock」で止まるとき、ロックを握るプロセスを特定して安全に解放し、中断した dpkg を復旧するまでの手順を最短でたどる。
解決策を見る →壊れた依存関係の修復(held / unmet dependencies)
apt が更新を保留したり unmet dependencies で止まるとき、held packages の正体を見極め、依存関係を壊さずに修復するまでの手順を整理する。
解決策を見る →リポジトリのGPG鍵エラー(NO_PUBKEY / 期限切れ署名)
apt update で出る GPG error の正体を NO_PUBKEY と EXPKEYSIG で見分け、公開鍵を keyring に取得して signed-by で正しく紐付け、署名検証を安全に復旧する。
解決策を見る →🐚 シェル・スクリプト実行
シェル自作スクリプトが「command not found」になる
自作スクリプトを実行して command not found になる原因を PATH と実行権限から切り分け。./ 実行・chmod +x・PATH 追加・hash -r まで順に解決する。
解決策を見る →「bad interpreter」エラーの直し方
スクリプトが bad interpreter で動かない。CRLF 改行と shebang のパス誤りを file/cat -A で切り分け、dos2unix/sed で直す。
解決策を見る →「syntax error near unexpected token」の読み解き方
bash の syntax error near unexpected token を読み解く。token が指す位置の意味を理解し、fi/then/done・(・改行・end of file 別に原因を切り分けて直す。
解決策を見る →⚙️ システム・サービス・起動
システムsystemd サービスが起動しない
systemctl の Failed to start を最短で切り分け。status・journalctl・exit code から ExecStart・権限・依存・start-limit のハマりどころを順に潰す診断手順。
解決策を見る →起動できない時の初動 - kernel panic と緊急モード
kernel panic・緊急モードで Linux が起動しない時の初動。GRUB・initramfs・systemd emergency を段階で切り分け、fstab 修復・旧カーネル起動・fsck で復旧する。
解決策を見る →「cannot set LC_ALL」ロケール警告の解決
ロケール未生成で出る「cannot set LC_ALL」「setlocale」警告を切り分け、locale -a で確認して locale-gen で生成、SSH 転送も止めて恒久解決する手順。
解決策を見る →時刻ずれによる証明書・ビルドエラー
clock skew で出る「Clock skew detected」ビルド警告と「certificate is not yet valid」を切り分け、時計のずれを date/openssl で確認して正す手順。
解決策を見る →🐧 実践練習で技術を身につけよう!
理論を学んだら、実際にコマンドを使って練習してみましょう。Penguin Gym Linux で体験的に学習できます。