軽量で隔離されたLinux環境

軽量で隔離されたLinux環境

私は自分のコンピュータに分離された(ゲスト)Linux環境を持ちたいので、ホストコンピュータを気にせずに歩き回ることができます。たとえば、パッケージ管理なしでソースから多くの項目をインストールし、環境変数を汚染するなどの作業を行い、以前の環境が複雑すぎると別のゲスト環境を作成します。

私はTinycore LinuxでVirtualboxを使用して楽しい時間を過ごしましたが、少なくとも私が使用する方法ではVirtualboxのオーバーヘッドが完全に必要だとは思いません。一方、可能であれば、ホストシステムと同じカーネルを使用したいと思います。

また、Linux From Scratchチュートリアルを進めながらこれについて少し学び、chrootそれが私が探していたものかもしれません。しかし、正直なところ、LFSについて私がよく理解していない部分がたくさんありますが、chrootもその一つです。chroot現在の環境に支障をきたす恐れがない場合は、使用しようとします。

だから私は仮想化を高速化するためにLinuxbox(私はPinguyOSを使用しています)を使用しているという事実を利用する仮想化プログラムやchrootを隔離遊び場として使用する方法への参照を探しています。 。

答え1

クロットあなたのための最も軽い重量環境です。同じユーザー、同じネットワーク構成などを使用して、異なるディストリビューション(または同じディストリビューションの別のインストール)をインストールできます。 Chrootはファイルシステムレベルでおおよその分離のみを提供します。検索このウェブサイトはchrootに使用されますchrootが何をすることができ、何ができないのかまだわからない場合は、これが役に立ちます。

次のステップを探している場合は、LXCこれでカーネルのメインラインに含まれています。 LXCゲスト(コンテナと呼ばれる)には、独自のファイルシステム、プロセス、およびネットワークスペースがあります。コンテナのルートはホストのルートでもあります。 LXCはゲストルートによる予期しない複数のタスクから保護しますが、悪意のあるゲストルートからは保護しません。 (これは計画された機能です。視聴してください。このスペース)。

LXCにやや似ている他の技術は次のとおりです。仮想サーバーそしてオープンVZ。 OpenVZは提供するがVServerやLXCは提供しない重要な機能の1つ検問所:実行中のコンピュータのスナップショットを撮って後で復元できます。もう一つの候補はユーザーモードLinux、ホストシステムで通常のユーザーとして実行されるプロセス内で完全なLinuxシステムを実行します。

他のオペレーティングシステムのインストールを試すには、chrootが実行されます。サービスを実行するか、実験的なインストールでネットワークを使用するには、LXCを選択します。スナップショットが必要な場合は、OpenVZを使用してください。完全に独立したカーネルが必要ですが、メモリオーバーヘッドがほとんどない場合は、ユーザーモードLinuxを選択してください。スナップショットとは別のカーネルが必要な場合は、VirtualBoxを使用してください。

答え2

ルーストアバウトLXCを使いやすくする:

注目すべき機能

ファイルシステムの分離:各プロセスコンテナは完全に独立したルートファイルシステムで実行されます。

リソースの分離:cgroupを使用すると、CPU、メモリなどのシステムリソースを各プロセスコンテナに異なる方法で割り当てることができます。

ネットワーク分離:各プロセスコンテナは、独自の仮想インターフェイスとIPアドレスを使用して独自のネットワーク名前空間で実行されます。

書き込み中のコピー: ルートファイルシステムは、書き込み中のコピーを使用して作成されるため、展開が非常に高速で、メモリとディスクのコストが安くなります。

記録:リアルタイムまたはバッチ検索用に各プロセスコンテナの標準ストリーム(stdout / stderr / stdin)を収集して記録します。

変更管理: コンテナのファイルシステムへの変更を新しいイメージにコミットして再利用することで、より多くのコンテナを作成できます。テンプレートや手動設定は必要ありません。

インタラクティブシェル:dockerは疑似ttyを割り当て、それをすべてのコンテナの標準入力に接続できます(たとえば、ワンタイムインタラクティブシェルの実行)。

フード

内部的に、Dockerは次のコンポーネントに基づいて構築されています。

  • Linuxカーネルのcgroupおよび名前空間機能

  • 書き込み時にコピー機能を備えた強力な統合ファイルシステムであるAUFS

  • プログラミング言語に移動

  • lxcは、Linuxコンテナの作成を簡素化する便利なスクリプトのセットです。

答え3

OpenVZまたはLinuxコンテナを見てください。どちらも共通のカーネル内でユニークなユーザー領域を持つ軽量擬似仮想化環境を実装します。

OpenVZはこの段階で比較的成熟しました。

答え4

たぶんこれはあなたに役立つかもしれません:オブ: 高度な多階層統合ファイルシステム

システムは低レベルにあります。その上に aufs ファイルシステムをマウントできます。変更(書き込み)は、以下の「実際の」ファイルシステムを変更せずに、このaufsファイルシステムでのみ行われます。

関連情報