Linuxマスターブログ
リナックスマスターセミナーの開催報告や、メルマガ読者から頂いた
質問、配布している無料マニュアルの補足情報などを公開しています。
常日頃のチェックして頂き、最新のLinux情報及び日々の活動の様子を
ご確認頂けましたら幸いです。
宮崎智広のプロフィールはこちら
Linuxの正規表現を「呪文」だと思っていた頃の話|grepで実務の壁を突破した転換点と現役講師が語る習得の3段階
セミナーや受講生からの質問フォームで、こういった声を毎月のようにいただきます。正規表現は、Linuxを学ぶ上で多くの方が「難しい」「覚えられない」と一度は壁にぶつかる分野です。記号の意味を知らないまま使おうとするから、呪文に見える。その気持ちは痛いほど分かります。
私自身も、SEとして働き始めた頃に正規表現を「記号の羅列」として見ていた時期がありました。grepコマンドをなんとなく使えてはいたものの、-Eオプションがなぜ必要なのかも分からず、パターンを書くたびにエラーと格闘していた経験があります。転機になったのは、実務の中で「この問題を解くには正規表現しかない」という場面に出会った日のことです。
この記事では、20年以上Linuxサーバーを運用し、3,100名以上を指導してきた経験から、正規表現を「呪文」から「武器」に変えた転換点の話と、セミナー受講生に伝えている習得の3段階を解説します。コマンドリファレンスとしてではなく、「どう考えれば使えるようになるか」という視点でお読みください。
この記事のポイント
・正規表現は「暗記する」ものではなく「使いながら体に覚えさせる」もの
・grepの -E オプション(拡張正規表現)から習得を始めると挫折しにくい
・「動かない」時の原因はパターンより「シングルクォート漏れ」か「-Eなし」が多い
・習得の3段階(文字クラス習得→実務活用→自分で設計)を意識して進める
続きを読む "Linuxの正規表現を「呪文」だと思っていた頃の話|grepで実務の壁を突破した転換点と現役講師が語る習得の3段階"
Linuxで環境変数PATHを壊して全コマンドが使えなくなった日の話|現役講師が語るexport設定ミスの恐怖と回復手順
Linuxを使っていると、ある日突然すべてのコマンドが動かなくなるという恐怖の体験をすることがあります。lsも、cdも、catも──何を打っても「command not found」。画面を見ながら頭が真っ白になる、あの感覚は、一度経験した人なら忘れられないはずです。
実はこれ、かなり多くのLinux学習者・エンジニアが一度はやらかす「環境変数PATHの破壊」が原因です。設定ファイルにexportを書いた直後に起きることが多く、「私だけがやってしまったのでは」と思われがちですが、私がセミナーで3,100名以上を指導してきた中でも、同じ相談は繰り返し届きます。
この記事では、私がSE時代に実際にやらかした「.bash_profileへの誤ったexport記述でPATHを壊して全コマンドが使えなくなった経験」を正直に語りながら、なぜこうなるのか・どう回復するのかを解説します。「export PATHを書いたら突然おかしくなった」という方は、ぜひ最後まで読んでください。
この記事のポイント
・PATHに$PATHを書き忘れると既存のパスが消えすべてのコマンドが使えなくなる
・PATHが壊れても「絶対パス」(/bin/vi など)でコマンドを実行すれば回復できる
・変更前バックアップと作業中の別セッション保持が事故防止の2大鉄則
・仕組みを理解するとトラブル発生時も手が止まらなくなる
続きを読む "Linuxで環境変数PATHを壊して全コマンドが使えなくなった日の話|現役講師が語るexport設定ミスの恐怖と回復手順"
Linuxサーバーのタイムゾーン設定ミスで障害ログの時刻がズレていた日の話
本番サーバーで障害対応をしていて、こんな経験をしたことはありませんか。ログを何十分も調べ続けているのに、問題が発生したはずの時刻のエントリがどこにもない。実は、サーバーのタイムゾーン設定が間違っているだけで、こういう状況に陥ります。
私がSE時代の2003年頃、まさにこの状況にはまり込みました。夜22時に発生した本番障害の対応で
/var/log/messagesを開き、22時台のエントリを1時間以上探し続けた末、先輩エンジニアに「そのサーバー、タイムゾーン確認した?」と一言言われて気づいたのです。サーバーがUTC(協定世界時)のままになっていて、ログの時刻がJST(日本標準時)より9時間遅れて記録されていました。22時のエラーはログ上では13時に記録されていたわけです。この記事では、20年以上Linuxサーバーを運用・指導してきた経験から、Linuxのタイムゾーン設定の確認・変更方法と、よくあるトラブルの対処手順を解説します。設定後の確認手順まで含めて、実際のコマンド出力例とともに紹介します。
この記事のポイント
・UTCとJSTの9時間差がログ調査の混乱を招く最もよくある原因
・タイムゾーン確認は timedatectl コマンド1つで済む
・NTP時刻同期とタイムゾーン設定は別の設定——混同しないこと
・設定後は必ず date コマンドで時刻を目視確認する習慣をつける
Linuxでpingは通るのにサービスに繋がらなかった日の話|SE時代の障害切り分けで学んだネットワークとプロセスの関係
Linuxサーバーの障害対応で、こういう状況に直面したことがあるでしょうか。
ネットワーク自体は生きている、でもサービスには接続できない。原因がまったく分からず、焦るだけで時間が過ぎていく——私がSE時代にこの状況を初めて経験したのは、客先の本番Apacheサーバーが突然応答しなくなったときのことです。
この記事では、20年以上Linuxサーバーを運用してきた経験と、3,100名以上のエンジニアを指導してきた立場から、「pingは通るのにサービスに繋がらない」という状況の原因と切り分け手順を、私自身の体験談を交えながら解説します。ネットワーク層とアプリケーション層の違いを正しく理解することが、Linux現場での問題解決速度を大きく変える出発点になります。
この記事のポイント
・「pingが通る」と「サービスが動いている」は全く別レイヤーの問題
・切り分けはIPレイヤー→ポート→プロセス→ログの順で進める
・ssコマンドとjournalctlを組み合わせれば原因の9割は特定できる
・受講生が詰まるのは「どのレイヤーの問題か」という視点が抜けているから
続きを読む "Linuxでpingは通るのにサービスに繋がらなかった日の話|SE時代の障害切り分けで学んだネットワークとプロセスの関係"
Linuxのstderrを知らずにエラーが消えていた日の話|2>&1の意味を理解するまで3年かかった経験
cronで定期実行しているシェルスクリプトのログを確認しても、エラーの痕跡がどこにも残らない。正常終了しているのか、途中でエラーが起きているのかすら分からない。そんな状況に陥ったことはありませんか。
私はSE時代の2003年頃、まさにこの謎に3年間悩まされ続けました。20年以上Linuxサーバーを運用してきた経験から正直に言うと、あの頃の私は「リダイレクトしているからログが取れているはず」という思い込みで、エラー出力(stderr)の存在をまったく意識していませんでした。
この記事では、その失敗談と、標準入出力(stdin・stdout・stderr)の本質的な理解についてお伝えします。コマンドを毎日打っているエンジニアほど意外と見落としやすいポイントで、私のセミナーでも繰り返し質問が上がるテーマです。
この記事のポイント
・Linuxのコマンドは「stdout(標準出力)」と「stderr(標準エラー出力)」の2本の出力経路を持つ
・「>」だけではstdoutしか記録されない。stderrも記録するには「2>&1」が必要
・cronで動かすスクリプトのエラーが"消える"原因の多くはこの仕組みの理解不足
・「エラーが出ていないから正常」は危険。stderrの行き先を常に意識する習慣が現場を変える
続きを読む "Linuxのstderrを知らずにエラーが消えていた日の話|2>&1の意味を理解するまで3年かかった経験"
Linuxのファイアウォール設定で自分のサーバーにログインできなくなった日の話|SE時代の修羅場と現役講師が今も守る「戻り口」の鉄則
セミナーで、この相談を受けることが少なくありません。画面の前で途方に暮れる気持ち——私にも覚えがあります。SE時代に実際にやらかしたことがあるので。
この記事では、20年以上Linuxサーバーを運用してきた経験から、ファイアウォール設定がなぜ「現場の難所」なのかを、自分が本番サーバーを締め出してしまった体験をもとに解説します。そして、今も現場で徹底している「戻り口の確保」という鉄則と、firewalldを使った安全な変更手順をお伝えします。
この記事のポイント
・ファイアウォール設定は「失敗すると遠隔アクセス手段が失われる」唯一の設定変更
・SE時代に実際にロックアウトを経験した現役講師が「戻り口の確保」を解説
・firewalldの「ランタイム変更 → 永続化」2段階方式とタイムアウト機能でリスクを最小化
・VPS・クラウド・物理サーバー別のコンソール緊急アクセス手段と復旧手順を実例つきで紹介
続きを読む "Linuxのファイアウォール設定で自分のサーバーにログインできなくなった日の話|SE時代の修羅場と現役講師が今も守る「戻り口」の鉄則"
Linuxのlogrotate設定を放置してディスクが溢れた日の話|ログ管理を習慣化するまでに払ったコスト
これは、私がLinuxセミナーを開催するたびに受講生から聞かれる質問の一つです。セミナーで3,100名以上を指導してきた中で、この「ログによるディスクフル」は、Linuxを本番環境で使い始めたエンジニアが必ずといっていいほど一度は経験する洗礼のようなものだと感じています。私自身、2002年頃のSE時代に同じ失敗をやらかして、深夜に冷や汗をかいた苦い記憶があります。
この記事では、私が実際に体験したlogrotate設定を放置したことによるディスクフル障害の経緯と、その失敗から身につけたログ管理の習慣について解説します。「ログはそのうち整理すればいい」と思っているエンジニアの方に、ぜひ読んでほしい内容です。
この記事のポイント
・ログファイルは放置すると際限なく肥大化し、ディスクフルで本番が止まる
・logrotate設定の確認は新規サーバー構築後すぐに行うべき必須作業
・「df→du→原因特定→安全削除」の手順を体で覚えることが事故対応の基本
・logrotate --debugで設定を事前検証することで再発を防げる
続きを読む "Linuxのlogrotate設定を放置してディスクが溢れた日の話|ログ管理を習慣化するまでに払ったコスト"
Linuxのumaskを知らずに新規ファイルの権限がバラバラだった日の話|「なぜ644で作られるのか」を理解するまでの実務経験
SE時代、複数人で同じ開発サーバーを使う案件を任されたとき、新規作成したファイルの権限がメンバーごとにバラバラになるという現象に悩まされました。原因はumask(アンマスク。新規作成時の権限からデフォルトで差し引かれる値)の設定がサーバーごと・ユーザーごとに揃っていなかったことでした。
この記事では、その体験をもとに、20年以上Linuxサーバーを運用・指導してきた経験から、umaskの仕組みと「なぜファイルは644で作られ、ディレクトリは755で作られるのか」を実務目線で解説します。
この記事のポイント
・umaskは「初期権限777・666からどれだけ差し引くか」を決める値
・umask 022なら新規ファイルは644、ディレクトリは755になる
・チーム開発ではumaskの統一がPermission deniedの再発を防ぐ
・恒久化は~/.bashrcまたは/etc/profileへの設定が基本
続きを読む "Linuxのumaskを知らずに新規ファイルの権限がバラバラだった日の話|「なぜ644で作られるのか」を理解するまでの実務経験"
Linuxのシンボリックリンクを「ただのショートカット」だと思っていた日の話|ln -sの仕組みを本当に理解するまでにあった3つの誤解
そんな冷や汗をかいた経験のあるLinuxエンジニアは、決して少なくないはずです。
シンボリックリンク(symbolic link)は「ただのショートカット」だと軽く考えていると、思わぬ落とし穴にはまります。ハードリンクとの違いや、リンク先がディレクトリのときの特殊な挙動を理解しないまま扱うと、切り替えたつもりが切り替わっていない、削除したつもりが別の場所を巻き込んでいた、といった事故につながります。
この記事では、20年以上Linuxサーバーを運用してきた経験から、私自身がシンボリックリンクの仕組みを誤解していた時代の失敗と、そこから本当に理解するまでに越えた3つの壁を解説します。
この記事のポイント
・ln -sfはリンク先がディレクトリだと中に新しいリンクを作る
・事故を防ぐにはln -sfnで「置き換え」を明示する
・ハードリンクとシンボリックリンクは実体の共有の仕方が違う
・find -xtype lで壊れたリンクを事前に洗い出せる
続きを読む "Linuxのシンボリックリンクを「ただのショートカット」だと思っていた日の話|ln -sの仕組みを本当に理解するまでにあった3つの誤解"
Linuxサーバーの設定ファイルを書き換えて戻せなくなった日の話・/etcをgitで管理する習慣に変えた経験
そんな冷や汗をかいた経験のあるLinuxエンジニアは、決して少なくないはずです。
設定ファイルを手で書き換える作業は、Linuxサーバー運用の基本です。しかし「変更前の状態」を記録せずに編集を始めると、トラブルが起きたときに元に戻す手段がなくなります。
この記事では、20年以上Linuxサーバーを運用してきた経験から、設定ファイルを「戻せなくなった」失敗と、そこから/etcをgitで管理する習慣に変えた経緯を解説します。
この記事のポイント
・設定ファイルの「戻せない」事故はバックアップの取り方に原因がある
・/etcをgit initで管理すると変更履歴が自動で残る
・sudoでの実行と所有者の統一がgit管理を崩さないコツ
・git diffは「何を変えたか」を言語化する最速の手段になる
続きを読む "Linuxサーバーの設定ファイルを書き換えて戻せなくなった日の話・/etcをgitで管理する習慣に変えた経験"
ブログ更新履歴
- 2026/9/ 5:Linuxの正規表現を「呪文」だと思っていた頃の話
- 2026/9/ 4:Linuxで環境変数PATHを壊して全コマンドが使
- 2026/9/ 3:Linuxサーバーのタイムゾーン設定ミスで障害ログ
- 2026/9/ 1:Linuxでpingは通るのにサービスに繋がらなか
- 2026/8/30:Linuxのstderrを知らずにエラーが消えてい
- 2026/8/29:Linuxのファイアウォール設定で自分のサーバーに
- 2026/8/27:Linuxのlogrotate設定を放置してディス
- 2026/8/26:Linuxのumaskを知らずに新規ファイルの権限
- 2026/8/24:Linuxのシンボリックリンクを「ただのショートカ
- 2026/8/23:Linuxサーバーの設定ファイルを書き換えて戻せな
- 2026/8/21:深夜の障害対応を一人で抱え込んで長引かせた経験|現
- 2026/8/20:Linuxのaliasを知らずに同じ長いコマンドを
- 2026/8/19:Linuxサーバーのload averageの数字
- 2026/8/18:ヘルプデスクからLinuxエンジニアへ転職するロー
- 2026/8/18:Linuxの参考書を何冊読んでも実力がつかない理由
- 2026/8/17:在職中・退職後どちらでLinux転職活動を進めるべ
- 2026/8/17:「サーバー再起動しなければ」の思い込みが崩れた日の
- 2026/8/16:Linuxエンジニアが転職先を選ぶ5つの軸|大手・
- 2026/8/15:「在職中」か「退職後」か|Linuxエンジニアが転
- 2026/8/15:LinuxのSSH公開鍵認証をSE時代に「なんとな
- 2026/8/14:Linux初心者がつまずく「パス」の概念をこれで攻
- 2026/8/13:Linuxエンジニアへの転職を決意したら最初にする
- 2026/8/13:LinuxサーバーのIPアドレスが重複して2日間障
- 2026/8/12:Linuxエンジニア転職は在職中と退職後どちらが有
- 2026/8/12:LinuxサーバーのCPUが突然100%になった日
- 2026/8/11:Linuxのパイプを初めて使いこなした日の話|コマ
- 2026/8/10:Linuxでyum updateを実行した後にAp
- 2026/8/ 9:LinuxのPostfixが「勝手に」大量のメール
- 2026/8/ 9:Linuxでバッチ処理がSSH切断で止まった話|n
- 2026/8/ 9:Linuxサーバーに見知らぬファイルが置かれていた
