仮想化されたRedHatサーバーのファームでは、セキュリティ上の理由から最小限のシステムをインストールする必要があります。最小限のインストールにはいくつかの利点があります(セキュリティ関連がない場合でも)。
残念ながら、Red Hatの「最小インストール」には不要なパッケージが多数含まれているため、これは簡単ではありません。
ファームがOracleiASを実行しているため、追加の課題があります。 iASにはローカルのグラフィカル環境との依存関係があると言われています。したがって、最終的に、ファーム内のすべてのサーバーにはgnome、Xなどがあります。
私はWebを検索してきましたが、1つの解決策は、必要なパッケージのみをインストールするキックスタートスクリプトを作成することであるようです。しかし、これは難しいと思い、後でシステムの依存関係を維持する方法についていくつか疑問があります。
最小限のRedHatサーバーをどのようにインストールしますか?キックスタートを使用しても大丈夫ですか、それともインストールまたはアップデートで依存関係の問題がありますか? iASのグラフィカル環境のインストールを回避する方法はありますか?
私はWebを検索してきましたが、1つの解決策は、必要なパッケージのみをインストールするキックスタートスクリプトを作成することであるようです。しかし、これは難しいと思い、後でシステムの依存関係を維持する方法についていくつか疑問があります。
キックスタートファイルの作成はそれほど難しくありません。インストールされているサーバーの1つの/ rootで、anaconda-ks.cfgというファイルを探してください。これは、新しいサーバーを既存のサーバーのように見せるためのキックスタートファイルです。すべてのRH、Fedora、またはCentOSサーバーにそのファイルがあります。
キックスタートファイルの作成に慣れていない場合は、system-config-kickstartでファイルを編集できます。ただし、そのためにはXが必要です。
最小限のRedHatサーバーをどのようにインストールしますか?キックスタートを使用するのはOk)ですか、それともインストールまたは更新で依存関係の問題が発生しますか?iASのグラフィカル環境のインストールを回避する方法はありますか?
キックスタートファイルで問題なく動作しています。キックスタートは、インストール後の更新方法に影響します。インストール中に、依存関係は自動的に計算されます。とにかく必要な、削除したパッケージ(可能であれば)が追加されます。依存関係が壊れているシステムをインストールすることはできませんシステムの場合。ただし、Oracleの依存関係はまったく別の問題です。
オラクルがグラフィカル環境を必要としている場合(そして、それは悪いことだと私は知っていますが、そうします)、Xをインストールする以外に選択肢はありません。後でXは必要ありません。したがって、インストール後、Xを削除できます。
私の店では、Xライブラリのごくわずかなセットしかインストールしていません。 xclock(したがってインストーラー)を実行するのにちょうど十分リモートで X転送で。もういい。
Oracleには非常識な依存関係があります。 Oracleインストーラが必要とする古いCライブラリ互換パッケージがいくつかあります。実際にそれらを必要としているからではなく、出荷するZip実装がそれらを必要としているからです。なぜ彼らはそのZip実装を出荷するのですか?オラクルが出荷する非常に古いZip実装には、より有利なライセンス条件があるという噂があります(たとえば、GPL化されていない)ので、新しい実装の使用を拒否します。ただの噂ですが、確認は聞いたことがありません...
キックスタートは大丈夫です。特定のパッケージがインストールされていないことを確認したい場合は、インストールするパッケージ/グループのリストに、マイナス( '-')記号を前に付けてリストすることができます。
例えば.
%packages
@base
core-utils
-httpd
apacheがインストールされないようにするため
次に、%postセクションで、chkconfig
などのコマンドを実行して、不要なサービスをオフにします。その他、インストールを強化するために必要なことを実行します。
実際のところ、問題はRedHatではなく、Oracleの依存関係です。
以前の投稿者が述べたように、Oracleの依存関係はおかしく、製品自体ではなく、主に安っぽいインストーラーにリンクしています。
問題を2つに分ける必要があります:
2番目の部分は最も難しい部分です。オラクルの前提条件から、本当に必要なものと、単なる愚かな依存関係を判断するために、ある程度の時間を費やす必要があります。
しかし、それが完了すると、インストールを自動化し、すべてのシステムのメンテナンスを最小限に抑えることができます。
一度インストールしてバックアップを作成し、他のシステムで使用できます。そもそも使用する最小限のシステムを取得するには、次のいずれかを実行できます。
後者の方が簡単だと思います。これを行うには時間がかかる場合がありますが、1回だけ行うので、それほど重要ではありません。
ファームに同種の仮想「ハードウェア」がある場合は、なおさらです。そうでない場合、一般的に注意する必要があるのは、ディスク領域を最大限に活用することだけです。 「マスター」コピーをサイズの点で最小の分母に準拠させるだけで、以下を参照してください。
最後の部分は、いくつかの条件で比較的簡単に達成できます。 (仮想)ディスクの最後に最大のパーティションがある場合は、「fdisk」でそれを削除し、再作成してディスクをいっぱいにします。次に、resize2fsを実行すると、完了です。もう1つのアイデアは、「lvextend」を使用してボリュームを簡単に拡大できるLVMを使用することです。 (LVMでは、これをスクリプト化/自動化するのは非常に簡単です。)
私は昨日これにしばらく時間を費やしたので、私は別の古いものに答えています。特別な目的のサーバー用に、RedHatを最小限のパッケージでインストールしたかったのです。
最新バージョンでは、%packages
セクションで単一のパッケージを指定しなくても、グループ@base
がデフォルトでインストールされているようです。
これにより、一部のシステムで維持したいよりもはるかに多くのパッケージとサービスがインストールされます。
次に、 CentOS Kickstart/Anaconda Wiki で%packages --nobase
を見つけました。これは本当に、RedHatベースのディストリビューションの最小インストールです。あなたはあなたが慣れていて、行方不明に依存している多くのコマンドを見つけるでしょう。しかし、最小限の出発点が必要な場合は、これがそれです。