達人が語る,インフラエンジニアの心得

第5回 エンジニアとしてやっていくための勉強法

この記事を読むのに必要な時間:およそ 3 分

ステップ4:基本コマンドを実行する

その次にやると良いと思うのは,/bin,/usr/bin,/sbin,/usr/sbin以下のコマンドを片っ端から触ってみることです。

まあこの件とOSSインストールのどっちが先が良いかは順不同ですが。LinuxやUNIXには,実にいろいろなコマンドが入っています。/usr/localや/optに入れるものはサーバごとに違うでしょうが,/bin,/usr/bin,/sbin,/usr/sbin以下にあるものは大事なものばかりです。

いま筆者が原稿を書いているサーバで(筆者はMewで原稿を書くので)ためしてみたら,4000以上のコマンドがありました。まあ筆者も4000全部を知ってるわけではないですが,昔もっと少なかったころは片っ端からコマンドを試してみたものです。

もちろん/sbin以下を不用意に試してマシンが死ぬこともあるでしょうが,それもまた経験です。昔あった笑い話で/usr/bin/[というコマンドを,なにかのゴミファイルだと思って削除してシェルスクリプトが動かなくなったというネタがありますが,まあ実にいろいろなコマンドがあるものです。

ステップ5:設定ファイルの探訪

その次は,/etc以下をいろいろ探検してみましょう。

rc系のディレクトリがとくに面白いと思います。rc系のディレクトリ以下を見ていくと,OSがどういう順序で起動していくかが全部わかります。しょせんLinuxなんていうものは,initが起動してあとはinittabの内容に従って順にshell scriptが実行されているだけです。つまりrcから先を見れば,⁠どこで何が起こっているかが全部わかる」のです。

これが,サーバとしてはWindowsよりLinuxやUNIXのほうが良いと思われる要因のひとつではないでしょうか。なんたって全部plain textなファイルに仕組みが書いてあるんですから。

ほかにも/etc以下には,ld.so系とかcrontabとかresolve.confとかhostsとか面白いものがたくさんあります。全部が全部というわけではありませんが,基本「OSの設定は全部/etcにある」ので,ぜひ端から見てみましょう。


さて,ここまで書いてきたものは,全部「片っ端からやってみよう」系のものばかりでした。そして,サーバエンジニアとしてやっていくなら,どこかで一度はこの「片っ端から」をやってみるほうが良いでしょう。少しスキルが付いてきて,仕事を任されるようになってからでは,必要なことを追うのにいっぱいいっぱいで,なかなか片っ端からやる機会は得られません。ぜひnewbieのうちにやってみることをオススメします。

ステップ6:情報を集めるために押さえておきたいこと

次に身につけないといけないのは,情報収集のスキルです。

エンジニアとしての一歩を踏み出したら,身につけないといけない知識はもうそれこそ山のようにあります。それらをいかに効率的に調べることができるかも重要なスキルです。数えあげてみると,manを読む,--helpや-hでオプションを調べる,ソースを読む,stringsやgdbでダンプやバイナリファイルの中身を見る,tcpdumpでパケットを見る,strace(Linuxの場合)でシステムコールを見る,などがあります。

ここに挙げたものは,全部マシンの中から得られる情報ばかりです。それ以外の,もちろん重要なのは,⁠Google先生⁠と仲良くすることです。いまはネットにかなりの情報量があるので,書籍を山ほど買い込まなくても⁠Google先生⁠に聞くコツを知っていると,かなりの確率で答えを教えてくれます。

スキルが上がって任される範囲が広がると,英語力も必要にはなってきます。これは筆者の持論ですが,英語は必要なら身につくし,必要でなければ身につかないものです。⁠どうしたら英語が覚えられますか?」と聞かれたら,⁠覚えられないうちはまだ必要じゃないってことだよ」と答えます。

もちろん,いまは⁠Google先生⁠がいるから書籍が全然いらないということではありません。良書というのは成長を支えてくれるものです。ただ,昔はやはり書籍メインだったために,良書というか定番の書籍というのがあったものですが(筆者がnewbieだったころはなんといっても『SUNシステム管理』でした。あのころのアスキーは良書の山だった⁠⁠,今はあまり定番というのがないような気もします。せいぜいO'Reillyシリーズでしょうか。でもO'Reillyはリファレンスぽいものが多いので,取っ付きづらいですね。

あとは雑誌を購読するようにしましょう。昔(昔の話ばかりですみません)は,⁠UNIX Magazine』『UNIX USER』は外せないところでしたが,⁠UNIX USER』は廃刊だし,⁠UNIX Magazine』は正直,今はちょっと(以下自主規制…⁠⁠。

今はやっぱり,『Software Design』『WEB+DB PRESS』ではないですかね。これはgihyo.jpの連載だからそう書いているわけではなくて,実際いま筆者が購読しているのもこの2つだけです。⁠WEB+DB PRESS』はシステム管理とはちょっと違いますが…。やはり世の中に新しいものは随時出てきますので,こういったトレンドを追うのは重要だと思います。

いろいろ書いてみましたが,ここに挙げたことを一通りやると,サーバエンジニアとしてやっていく体力が付くのではないかな,と思います。

著者プロフィール

山崎徳之(やまざきのりゆき)

青山学院大学卒業後,アスキー,So-netなどでネットワーク,サーバエンジニアを経験。オン・ザ・エッヂ(現ライブドア)のデータセンターである「データホテル」を構築,運営。2003年にベイエリアにおいてVoIPベンチャーであるRedSIP Inc.を創業。2006年6月に株式会社ゼロスタートコミュニケーションズ(現 ZETA株式会社)を設立,代表取締役就任(現任)。ECソリューションの「ZETA CX」シリーズとして検索エンジンやレコメンドエンジンを開発,販売している。

blog:http://blog.zaki.jp/
社長コラム:https://zetacx.com/column