LinuxカーネルでUTS名前空間を有効にする

LinuxカーネルでUTS名前空間を有効にする

Linuxカーネルを構成するときにUTS名前空間を有効にすると、どのような利点と欠点がありますか? UTS名前空間を無効にすると、新しいシステムが破損しますか?

答え1

UTS名前空間はプロセス固有の名前空間であり、プロセスが異なるリソースに対して異なる名前空間を持つことを可能にします。たとえば、プロセスには次の名前空間のセットがあります。

  • マウントポイント
  • PID番号
  • ネットワークスタックの状態
  • IPC - プロセス間通信

メモ:何かの目的を指します。バージョン 3.8+ より前では、名前空間はルートに制限されていました。Linuxカーネルの。

共有をキャンセル

このコマンドを使用して、親unshareプロセスの名前空間を子プロセスから切断することができます。

$ unshare --help
Usage: unshare [options] <program> [args...]
Run program with some namespaces unshared from parent

  -h, --help        usage information (this)
  -m, --mount       unshare mounts namespace
  -u, --uts         unshare UTS namespace (hostname etc)
  -i, --ipc         unshare System V IPC namespace
  -n, --net         unshare network namespace

For more information see unshare(1).

コンパイラオプション

uts名前空間をサポートします。これにより、コンテナ(仮想サーバーなど)はuts名前空間を使用して、さまざまなサーバーにさまざまなuts情報を提供できます。よくわからない場合は、Nを選択してください。

答え2

現在、Linuxは6種類の名前空間を実装しています。各名前空間の目的は、名前空間内のプロセスがグローバルリソースの自己分離インスタンスを持つように見えるように、特定のグローバルシステムリソースを抽象化でラップすることです。名前空間の全体的な目標の1つは、プロセスグループにシステムの唯一のプロセスであるという錯覚を提供する軽量仮想化(他の目的のうち)に使用されるツールであるコンテナの実装をサポートすることです。

引用する-- http://lwn.net/Articles/531114/

関連情報