katzer
(usa Ubuntu)
Enviado em 28/03/2012 - 09:43h
Fiz um shell script para instalar um programa que gera um relatorio de hardware de máquinas da rede.
--------------
#!/bin/bash
echo "ATUALIZANDO O SISTEMA"
echo "CRIANDO O ARQUIVO apt.conf"
#permite que eu faça autalizações sem que o proxy bloqueie o apt-get install
echo "Acquire{
HTTP::proxy \"http://atualiza:rede10@10.24.208.18:3128\";
FTP::proxy \"http://atualiza:rede10@10.24.208.18:3128\";
} " > /etc/apt/apt.conf
apt-get install aptitude
#verifico se o sshpass está intalado e instala se for o caso
instalado=$(aptitude show sshpass | egrep 'Estado: instalado' | awk '{print $2}')
if [ $instalado == "instalado" ] 2> /dev/null; then
echo "sshpass instalado"
else
echo "INSTALANDO O SSHPASS"
aptitude install sshpass
fi
#verifico se o hwinfo está intalado e instala se for o caso
instalado=$(aptitude show hwinfo | egrep 'Estado: instalado' | awk '{print $2}')
if [ $instalado == "instalado" ] 2> /dev/null; then
echo "hwinfo instalado"
else
echo "INSTALANDO O HWINFO"
aptitude install hwinfo
fi
echo "VERIFICANDO CHAVE PUBLICA"
ssh=$(ls -a /root |egrep ".ssh")
if [ -z $ssh ] 2> /dev/null; then
echo "Criando arquivo..."
ls > ls.txt
scp ls.txt auditor@10.24.208.169:/home/auditor
else
echo "Ok"
fi
#nos passos seguintes adiciono copio o arquivo cliente.sh para /etc/opt
# e adiciono no arquivo rc.local a linha /etc/opt/cliente.sh para que este
# arquivo rode após inicializar. O arquivo cliente.sh gera para mim um relatório
# de hardware
cp cliente.sh /etc/opt
chmod +x /etc/opt/cliente.sh
sed '/cliente.sh/d' /etc/rc.local > tmp.txt
cat tmp.txt > /etc/rc.local
sed '/default/{p;s/.*/\/etc\/opt\/cliente.sh/;}' /etc/rc.local > tmp.txt
cat tmp.txt > /etc/rc.local
rm tmp.txt
--------------
Gostaria de rodar isso com zenity mas os apt-get para o sshpass, hwinfo e para fazer o scp pela primeira vez pede confirmações e senha para digitar. Como resolver isso se estou usando zenity?