>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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a