私たちは、ディレクトリ内のすべてのオペレーティングシステムの完全なファイルシステム構造を持つことができます。これをchroot
デフォルトのログインと同様に機能させることができます。
chrootを使用してパーティションにオペレーティングシステムをインストールする方法はありますか?
たとえば、私のディレクトリ/home/SHW/Ubuntu-14.04
にUbuntu-14.04をインストールしたいと思います。インストールしたら、chrootを実行し、いくつかのユーザースペース操作を実行できます。
(OSをパーティションにインストールし、/home/SHW/Ubuntu-14.04にインストールすることは私が望むものではありません)
編集する:
元の質問でUbuntuに言及しましたが、ターゲットオペレーティングシステムは第三者が最初から開発しました。 @mattdmによると、debootstrap
Ubuntuに便利です。ただし、オペレーティングシステムをインストールするには、ほぼ同様のソリューションが必要です。
答え1
はい!これは何ですか?プログラム開始はい - 少なくともUbuntuなどのDebian派生ディストリビューションではそうです。 Ubuntu Wikiには、必要なものをほぼ正確に実行するための素晴らしいシンプルなガイドラインがあります。https://wiki.ubuntu.com/DebootstrapChroot。バインドマウントにはいくつかの重要なステップがあり、/proc/
chroot部分/dev/
に必要です。/sys/
残念ながら、Fedora / RPMベースのディストリビューションの世界には似たものはありません。 a)anaconda(Fedoraインストーラ)は実際にこれを行うことができると思いますが、プロセスに関する良いドキュメントはありません。 b)できるchrootでパッケージングするとyum install
機能しますが、実際のシステムをインストールするのとは異なります。これ笑いこのツールは、パッケージを構築するためのきちんとした環境を提供し、バインドのインストールとすべての作業を実行するために「b」を実行し、実際にmock shell
緊急の状況で他の目的に使用できます。
オペレーティングシステムのルート指定は、基本インストールと同じように機能しないため、「あなたが探しているものとほぼ正確に一致します」と言います。もっと近づきたいならコンテナ、これはデフォルトでLinuxカーネルの機能を使用して、chrootが実行されているアプリケーションの完全な基本オペレーティングシステムのように見えるようにするシステムです。今この分野の話題はルーストアバウト、さまざまなコンテナを管理して実行するための簡単なツールです。独自のデフォルトイメージを作成したり(debootstrap
たとえば、chrootで使用を開始したり)、レジストリから既存のイメージを起動できます。努力する:
$ sudo docker run -i -t fedora /bin/bash
Ubuntuシステムでも、ダウンロードしてFedoraベースのコンテナ内のシェルプロンプトに移動します。または、ubuntu
Fedora または他の場所で基本を使用できます。唯一の要件は、ホストカーネルが古くなっていないことです(またはもちろん、コンテナでホストOSと同じOSを実行できます)。