web-dev-qa-db-ja.com

RedHatサーバーの最小インストール

仮想化されたRedHatサーバーのファームでは、セキュリティ上の理由から最小限のシステムをインストールする必要があります。最小限のインストールにはいくつかの利点があります(セキュリティ関連がない場合でも)。

  1. 脆弱性への露出が少ない(必要ない場合はインストールしないでください)
  2. 更新プロセスの改善(更新するパッケージが少なくなり、システムが破損する可能性が低くなります)
  3. パフォーマンスの向上(不要なデーモンやプロセスはありません)
  4. ソフトウェアが少なければ少ないほど、システムを強化するのは簡単です。

残念ながら、Red Hatの「最小インストール」には不要なパッケージが多数含まれているため、これは簡単ではありません。

ファームがOracleiASを実行しているため、追加の課題があります。 iASにはローカルのグラフィカル環境との依存関係があると言われています。したがって、最終的に、ファーム内のすべてのサーバーにはgnome、Xなどがあります。

私はWebを検索してきましたが、1つの解決策は、必要なパッケージのみをインストールするキックスタートスクリプトを作成することであるようです。しかし、これは難しいと思い、後でシステムの依存関係を維持する方法についていくつか疑問があります。

最小限のRedHatサーバーをどのようにインストールしますか?キックスタートを使用しても大丈夫ですか、それともインストールまたはアップデートで依存関係の問題がありますか? iASのグラフィカル環境のインストールを回避する方法はありますか?

8
chmeee

私は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化されていない)ので、新しい実装の使用を拒否します。ただの噂ですが、確認は聞いたことがありません...

9
wzzrd

キックスタートは大丈夫です。特定のパッケージがインストールされていないことを確認したい場合は、インストールするパッケージ/グループのリストに、マイナス( '-')記号を前に付けてリストすることができます。

例えば.

%packages
@base
core-utils
-httpd

apacheがインストールされないようにするため

次に、%postセクションで、chkconfigなどのコマンドを実行して、不要なサービスをオフにします。その他、インストールを強化するために必要なことを実行します。

7
Jason Tan

実際のところ、問題はRedHatではなく、Oracleの依存関係です。

以前の投稿者が述べたように、Oracleの依存関係はおかしく、製品自体ではなく、主に安っぽいインストーラーにリンクしています。

問題を2つに分ける必要があります:

  • ハードウェア上で実行され、Oracle IASの前提条件に従ってファイルシステムを生成するキックスタートファイルを使用して、最小限のRedHatインストールを作成します。
  • Oracleインストーラに必要なパッケージをインストールするスクリプト/パッケージを作成し、応答ファイルを使用してOracleをインストールしてから、不要なパッケージをアンインストールします。

2番目の部分は最も難しい部分です。オラクルの前提条件から、本当に必要なものと、単なる愚かな依存関係を判断するために、ある程度の時間を費やす必要があります。

しかし、それが完了すると、インストールを自動化し、すべてのシステムのメンテナンスを最小限に抑えることができます。

3
Fleole

一度インストールしてバックアップを作成し、他のシステムで使用できます。そもそも使用する最小限のシステムを取得するには、次のいずれかを実行できます。

  • 通常の「最小限の」インストールを実行してから、不要なパッケージを削除します。または
  • インストーラーに、個々のパッケージを選択できるように依頼してください。

後者の方が簡単だと思います。これを行うには時間がかかる場合がありますが、1回だけ行うので、それほど重要ではありません。

ファームに同種の仮想「ハードウェア」がある場合は、なおさらです。そうでない場合、一般的に注意する必要があるのは、ディスク領域を最大限に活用することだけです。 「マスター」コピーをサイズの点で最小の分母に準拠させるだけで、以下を参照してください。

最後の部分は、いくつかの条件で比較的簡単に達成できます。 (仮想)ディスクの最後に最大のパーティションがある場合は、「fdisk」でそれを削除し、再作成してディスクをいっぱいにします。次に、resize2fsを実行すると、完了です。もう1つのアイデアは、「lvextend」を使用してボリュームを簡単に拡大できるLVMを使用することです。 (LVMでは、これをスクリプト化/自動化するのは非常に簡単です。)

私は昨日これにしばらく時間を費やしたので、私は別の古いものに答えています。特別な目的のサーバー用に、RedHatを最小限のパッケージでインストールしたかったのです。

最新バージョンでは、%packagesセクションで単一のパッケージを指定しなくても、グループ@baseがデフォルトでインストールされているようです。

これにより、一部のシステムで維持したいよりもはるかに多くのパッケージとサービスがインストールされます。

次に、 CentOS Kickstart/Anaconda Wiki%packages --nobaseを見つけました。これは本当に、RedHatベースのディストリビューションの最小インストールです。あなたはあなたが慣れていて、行方不明に依存している多くのコマンドを見つけるでしょう。しかし、最小限の出発点が必要な場合は、これがそれです。

1
Aaron Copley