Linuxシステム管理は、Linuxシステム管理の自動化として最もよく説明されています。時々、これらのツールはあなたとあなただけのものです。また、ユーティリティはチームの他のメンバーと共有されたり、出荷されたり、サービスとして提供されたりします。これは、UNIX哲学の最もカジュアルな理解から来ています。つまり、小さな専用ツールを使用し、それらを新しく強力で予期しない方法で結合することです。これらは複雑なコマンドである可能性があり、1行のスクリプトになり、複数行のスクリプトになります。保持して共有するスクリプトもあれば、次のコーヒーブレイクで忘れてしまうスクリプトもあります。
[お楽しみいただけるかもしれません:自動化のためのBashの使用]
UNIX哲学のようなフレーズを捨てることはできません すべてがLinuxであったわけではない時代、またはすべてのLinuxシステムが同じディストリビューションを担当している可能性がある時代を思い出さずに。私が将来持っている唯一の自信は、それが異なるだろうということです。したがって、特にコストがかからない場合は、移植性に関するいくつかの歴史的なトリック(順方向と逆方向)が必要です。
これは、私が知っている標準的なツールが多ければ多いほど、使い捨てコマンドがより強力になり、それらをより速く書くことができ、クライアントが実際の問題をより早く解決できることを意味します。
コマンドラインで他の人のスタイルをショルダーサーフィンしているときに、新しいテクニックやトリックを習得せずに1か月を過ごすことはめったにありません。 COVIDの時間とリモートワークはこれをより困難にするので、私がよく知らなかった5つのコマンドを紹介したり思い出させたりしてくれたKenHessに感謝します。
1。アーチ
ビルドスクリプトでは、たとえば、プラットフォーム、ビルド環境、yumリポジトリパスなどを記述するパスを生成する必要があるのが非常に一般的です。通常、私はuname -p
を使用します。 プロセッサタイプを取得しますが、arch
入力と自己文書化が高速です。ありがとう!
GitHubには、次の形式の多くのコードがあります:
ARCH=$(uname -m)
これはすべて次のように置き換えることができます:
ARCH=$(arch)
2。 arpaname
先週、PTRレコードを作成するためのAPIをプログラミングしていました。かなりよく知られているIPAMではAnsibleの役割を果たしていましたが、汎用DNSツールを使用して一括インポートを行う必要がある場合は、nsupdate
を使用します。 。このコマンドは非常に便利です。簡単なコード例:
[jwarnica@lappy ~]$ nsupdate <<EOF
update add `arpaname $ipaddr` 86400 IN PTR $(hostname -f).
send
EOF
これは、新しいIoTデバイス、VM、またはラップトップのフリートをインストールして、ホスト名/ IPを単純なCSVファイルに含めるか、その他の方法で生成する場合に、ループ内で使用するのに十分簡単です。
3。 bc
Bashは浮動小数点演算を実行できないため、スクリプト作成には追加のツールが必要です。そうは言っても、bc --expression
dc
のスクリプトを作成する方法を考えさせられました 、もちろん可能です。
使う前に細かいところは忘れてしまいますが、この「あはは!」はいつまでも覚えています。そのdc
の瞬間 スクリプト化できます。
高校の数学の先生のように聞こえたくはありませんが、ポケットスーパーコンピューターが手元になく、gnome-calculatorにアクセスできない環境もあります。または、単に5秒節約して、インタラクティブなdc
を使用したい場合もあります。 キーボードから手を離さずに、マウスまたは電話を使用できます。
4。ダンプキー
私の毎年のボランティアの日の1つは、実行中のリレーレースの結果を出すことです。何年にもわたって機能する最も愚かなことを最適化した後、これは現在、ほとんどの場合、時間のデータ入力です。膝の上にラップトップを置いて車に座っている場合、これは人間工学とは逆ですが、少なくともテンキーをマッピングすることで片手で作成できます。。 : 。 X11内では、xmodmap
このマッピングのツールでした。ボウリングボールはほとんどありませんが、カナダは人間とコンピューターの相互作用を進歩させ続けています。
1年に10分節約することは、新しいツールを学ぶ理由にはなりません(またはそうですか?-ed)。キーのマッピングは、入力できるかどうかの違いになる可能性があります。おそらく世界のほとんどの場所で、US-104キーボードは標準ではない、および/または現地の言語はアクセントのない英語ではありません。
dumpkeys
loadkeys
という親友がいます 。これらを組み合わせることで、使用できないコンソールが使用可能になり、何十年にもわたってすべてのLinuxディストリビューションインストーラーがそれらに依存してきました。
5。 uname
伝えられるところによると/proc
Linuxカーネル開発者は安定していると考えており、/proc/version
を付与します。 非常に安定している可能性がありますが、私はそれらを完全に信頼していません。 Linuxのみの/proc
を持たないシステムを使用することがあります 、 とりあえず。 uname
POSIXの一部であるコマンドは、どこでも機能します。
arch
について知っているので、このコマンドは役に立たないかもしれません。 、しかしそれは私がどこにいるかを確認するためだけのgotoコマンドです。そして、スクリプトの例はたくさんあります。 Fedoraの/etc/profile.d/qt.sh
からのランダムな例 :
case `uname -m' in
x86_64 | ia64 | s390x | ppc64 | ppc64le)
QT_PREFIXES="/usr/lib64/qt-3.3 /usr/lib/qt-3.3" ;;
* )
QT_PREFIXES="/usr/lib/qt-3.3 /usr/lib64/qt-3.3" ;;
esac
[この役立つガイドを使用して、SELinuxの管理と使用のスキルを向上させてください。 ]
まとめ
これらのツールは革新的ですか?全くない。それらが何であるかは、何百万もの日々の仕事のための堅固で遍在する基盤であり、何十年も続くでしょう。そのため、次にLinuxシステムに座ったときに覚えておく価値のあるユーティリティになります。