Correção bugs durante instalação
This commit is contained in:
parent
a3a2aa3341
commit
140a5eaa05
86
install.sh
86
install.sh
@ -50,10 +50,6 @@ verificar_dependencias() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! command -v tar &> /dev/null; then
|
|
||||||
deps_faltando="$deps_faltando tar"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! command -v unbound-checkconf &> /dev/null; then
|
if ! command -v unbound-checkconf &> /dev/null; then
|
||||||
deps_faltando="$deps_faltando unbound-checkconf"
|
deps_faltando="$deps_faltando unbound-checkconf"
|
||||||
fi
|
fi
|
||||||
@ -280,62 +276,84 @@ instalar() {
|
|||||||
systemctl stop dnsblock-agent 2>/dev/null || true
|
systemctl stop dnsblock-agent 2>/dev/null || true
|
||||||
systemctl disable dnsblock-agent 2>/dev/null || true
|
systemctl disable dnsblock-agent 2>/dev/null || true
|
||||||
rm -rf "$INSTALL_DIR"
|
rm -rf "$INSTALL_DIR"
|
||||||
|
rm -f "$SERVICE_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Solicitar serial
|
# Exibir progresso - Fase 1: Criar diretórios e copiar arquivos
|
||||||
SERIAL=$(solicitar_serial)
|
|
||||||
|
|
||||||
# Exibir progresso
|
|
||||||
{
|
{
|
||||||
echo "10"; echo "# Criando diretórios..."
|
echo "5"; echo "# Criando diretórios..."
|
||||||
mkdir -p "$INSTALL_DIR"
|
mkdir -p "$INSTALL_DIR"
|
||||||
mkdir -p "$INSTALL_DIR/logs"
|
mkdir -p "$INSTALL_DIR/logs"
|
||||||
mkdir -p "$INSTALL_DIR/rpz"
|
mkdir -p "$INSTALL_DIR/rpz"
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "30"; echo "# Copiando arquivos..."
|
echo "15"; echo "# Copiando binário..."
|
||||||
# Copiar todos os arquivos exceto o service file e o próprio install.sh
|
# Copiar o binário
|
||||||
for item in "$SCRIPT_DIR"/*; do
|
if [ -f "$SCRIPT_DIR/dnsblock-agent" ]; then
|
||||||
local basename=$(basename "$item")
|
cp "$SCRIPT_DIR/dnsblock-agent" "$INSTALL_DIR/"
|
||||||
if [ "$basename" != "dnsblock-agent.service" ] && [ "$basename" != "install.sh" ]; then
|
chmod +x "$INSTALL_DIR/dnsblock-agent"
|
||||||
cp -r "$item" "$INSTALL_DIR/"
|
else
|
||||||
fi
|
echo "ERRO: dnsblock-agent não encontrado!" >&2
|
||||||
done
|
exit 1
|
||||||
sleep 0.3
|
fi
|
||||||
|
sleep 0.2
|
||||||
|
|
||||||
echo "50"; echo "# Configurando permissões..."
|
echo "25"; echo "# Criando config.json..."
|
||||||
chmod +x "$INSTALL_DIR/dnsblock-agent" 2>/dev/null || true
|
# Criar config.json a partir do exemplo
|
||||||
|
if [ -f "$SCRIPT_DIR/config.json.example" ]; then
|
||||||
|
cp "$SCRIPT_DIR/config.json.example" "$INSTALL_DIR/config.json"
|
||||||
|
else
|
||||||
|
echo "ERRO: config.json.example não encontrado!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sleep 0.2
|
||||||
|
|
||||||
|
echo "35"; echo "# Configurando permissões..."
|
||||||
touch "$INSTALL_DIR/logs/agent.log"
|
touch "$INSTALL_DIR/logs/agent.log"
|
||||||
chown -R unbound:unbound "$INSTALL_DIR"
|
chown -R unbound:unbound "$INSTALL_DIR"
|
||||||
chmod 755 "$INSTALL_DIR"
|
chmod 755 "$INSTALL_DIR"
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "60"; echo "# Configurando serial..."
|
echo "40"; echo "# Aguardando..."
|
||||||
|
} | whiptail --title "DNSBlock Agent - Instalação" --gauge "Preparando arquivos..." 8 60 0
|
||||||
|
|
||||||
|
# Solicitar serial (fora do gauge para funcionar corretamente)
|
||||||
|
SERIAL=$(solicitar_serial)
|
||||||
|
|
||||||
|
# Exibir progresso - Fase 2: Configurar serial e serviço
|
||||||
|
{
|
||||||
|
echo "45"; echo "# Configurando serial..."
|
||||||
if [ -n "$SERIAL" ]; then
|
if [ -n "$SERIAL" ]; then
|
||||||
atualizar_config_serial "$SERIAL"
|
atualizar_config_serial "$SERIAL"
|
||||||
fi
|
fi
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "70"; echo "# Instalando serviço..."
|
echo "55"; echo "# Instalando serviço systemd..."
|
||||||
if [ -f "$SCRIPT_DIR/dnsblock-agent.service" ]; then
|
if [ -f "$SCRIPT_DIR/dnsblock-agent.service" ]; then
|
||||||
mv "$SCRIPT_DIR/dnsblock-agent.service" "$SERVICE_FILE"
|
cp "$SCRIPT_DIR/dnsblock-agent.service" "$SERVICE_FILE"
|
||||||
|
else
|
||||||
|
echo "ERRO: dnsblock-agent.service não encontrado!" >&2
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
sleep 0.2
|
||||||
|
|
||||||
|
echo "65"; echo "# Habilitando serviço..."
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable dnsblock-agent
|
systemctl enable dnsblock-agent 2>/dev/null || true
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "85"; echo "# Configurando Unbound..."
|
echo "75"; echo "# Configurando Unbound..."
|
||||||
configurar_unbound || true
|
configurar_unbound || true
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "95"; echo "# Finalizando..."
|
echo "90"; echo "# Finalizando..."
|
||||||
if [ -n "$SERIAL" ]; then
|
if [ -n "$SERIAL" ]; then
|
||||||
systemctl start dnsblock-agent
|
systemctl start dnsblock-agent 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
sleep 0.3
|
sleep 0.2
|
||||||
|
|
||||||
echo "100"; echo "# Concluído!"
|
echo "100"; echo "# Concluído!"
|
||||||
} | whiptail --title "DNSBlock Agent - Instalação" --gauge "Iniciando instalação..." 8 60 0
|
} | whiptail --title "DNSBlock Agent - Instalação" --gauge "Configurando sistema..." 8 60 45
|
||||||
|
|
||||||
# Exibir mensagem final
|
# Exibir mensagem final
|
||||||
if [ -n "$SERIAL" ]; then
|
if [ -n "$SERIAL" ]; then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user