Linux システムエラー (errno) 解決ガイド
Linuxシステムコールやコマンド実行時のエラー番号(errno)の技術的解説。パーミッション、リソース制限、ファイルシステムの問題を扱います。
主要エラーコード一覧 (Major Codes)
| Code | 意味 | 対処法 |
|---|---|---|
| EPERM (1) | 操作不許可 | root権限またはCapabilityが必要 |
| ENOENT (2) | ファイルなし | パスの正誤とシンボリックリンク先を確認 |
| EIO (5) | I/Oエラー | ハードウェア障害やFS破損の可能性。dmesg確認 |
| EACCES (13) | アクセス権限なし | chmod / chown で権限修正 |
| EEXIST (17) | ファイル重複 | ファイル削除またはリネーム |
| ENOSPC (28) | 容量不足 | 不要ファイル削除またはボリューム拡張 |
まず確認すること(技術チェック)
詳細なエラーメッセージを確認しましたか?
Cmd:
Exp: エラー番号に対応するテキスト説明を確認
Cmd:
perror [errno]Exp: エラー番号に対応するテキスト説明を確認
パーミッションと所有者を確認しましたか?
Cmd:
Exp: 実行ユーザーに読み書き権限があること (r/w)
Cmd:
ls -l [file]Exp: 実行ユーザーに読み書き権限があること (r/w)
ディスク容量・iノード枯渇を確認しましたか?
Cmd:
Exp: Use% が100%になっていないこと
Cmd:
df -h / df -iExp: Use% が100%になっていないこと
プロセス制限を確認しましたか?
Cmd:
Exp: open files 等の値が上限に達していないこと
Cmd:
ulimit -aExp: open files 等の値が上限に達していないこと
システムコールをトレースしましたか?
Cmd:
Exp: 失敗しているシステムコール引数と返り値(-1)の特定
Cmd:
strace -p [PID]Exp: 失敗しているシステムコール引数と返り値(-1)の特定
その他のエラーコード一覧
よくある質問 (FAQ)
rootでも書き込めない (Read-only file system)
ファイルシステムが破損し読み取り専用でマウントされています。
mount -o remount,rw または fsck が必要です。再発防止策
安易な chmod 777 は避け、ユーザーグループ(g+w)やACLを適切に使用してください。Logrotateを設定しディスク圧迫を防ぎましょう。