CentOSは内部でどのようにインストールされますか?

CentOSは内部でどのようにインストールされますか?

LinuxディストリビューションのISOイメージファイルの内容とインストールプロセスのしくみを理解しようとしています。ここでは具体的にお話しします。中央オペレーティングシステム6.4の最小バージョンです。

だからオペレーティングシステムトリガーされ、メニューが表示されます。次に、インストールをクリックします。

カーネルとinitrdファイルシステムをロードします。

私の質問は次のとおりです

  1. どのようにPython電話が来ましたか?

  2. Images/install.imgファイルの機能は何ですか? (誰が電話またはマウントするのですか?)

  3. AnacondaはPackages / * .rpmをインストールしますか?そこに一つを追加したいと思いますか?インストールされますか?

答え1

私はAnacondaの作成者/維持管理者の一人です。私は入ることができます詳細が多すぎますインストーラの起動方法について簡単に説明します。

(これはRHEL / CentOS 6.xまたはFedora 14以下でのみ機能します。インストーラはほぼ完全に書き直されましたFedora 15、16、17の間では、今の状況は非常に異なります。 )

  1. アナコンダはどのように呼ばれますか?
  2. Images/install.imgファイルの機能は何ですか? (誰が電話またはマウントするのですか?)

インストールメディアの内容をinitrd.img私たちが呼ぶものです。ステージ1ビデオ。これにはというプログラムが含まれていますがloader、このプログラムの唯一の作業は を探してロードすることですimages/install.img

install.img~であるステップ2ビデオ。これはPythonが入ってくるところです実際にLives - インストーラのルートファイルシステムを含むsquashfsイメージ。

一つある 方法はさまざまです。ローダーを見つけることができますが、install.imgDVDから起動すると簡単です。ローダはインストーラDVDを認識し、それをマウントしてからimages/install.imgルートファイルシステムとしてインストールします。

tty2stage2イメージがマウントされると、ローダーはAnacondaを起動してXorgを起動し、シェルとすべての良いものを入れてからプログラムをインストールします。本物スタート。

3. AnacondaはPackages/*.rpmをインストールしますか。そこに1つを追加したい場合はインストールできますか?

いいえ、そこにすべてをインストールするわけではありません。comps.xmlファイル(in)を使用して、repodata/使用可能なパッケージグループ(およびそのグループに含まれるパッケージ)を決定します。これがパッケージ選択UIがいっぱいになる方法です。

ディレクトリに何かを追加し(たとえば、カスタムDVDイメージを作成したい場合)、マウント可能にするには、を使用してディレクトリを再作成する必要がありPackages/ます。少なくともキックスタートでパッケージをインストールできます。createreporepodata/

ユーザーインターフェイスに表示する必要がある場合は、編集も必要ですcomps.xml

答え2

CDから起動すると、ISOLINUXブートローダを取得し、Linuxカーネルと初期のRAMディスクをロードします。これにより、install.imgなどのさまざまな部分をロードするAnacondaが起動します。 Anacondaは、さまざまなソフトウェアパッケージなどをインストールすることを担当しています。

Anacondaに追加のパッケージをインストールさせる(または追加のパッケージを構成する)最も簡単な方法は、キックスタートスクリプトを作成することです。 kickstartスクリプトは、Anacondaにインストールするパッケージ、オペレーティングシステムの設定方法などを教えてくれます。 Anacondaに特定のキックスタートスクリプトを使用するように指示するには、 "install ks =http://example.com/my_kickstart.ks「ISOLINUXプロンプトで、次にキックスタートファイル(この場合はWebサーバーから)をダウンロードし、それを使用してインストールするパッケージを特定します。

キックスタートスクリプトの詳細については、次のサイトを参照してください。http://fedoraproject.org/wiki/Anaconda/Kickstart

答え3

インストールCDを起動すると、前述のようにカーネルとinitrdがロードされます。これはデフォルトで最小限のLinuxシステムをコンピュータメモリにロードします。 Anacondaは起動時にサービスとして実行され、プログラムが起動します。その後、AnacondaはHDを見つけて/ mnt / sysimageとしてマウントします。 AnacondaはインストールCDからPackages / * .rpmをインストールします。 RPMをPackagesディレクトリに追加してからisoを再書き込みできますが、Anacondaはまだインストールする必要があることを知りません。プログラムがRPMを見つけるようにAnacondaをハッキングすることには答えがありません。

関連情報