UNIXベースのオペレーティングシステムにさまざまなアプリケーションをインストールするときに競合する可能性があるシステム全体の構成設定のセットは何ですか?

UNIXベースのオペレーティングシステムにさまざまなアプリケーションをインストールするときに競合する可能性があるシステム全体の構成設定のセットは何ですか?

この記事を読んでくださいコンテナ化レポート著者は次のように言及した。

Unix の共有グローバルファイルシステムに起因する問題の 1 つは、構成の分離が不足していることです。複数のアプリケーションがシステム全体の構成設定に対して競合する要件を持つことができます。

開発のために異なるアプリケーションをインストールするには、同じライブラリの異なるバージョンが必要であるか、あいまいに異なるシステム全体の構成値が必要な場合が多いことがわかります。 UNIXベースのオペレーティングシステムでは、このコレクションが何であるかわかりません。

一般に、この問題を引き起こす構成値は何ですか?

素直に言えば、エンドユーザーがアプリケーションをデプロイまたはインストールした場合、これは問題になりませんか?同様のアプリケーションの開発バージョンを簡単に並列に実行することはできませんが、パッケージマネージャを使用してダウンロードすると問題なく実行できるのはなぜですか?

ベストアンサー1

はい、環境変数を使用していくつかの項目を個別に設定できます。プログラムがファイルの場所をハードコードすると、競合が発生する可能性があります。

解決策は名前空間です。名前空間には、ファイルシステム、プロセス、ユーザー、ネットワークなど、さまざまな種類があります。

前述のファイルシステムの場合、名前空間は、異なる名前空間のプロセスに対してまったく異なるファイルシステムビューを提供できます。通常、ホスト内のサブディレクトリは新しい名前空間のルートになります。

これは、名前空間、cgroupなどを管理するのに役立ち、コンテナ化ツールを使用できます。彼らは私たちのためにこれらのカーネルサービスを管理しますが、仕事をより簡単にします。

コンテナで実行されるすべてのプロセスは、(通常)少数のプロセスのみが実行されるシステムと見なされます。ファイルシステムのサブセットが表示されます。独自のネットワーク構成が表示されます。システムリソース(CPU、メモリなど)のサブセットが表示されます。

おすすめ記事