2012-12-10 3 views
0

bash 쉘 스크립트를 사용하여 Debian 6.0 서버의 source에서 postgreSQL을 빌드하려고하는데 문제가 있습니다. 이것은 내가 지금까지 만든 코드입니다 :PostgreSQL의 Bash 배포 - 설치 문제

# Initial 
    apt-get update 
    apt-get -y install aptitude bzip2 libbz2-dev git-core 
    aptitude -y install sudo python-all-dev python-setuptools libxml2-dev libgeoip-dev libxslt1-dev uuid-dev gcc automake autoconf libpcre3-dev libssl-dev unzip zip python-psycopg2 libpq-dev wget make libreadline-dev 
    aptitude -y full-upgrade 

# POSTGRESQL 
############################### 

# Postgresql Download & Install 
    wget http://ftp.postgresql.org/pub/source/v8.4.6/postgresql-8.4.6.tar.gz -P /tmp 
    mkdir /tmp/postgresql 
    tar xzf /tmp/postgresql-8.4.6.tar.gz -C "/tmp/postgresql" 
    cd /tmp/postgresql/ 
    mkdir /usr/local/pgsql 
    ./configure --prefix=/usr/local/pgsql 
    cd /usr/local/pgsql 
    make 
    make install 

# Add User 
    useradd -s /bin/false "postgresql_user" 
    chown "postgresql_user" usr/local/pgsql 

# Clean Up 
    rm /tmp/postgresql-8.4.6.tar.gz 
    rm /tmp/postgresql 

# Create Database 
    echo "CREATE ROLE PSQL LOGIN ENCRYPTED PASSWORD 'PASS';" | sudo -u postgresql_user usr/local/pgsql 
    sudo -u postgresql_user /opt/bin/createdb --owner PSQL DATADB 

다음과 같이 내가 오류입니다 : 내가 잘못하시기 바랍니다 하겠어 어디

/root/StackScript: line 22: ./configure: No such file or directory          
make: *** No targets specified and no makefile found. Stop.           
make: *** No rule to make target `install'. Stop.              
chown: cannot access `usr/local/pgsql': No such file or directory                     
sudo: usr/local/pgsql: command not found                
sudo: /opt/bin/createdb: command not found 

사람이 말해 줄래? 내가 분명히 잘못한 일이 있다면 항상 그것에 대해 듣기 위해 열려 있습니다!

답변

3

가장 먼저 잘못된 것은 오래된 주요 버전의 구버전을 컴파일하는 것입니다. 8.4.15가있을 때 왜 8.4.6을 사용하겠습니까? 그리고 몇 가지 중요한 버그 수정이 있습니까? versioning policy을 참조하십시오. 당신은 어쨌든 새로운 배치를 위해 8.4를 사용해서는 안되며, 새로운 배치를 위해 최신 버전을 사용하십시오.

자신을 컴파일하는 대신 debian 패키지를 pgapt.debian.org에서 사용하십시오.

오류의 직접적인 원인은 소스 타볼을 풀면 postgresql-8.4.6과 같은 디렉토리가 생성되므로 /tmp/postgresql/postgresql-8.4.6입니다. 스크립트를 /tmp/postgresql이 아닌 /tmp/postgresql/postgresql-8.4.6에 실행하려고합니다. configure을 실행하기 전에 생성 된 디렉토리에 cd을 삽입하십시오.