PostgreSQL 的 Bash 部署 - 安装问题



我正在尝试使用 bash shell 脚本从我的 Debian 6.0 服务器上的源代码构建 postgreSQL,但我遇到了问题。这是我到目前为止制作的代码:

# 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   

谁能告诉我哪里出了问题?如果还有其他明显的事情,我做错了,我总是愿意听到它!

你做错的第一件事是编译旧主要版本的旧版本。当有 8.4.15 时,您为什么要使用 8.4.6,并修复了相当多的重大错误?请参阅版本控制策略。无论如何,您不应该将 8.4 用于新部署,而将最新版本用于新部署。

更好的是,在 pgapt.debian.org 使用 debian 软件包,而不是自己编译。

错误的直接原因是解压缩源压缩包会生成一个类似 postgresql-8.4.6 的目录,因此您有/tmp/postgresql/postgresql-8.4.6 .您正在尝试执行configure脚本,而不是/tmp/postgresql /tmp/postgresql/postgresql-8.4.6 。 在运行 configure 之前cd创建的目录。

相关内容

  • 没有找到相关文章