宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
シス管系女子(正確には「#!シス管系女子 Season3」)の現在発売されている号の日経Linux 2015年4月号掲載分について、hostname
コマンドは与えられた引数でホスト名を設定する物なので、ホスト名を取得するためだけにhostname
コマンドを使うのは、誤操作で問題が起こり得るから危険だという指摘がありました。
別の話として、実際に指摘を見かけたことはまだ無かった気がしますが、過去の回でcrontab -e
を紹介するにあたって色々調べ直していた時に、crontab -e
は、確認なしでの削除であるcrontab -r
とミスタイプしやすいから使ってはいけないという話も見かけました。
どちらの事例も、「その機能が正常に使われている限りにおいては問題ないが、ヒューマンエラーが発生した時のリスクが大きいので、そもそもその機能を使うべきではない」という、安全側に倒した考え方であるように自分は受け取りました。運用という側面から「シス管」を考えた場合には、尤もな指摘だと言えると思います。
hostname
については、なぜ$HOSTNAME
を参照するようにしなかったのかというと、以下のような所が理由となります。
hostname
コマンドを使う、ということが普段無いために、そのリスクに無頓着だった。(hostname
コマンドによるホスト名再設定は、再起動したら状態が戻ってしまうことから「使えねー」「役に立たねー」と思ってしまい、それ以後存在自体をすっかり忘れ去ってしまっていた)crontab -e
については、「そんなん間違えへんやろ」と思っている部分が正直大きいです。が、自分がそう言えるのはcrontab -e
というコマンド列を日常的に頻繁に利用するわけではないからかもしれないとも思っています。入力する回数が多いとcrontab -r
というtypoの出現頻度が現実に問題となり得るレベルにまで高くなってくるものなのだ、と考えると、管理運用を業務とする人ほど敏感になるというのはありうるかも、と思います。
自分がこの連載で紹介する内容を考える時の判断基準としては、
といったいくつかの基準があるのですが、「簡単だけど危険」「安全だけど難しい」のように判断が難しい時にどうするかというのは悩み所です。自分の中で決着が付かなければそもそもその話題は紹介せずに置いておくということもあります。が、多くの場合はcrontab -e
のように、リスクを過小評価して利便性の方に舵を切ってしまいがちな気はしています。
ただ、可能な限り「簡単で、設定いらずで、確実で、安全で」という風に懸念点の少ないやり方を紹介していきたいという思いはあります。連載時の内容についての指摘は再録のタイミングで直せるので、全面的な改稿となると無理ですけども、セリフ回しや1コマの描き直し程度で乗り切れそうないい改善提案がもしあれば、Twitterアカウントへのリプライ等で情報を提供していただけると嬉しいです。
ssh-copy-id
を使ったほうがラクという指摘は頂いており、これは何かの機会に反映したいと思っています。hostname
の事については、既にuname -n
やhostname -s
などの別案を頂いていますが、hostname
コマンド一発で済ませられるやり方に比べると若干面倒さが増す感があるので、「まんがでわかるLinux シス管系女子」での追加コンテンツのような形で「より安全にやりたいならこういうやり方もある」という補足情報を載せる方向で行くのがいいかなあ、と思っています。総じて、この連載については「初級者レベルの人がちょっとステップアップする」「文字の説明だけ見ても分かりにくい事を、ビジュアライズして説明する」という所にテーマを設定しているので、安全性最重視の解説にはしにくいと思っており、そこの所は本誌の他の記事の方々に期待しております(丸投げ)。
まさか記事にまでしてご考慮頂けるとは思わず、お手数、ご迷惑をおかけしました。
私の場合、ホスト名が変わるとクラスタがハングアップしてシステムダウン→エンドユーザn千万人に影響が出るシステム(つまりn千万円~n億円の損害が即時確定)を扱っていたので、特に厳しかったのです。
それとは違う小さいシステムでしたが実際に"ヤっちまった"人がいたので、なおのこと。普通はやらないけれども事例があるというだけで十分だったんですね。
どれだけの人がそんな環境にいるんだという話なので、安全なコマンドを補足頂けるだけでも報われます。
の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2015-03-15_dangerousness.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。
writeback message: Ready to post a comment.