>Boa tarde a todos,
>Estou em um projeto onde a aplicação é cliente/servidor, a sua distribuição
>é feita tipo software de caixinha e o servidor precisa rodar em várias
>distribuições Linux ( a instalação no Linux é apenas para o servidor).
>A questão é a seguinte, qual seria a melhor forma de confeccionar os
>pacotes
>de instalação, um para cada distribuição ou teria como fazer um instalador
>genérico para qualquer distribuição?
Ola Alex;
Já a algum tempo montei um sh pra me ajudar nesta questão, o problema é que
esta fixo para o pacote postgresql-7.4.18.tar.gz mas enquanto a isso é só
alterar para o qual você esta utilizando, uso também uma arvore de
diretórios especificas uma pasta /home/teste onde deixo o sh e o pacote do
postgres.
Para minha aplicação eu necessitava de algumas contribs e no final tem o
processo de instalação dela, provavelmente você não precisara delas, mas
deixei caso precise de outras ai esta um exemplo de como instalar contribs.
#!/bin/bash
arq1='/'
if [ ! -w $arq1 ]; then
echo
"*--------------------------------------------------------------*"
echo "* Atenção: São necessários os direitos do
*"
echo "* usuário root para a realização
*"
echo "* do procedimento de instalação,
*"
echo "* instalação interrompida!!
*"
echo
"*--------------------------------------------------------------*"
exit 0
fi
echo "*--------------------------------------------------------------*"
echo "* Movendo arquivo postgres.tar para /usr/local/
*"
echo "*--------------------------------------------------------------*"
mv /home/teste/postgresql-7.4.18.tar.gz /usr/local/
cd /usr/local/
echo "*--------------------------------------------------------------*"
echo "* Descompactando arquivo postgres.tar
*"
echo "*--------------------------------------------------------------*"
tar -zxvf postgresql-7.4.18.tar.gz
cd postgresql-7.4.18
echo "*--------------------------------------------------------------*"
echo "* Compilando arquivo postgres
*"
echo "*--------------------------------------------------------------*"
./configure --prefix=/usr/local/pgsql --without-readline --without-zlib
echo "*--------------------------------------------------------------*"
echo "* Criando executaveis para instalação
*"
echo "*--------------------------------------------------------------*"
make
echo "*--------------------------------------------------------------*"
echo "* Instalando PostgreSQL
*"
echo "*--------------------------------------------------------------*"
make install
echo "*--------------------------------------------------------------*"
echo "* Criando usuário Postgres
*"
echo "*--------------------------------------------------------------*"
echo "*--------------------------------------------------------------*"
echo "* Enter new UNIX password: senha_do_postgres *"
echo "* Retype new UNIX password: senha_do_postgres novamente *"
echo "* passwd: password updated successfully
*"
echo "*--------------------------------------------------------------*"
echo "*--------------------------------------------------------------*"
echo "* Changing the user information for xico
*"
echo "* Enter the new value, or press ENTER for the default *"
echo "* Full Name []: pressione ENTER
*"
echo "* Room Number []: pressione ENTER
*"
echo "* Work Phone []: pressione ENTER
*"
echo "* Home Phone []: pressione ENTER
*"
echo "* Other []: pressione ENTER
*"
echo "* Is the information correct? [y/N] pressione y e ENTER *"
echo "*--------------------------------------------------------------*"
groupadd postgres
useradd -m -g postgres -s /bin/bash postgres
usermod -G root postgres
passwd postgres
if ls /home/postgres ; then
echo "*--------------------------------------------------------------*"
echo "*Diretório /home/postgres ja existe *"
echo "*--------------------------------------------------------------*"
else
echo "*--------------------------------------------------------------*"
echo "* Criando diretório /home/postgres *"
echo "*--------------------------------------------------------------*"
mkdir /home/postgres
fi
echo "*--------------------------------------------------------------*"
echo "* Mudando dono da pasta postgres para postgres *"
echo "*--------------------------------------------------------------*"
chown postgres.postgres /home/postgres
echo "*--------------------------------------------------------------*"
echo "* Adiciona usuario postgres ao grupo root. *"
echo "*--------------------------------------------------------------*"
cd /usr/local/pgsql/
echo "*--------------------------------------------------------------*"
echo "* Criando diretório /usr/local/pgsql/data *"
echo "*--------------------------------------------------------------*"
mkdir data
chown postgres data -v
chmod -R 700 /usr/local/pgsql/data
cd /usr/local/postgresql-7.4.18/contrib/lo/
make
make install
cd /usr/local/postgresql-7.4.18/contrib/fuzzystrmatch/
make
make install
cd /usr/local/postgresql-7.4.18/contrib/dblink/
make
make install
cd /usr/local/pgsql/
su postgres -c
"/usr/local/pgsql/bin/initdb -D --locale=pt_Br --lc-ctype=pt_Br
/usr/local/pgsql/data"
/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data >logfile 2>&1
&
echo
"*-------------------------------------------------------------------------------------------------------*"
echo "* 1º Acrescentar a linha abaixo no arquivo /etc/rc.local antes do
exit0 *"
echo "* Para inicialização altomática do postgres
*"
echo "* sh /usr/local/postgresql-7.4.18/contrib/start-scripts/linux start
*"
echo "*
*"
echo "* 2º Falta ser configurando o arquivo
/usr/local/pgsql/data/pg_hba.conf
*"
echo "* para configura deve-se estar logado com usuário postgres e em
seguida *"
echo "* reiniciar o servidor.
*"
echo "*
*"
echo "* 3º Logar com usuário postgres e efetuar os comandos abaixo:
*"
echo "* psql -U postgres template1 <
/usr/local/postgresql-7.4.18/contrib/dblink/dblink.sql
*"
echo "* psql -U postgres template1 <
/usr/local/postgresql-7.4.18/contrib/fuzzystrmatch/fuzzystrmatch.sql
*"
echo "* psql -U postgres template1
</usr/local/postgresql-7.4.18/contrib/lo/lo.sql
*"
echo "*
*"
echo
"*-------------------------------------------------------------------------------------------------------*"
fi
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral