0

複数のマシンで1 つのスクリプトを使用https://github.com/reddit/reddit/blob/master/install-reddit.shしましたが、毎回完全に機能しました。現在、Ubuntu 64 ビットを搭載した 1 台のサーバーで、スクリプトの一部で問題が発生しています。

###############################################################################
# Configure PostgreSQL
###############################################################################
SQL="SELECT COUNT(1) FROM pg_catalog.pg_database WHERE datname = 'reddit';"
IS_DATABASE_CREATED=$(sudo -u postgres psql -t -c "$SQL")

if [ $IS_DATABASE_CREATED -ne 1 ]; then
    cat <<PGSCRIPT | sudo -u postgres psql
CREATE DATABASE reddit WITH ENCODING = 'utf8' TEMPLATE template0;
CREATE USER reddit WITH PASSWORD 'password';
PGSCRIPT
fi

sudo -u postgres psql reddit < $REDDIT_HOME/reddit/sql/functions.sql

これは基本的に、インストールプロセス全体を壊しています。スクリプトから手動で行を実行しようとしましたsudo -u postgres psqlが、出力がまったく得られません。POSTGRESQL を手動でセットアップするためのガイドに従うと、コマンドが次のsudo -u postgres initdb -D /usr/local/pgsql/data出力で失敗するため、データベースの作成が完了していないようです。

sudo: initdb: command not found

私もパスに何かを追加しようとしましたexport PATH=$PATH:/usr/lib/postgresql/binが、助けがなければinitdbは起動しません。Postgresql がインストールされているので、何が原因なのかよくわかりません。

の出力/etc/init.d/postgresql statusRunning clusters: 9.1/main、サービスが実行されているためです。

ia32-libs と libc6-i386 をインストールしてみましたが、どちらも大きな違いはありませんでした。

更新: コメントで説明されているように、その問題に対処した後、別の問題に遭遇しました。これも関係が深いと思うので載せておきます。次に、次のエラーが表示されます。

+ sudo -u reddit make pyx
[+] including definitions from Makefile.py
python setup.py build_ext --inplace
/home/reddit/reddit/r2/ez_setup.py:101: UserWarning: Module ez_setup was already imported from /home/reddit/reddit/r2/ez_setup.pyc, but /usr/lib/pymodules/python2.7 is being added to sys.path
  import pkg_resources
running build_ext
skipping './r2/models/_builder.c' Cython extension (up-to-date)
building 'r2.models._builder' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c ./r2/models/_builder.c -o build/temp.linux-x86_64-2.7/./r2/models/_builder.o
unable to execute gcc: Permission denied
error: command 'gcc' failed with exit status 1

そのため、この gcc が問題を引き起こしています。この行はこれをトリガーしています: cd $REDDIT_HOME/reddit/r2 sudo -u $REDDIT_OWNER make pyx # .pyx から .c ファイルを生成します

$REDDIT_OWNER は reddit であるため、そのユーザーとして実行され、それらのエラーが発生します。誰でもこれに対する潜在的な解決策を提案できますか? make: * [build/pyx-buildstamp] エラー 1

ご協力いただきありがとうございます!

4

1 に答える 1

1

sudo によって PATH がリセットされるという問題が発生している可能性があります。こちらをご覧ください

于 2012-12-25T13:59:22.810 に答える