2012-12-25 3 views
0

나는 여러 대의 컴퓨터에서 완벽하게 작동 할 때마다 하나의 스크립트, https://github.com/reddit/reddit/blob/master/install-reddit.sh을 사용했습니다. 자, 우분투 64 비트를 가진 하나의 서버, 나는 스크립트의 한 부분에 문제가 발생합니다.64bit Ubuntu에서 스크립트와 관련된 문제

############################################################################### 
# 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처럼 스크립트에서 수동으로 줄을 실행 해 보았습니다.하지만 출력이 전혀 나오지 않습니다. 나는 또한, 경로를 export PATH=$PATH:/usr/lib/postgresql/bin하지만 도움없이 물건을 추가하는 시도

sudo: initdb: command not found 

: 내가 수동으로 POSTGRESQL을 설정하기위한 가이드를 따르는 경우, 명령 sudo -u postgres initdb -D /usr/local/pgsql/data이 출력하지 못하기 때문에 데이터베이스 작성이 완료되지 않은 것 같다 너무, initdb 실 거예요. PostgreSQL이 설치되어 있으므로이 문제의 원인을 정확히 알지 못합니다.

/etc/init.d/postgresql status의 출력 Running clusters: 9.1/main 때문에 서비스가 실행되고 있습니다.

이 난 IA32 - libs와 및 libc6 내가-i386을 설치하려고했지만 그 중 하나가 큰 차이를하지 않았다.

UPDATE : 주석에 설명 된대로 그 문제를 처리 한 후, 나는 또 다른 하나가 발생했습니다. 나는 또한 이것과 밀접하게 관련되어 있다고 생각하므로 여기에 이것을 넣을 것이다. 다음 오류가 발생합니다.

+ 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을/레딧/R2 는 sudo -u $ REDDIT_OWNER PYX 번호가 .pyx

$ REDDIT_OWNER에서 .c 인 파일을 생성하게는 해당 사용자로 실행되도록, 레딧, 그리고 끝이 그 오류에서 위로. 누구도 이것에 대한 잠재적 인 해결책을 제안 할 수 있습니까? make : * [빌드/pyx-buildstamp] 오류 1

도움 주셔서 감사합니다!

+1

도움이 될만한 정보 : http://serverfault.com/questions/233497/where-is-initdb-in-ubuntu – knittl

+0

감사의 말씀 knittl 덕분에 몇 가지 문제가 해결되었습니다. 나는 initdb를 찾는데 도움을 청했으나, 언급 한대로 /usr/lib/postgresql/9.1/bin/postgres를 보았을 때, 나는 그것을 좋아한다. 나는 initdb, pqsl을 그 경로로 바꾸었다. 하지만 지금은 또 다른 문제가 있습니다 :) –

답변

1

아마도 sudo가 PATH를 재설정하는 문제가 발생하고 있습니다. here

+0

안녕하세요, 위의 주석에서 언급했듯이 /usr/lib/postgresql/9.1/bin/postgres에있는 것들을 발견했으며 어떻게 든 배쉬에서 모든 포스트그레스를 처리했습니다. 수동으로 스크립트를 다시 사용하지 않았습니다. 하지만 불행히도 gcc로 기존 게시물을 업데이트했습니다. –

+0

사용자 reddit에 gcc를 실행할 수있는 권한이없는 것으로 보입니다. 일반적으로 모든 사용자는 gcc를 사용할 수있는 권한을 가지고 있지만 보안 문제가있을 수 있습니다. 사용 권한을 올바르게 설정했는지 확인하십시오 (chmod a + x/path/to/gcc) –

관련 문제