2009-02-25 8 views
6

psqlを初めて実行する前に、postgresqlのマニュアルに従ってinitdbを使用する必要がないのはなぜですか? (8.04.1にバージョン8.3をインストールしました)initdbを使わずにインストールした後、PostgreSQLをUbuntuで実行するのはなぜですか?

Red Hatには-c postgresql startが必要ですが、init.dbは必要ありません。

しかし、FreeBSDではinitdbを実行する必要があります。

セットアップに一貫性がないのはなぜですか? apt-get install、rpm -iとpkg_addの違いになりますか?

答えて

1

ほとんどの場合、これらのシステムでパッケージ化された起動スクリプトは、起動時に自動的にinitdbを実行します。

+0

これはまさに正しいことです。 /etc/init.d/postgresqlを見てください。 –

1

ほぼ確実に、はい。 LinuxとUnixの異なるフレーバーには、ソフトウェアをパッケージ化するさまざまなアプローチがあります。例えば、FreeBSDはポートシステムをベースにしています(最初からコンパイルしますが、多くの場合バイナリパッケージがあらかじめ組み込まれています)。一方、主流のLinuxディストリビューションでは、人気のあるもののために用意されたバイナリパッケージ。

パッケージシステムを維持している人々(「パッケージャ」、および時には種類のニックネームより少ない)は、しばしば親プロジェクトのエトスを反映して、さまざまなアプローチを維持します。あるいは、標準的な構成で設定し、いくつかの共通の初期化手順をあなたのために実行するのが妥当であると単一のパッケージャが決定するかもしれませんが、よりハンズオフなパッケージャは、特にソフトウェア何らかの形で複雑であるか、配備前に考慮すべき事項がある。システムサービス。

0

間違っていない場合、UbuntuのPostgreSQLパッケージはDebianから派生しています。 Debianのパッケージングは​​何らかの理由でこの位置にあるかもしれません。そうであれば、DebianとUbuntuのようなすべてのものは同じ動作をします。これは、リポジトリから対応するソフトウェアをインストールしようとする場合にのみ発生します。 PostgreSQLのサイトからソースを入手してコンパイルした場合は、マニュアルに記載されているとおりに取得します。さまざまなディストリビューションは特定のパッケージガイドラインに従い、特定のソフトウェアのパッケージングに関して一定の立場をとっています。正確な詳細を知りたい場合は、postgresqlパッケージのパッケージメンテナーを突き止めて理由を知ることができます。

1

起動スクリプトではなく、インストールしたパッケージに指定されたインストール後のフックが追加の手順を実行します。 .debまたは.rpm形式を使用している場合でも、パッケージャはすべてのファイルがインストールされた後にタスクが実行されるように設定できます。

ソフトウェアをインストールするときに配布物によっては、あなたが自分のことをやりたいと思っている人もいるかもしれません。実際、パッケージャが彼らのやり方をしている理由は何もありません。

Ubuntuはワンクリックで簡単にインストールできるように努力しています。システムインテグレータのために特別に構築された他のディストリビューションは、あなたの手を保持しません。

Linuxカーネルを中心とした31以上のオペレーティングシステムや、BSDカーネルに焦点を当てた取り組みにようこそ。

誰にでもどのようにしたらよいか考えています。適切なディストリビューションでは、あなたが何をしているのかを知っていることを前提としています。もちろん、マイクロソフトからデスクトップ市場を奪いたくない限り、彼らはあなたの手を保持する良いデスクトップディストリビューションになります。

これは主に、全体の現象を非常に冷たくするものです。

1

Debian(と拡張機能、Ubuntu)は、PostgreSQLをかなり巧みに扱います。詳細についてはpostgresql-commonパッケージをご覧ください。簡単に言えば、postgresの複数の(メジャーな)バージョンをインストールし、各バージョンのpostgresを実行する複数のクラスタをサポートしています。持っているクラスタを確認するには、pg_lsclustersを試してください。パッケージメンテナーは、初めてpgサーバーパッケージをインストールする場合には、initdb用のパッケージをインストールすることを前提としています。たとえば、postgresql-9.1をインストールすると、デフォルトで9.1/main cluster initdbが使用されます。

ディストリビューション全体のポイントは、これとまったく同じ問題に対するより良い解決策を提供することなので、Linuxディストリビューションでは一貫性がありません。 Debianはこの面で優れたソリューションを提供しています。ただし、postgresql PPAを使用してpostgresqlの最新バージョンを入手することをお勧めします。

私は古代の質問に答えていることを知りました。ブー。

関連する問題