7

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

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

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

セットアップが一貫していないのはなぜですか? apt-get install 、 rpm -i 、および pkg_add の違いに帰着しますか?

4

5 に答える 5

1

ほぼ確実にそうです。LinuxとUnixのフレーバーが異なれば、ソフトウェアのパッケージ化へのアプローチも異なります。たとえば、FreeBSDはportsシステムに基づいています(ほとんどの場合、バイナリパッケージが事前に構築されていますが、最初からコンパイルします)が、主流のLinuxディストリビューションでは、完全に事前に作成されていることがよくあります。人気のあるもののためにバイナリパッケージを用意しました。

パッケージングシステムを維持するさまざまな人々(「パッケージャー」、および他の、時には親切ではないニックネーム)は、問題に対するさまざまなアプローチを維持し、多くの場合、親プロジェクトの精神を反映しています。あるいは、1人のパッケージャーが、標準構成でセットアップして、ユーザーに代わっていくつかの一般的な初期化手順を実行することが合理的であると判断した場合もありますが、よりハンズオフのパッケージャーは、特にソフトウェアの場合、エンドユーザーに任せます。システムサービスなど、展開前に複雑であるか、考慮が必要です。

于 2009-02-25T23:21:32.487 に答える
1

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

ソフトウェアをインストールするときに手を握るディストリビューションもあれば、自分で物事をやりたいと期待するディストリビューションもあります。パッケージャーがそのように物事を行う理由については、実際には黄金の答えはありません。

Ubuntuは、ユーザーにシェルが表示されることなく、ワンクリックで簡単にインストールできるように努めています。システムインテグレーターのために特別に構築された他のディストリビューションは、あなたの手を握りません。

Linuxカーネルを中心に展開する31(およびそれ以上)のオペレーティングシステム、またはBSDカーネルに焦点を当てた取り組みへようこそ。

誰もがそれがどのように行われるべきかについてある程度の考えを持っています。優れたディストリビューションは、あなたが何をしているのかを知っていることを前提としています。もちろん、Microsoftからデスクトップ市場をつまむことを望まない限り、その場合、彼らはあなたの手を握る優れたデスクトップディストリビューションになります。

それは主に選択の問題であり、それが現象全体をとてもクールにするものです。

于 2009-03-04T11:32:27.373 に答える
1

ほとんどの場合、これらのシステムでパッケージ化されている起動スクリプトが、最初の実行時に initdb を自動的に実行するだけです。

于 2009-02-25T23:19:57.047 に答える
0

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

于 2009-03-04T11:25:56.890 に答える