source: trunk/INSTALL/arquivos/scripts/aux.sh @ 6219

Revision 6219, 3.2 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Correacao na identificacao do SO. Agora o instalador seleciona o SO automaticamente

Line 
1# Funcoes auxiliares de todo o instalador
2
3# Monta um dialog para que o usuario insira a senha.
4# Depois grava a informacao em uma variavel global "LDAP_PWD".
5get_pass ()
6{
7        # Se a senha ainda não foi requisitada
8        if [ "x$LDAP_PWD" == "x" ]
9        then
10                LDAP_PWD=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite uma senha:' 0 0 )
11                LDAP_PWD_CONF=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Confirme a senha:' 0 0 )
12                if [ "x$LDAP_PWD" != "x$LDAP_PWD_CONF" ]
13                then
14                        dialog --backtitle "$BACKTITLE" --title 'As senhas não conferem' \
15                                --msgbox 'Favor digitar as duas senhas iguais!!!' 6 45
16                        # Zera a senha e chama novamente a tela de senha
17                        unset LDAP_PWD
18                        get_pass
19                fi
20                # Gera a senha para o arquivo de configuração do LDAP
21                LDAP_PWD_MD5=`$ARQS/scripts/md5pass.pl $LDAP_PWD`
22        fi
23}
24
25# Monta um dialog para que o usuario insira a organizacao e dominio
26# Depois grava as informacoes em variaveis globais
27get_org ()
28{
29        if [ "x$ORG" == "x" ] || [ "x$DOMAIN" == "x" ]
30        then
31                ORG=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite uma organização:(ex.: celepar)' 0 55 )
32                DOMAIN=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite seu domínio:(ex.: '$ORG'.com.br)' 0 55 )
33                if [ "x$ORG" == "x" ] || [ "x$DOMAIN" == "x" ]
34                then
35                        dialog --backtitle "$BACKTITLE" --title 'Organização ou domínio inválido!' \
36                                --msgbox 'Favor preencher a organização E o domínio!!' 6 50
37                        # Zera as variaveis e chama o dialog novamente
38                        unset ORG
39                        unset DOMAIN
40                        get_org
41                fi
42                # Substitui o '.' por ',dc='
43                LDAP_DN=`echo "dc=$DOMAIN" | sed 's/\./,dc=/g'`
44                # Substitui qualquer coisa depois do primerio '.' por 'nada'
45                LDAP_DC=`echo $DOMAIN | sed 's/\..*//g'`
46                # Substitui qualquer coisa antes do ultimo '.' por 'nada'
47                #LDAP_DC=`echo $DOMAIN | sed 's/.*\.//g'`
48        fi
49}
50
51# Detects which OS and if it is Linux then it will detect which Linux
52# Distribution.
53# http://linuxmafia.com/faq/Admin/release-files.html
54msg_erro ()
55{
56        echo "Sistema operacional ($1) não suportado!"
57        exit 1
58}
59
60qualSO ()
61{
62        OS=`uname -s`
63        REV=`uname -r`
64        MACH=`uname -m`
65
66        DIST="Desconhecido"
67        PSEUDONAME="Desconhecido"
68        REV="Desconhecido"
69
70        if [ "${OS}" = "SunOS" ] ; then
71                OS=Solaris
72                ARCH=`uname -p`
73                OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
74                msg_erro $OSSTR
75        elif [ "${OS}" = "AIX" ] ; then
76                OSSTR="${OS} `oslevel` (`oslevel -r`)"
77                msg_erro $OSSTR
78        elif [ "${OS}" = "Linux" ] ; then
79                KERNEL=`uname -r`
80                # RedHat ou Centos
81                if [ -f /etc/redhat-release ] ; then
82                        DIST=`cat /etc/redhat-release | cut -d' ' -f1`
83                        PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
84                        REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
85                # Debian, Ubuntu e variantes, que possuem o LSB
86                elif [ -f /etc/debian_version ] ; then
87                        DIST=`lsb_release -si`
88                        PSEUDONAME=`lsb_release -sc`
89                        REV=`lsb_release -sr`
90                # TODO: Validar do suse
91                elif [ -f /etc/SuSE-release ] ; then
92                        DIST=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
93                        REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
94                fi
95
96                OSSTR="${OS} ${DIST} ${REV} (${PSEUDONAME} ${KERNEL} ${MACH})"
97        fi
98}
99
100validaSO ()
101{
102        R=1
103        #if [ "$DIST" == "$1" ] && [ `echo $REV | grep -q "$2"` ]
104        echo $REV | grep -q "$2"
105        if [ $? -eq 0 ] && [ "$DIST" == "$1" ]
106        then
107                R=0
108        fi
109
110        return $R
111}
Note: See TracBrowser for help on using the repository browser.