web-dev-qa-db-ja.com

Linuxシステムの内部を学ぶ方法

最近、DevOpsエンジニアリングの職に応募しようとしましたが、ほとんどすべての職務の説明にある特定の要件について怖くなりました。

Linuxの内部および管理の経験

私はかなり長い間、正直にLinux/UnixにデプロイされたLinuxサーバーとアプリケーションを使用していますが、「Linuxの内部での経験」が何を意味するのかわかりません。

私の質問は:

  • なぜLinuxの内部を知る必要があるのですか?
  • これの実用的な用途はどこにありますか?
  • linuxの内部を学ぶ方法は?

どうも

6
Ricardo Silva

これは非常にあいまいな要件です。それはあなたが参照しているDevOpsであるため、おそらくこれらに類似したことを意味します。

  • カーネル実行時調整可能変数(sysctl、/ proc、/ sys)に関する知識
  • 典型的なLinuxマシンで実行されている通常のプロセス(systemd、cron、syslogデーモン、ntp ...).
  • 典型的なLinuxファイルシステムに慣れている
  • ファイルシステムのサイズを変更し、マシンの負荷を観察し、必要な一般的なプログラムをインストールして構成する方法に関する知識...
  • ログを読み取り、top、vmstat、iostat、sar、straceなどのプログラムを使用して基本的な問題をデバッグする機能

それは私の側からの推測です。

8

「内部」とは、人事や技術以外の採用マネージャーがよく書くため、職務記述書でよく使用される一般的なマーケティング用語です。

面接に行って技術スタッフに会い、仕事に本当に必要なものを見つける必要があります。

「Linuxの内部」とは、通常、カーネルの使用と構成に関する知識を含む、OSの高度な知識を意味しますが、カーネルのプログラミングや開発は行いません。

[〜#〜] rhce [〜#〜] または Linux + について勉強することをお勧めします

4
Koffee

なぜLinuxの内部を知る必要があるのですか?

複雑なシステムの状態について推論するには、「内部」ですべてがどのように機能するかを理解することが不可欠です。 Runbookからコマンドを入力することも、それらのコマンドの機能を理解することも、特定の状況で最適なレベルで機能するオプションの範囲からインテリジェントに選択できることも重要です。

これの実用的な用途はどこにありますか?

実用は毎日です!これは非常に単純な例であり、プロセスを強制終了したいということです。もちろん、killを盲目的に入力することもできます。しかし、おそらく、このコマンドが実際に何を行うか、プロセスを強制終了する以上の目的でどのように使用できるか、プロセスがさまざまなkillの使用に応じて実行する可能性が高いこと、実行のどの時点で処理されるかを理解する必要があります。そのリクエスト、リクエストを無視しているように見える場合の対処方法、殺されてゾンビになった場合の意味.

linuxの内部を学ぶ方法は?

このようなことの多くはほとんどのUnixライクなオペレーティングシステムに共通であり、ファンダメンタルズはすぐには変化しないので幸いです。したがって、これは、キャリア全体に報いる投資です。 W Richard Stevens による本はどれも時代を超越した知識であり、それが私が始めたところであり、私はまだそれらの本を手に入れることがよくあります。 FreeBSDオペレーティングシステムの設計と実装 も非常に重要です。しかし、実際にそれを行う代わりはありません。

2
Gaius