Pular para o conteúdo

Instalador de programas

Esse script ajuda na instalação inicial do sistema linux.
Lembre-se de colocar os programas dentro dos vetores ou criar um vetor novo e chamar no final do script.
Execute com :
sudo bash inicial_bash.sh ou sudo chmod +x inicial_bash.sh ; ./script.sh

Espero que esse script ajude a comunidade.
Farei mudanças futuras pelo github.
https://github.com/lucianohanzo/inicial_bash
Luciano Hanzo lucianohanzo
Hits: 1.326 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Esse script ajuda na instalação inicial do sistema linux.
Lembre-se de colocar os programas dentro dos vetores ou criar um vetor novo e chamar no final do script.
Execute com :
sudo bash inicial_bash.sh ou sudo chmod +x inicial_bash.sh ; ./script.sh

Espero que esse script ajude a comunidade.
Farei mudanças futuras pelo github.
https://github.com/lucianohanzo/inicial_bash
Download inicial_bash.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash

# Instalação de programas iniciais.
# Criador : LUCIANO PEREIRA DE SOUZA
# REVISOR : LUCIANO PEREIRA DE SOUZA
# OBS : Esse programa instala vários programas de uma vez, através de vetores.

# Verifica se o usuário é root.
USUARIO=$(whoami)
if [ $USUARIO = "root" ];then
    echo "Bem vindo root!" ; echo 
else
    echo "Somente root!"
    echo "Tente \"sudo -i\" ou \"sudo $0\""
    exit 1
fi

# Verifica se tem internet.
internet () {
    ping $1 -c2 > /dev/null 2>&1
    if [ $? != 0 ]; then
        return 100
    fi
}

# Verifica o gerenciador de pacotes.
if [ -f /usr/bin/rpm ]; then
    Pacote="yum"
elif [ -f /usr/bin/dpkg ]; then
    Pacote="apt"
else
    echo "Gerenciador de pacotes não encontrado!" ; exit 1
fi

# Cria o arquivo de log caso não exista.
ArquivoLog=/var/log/instalador.log
[ -f $ArquivoLog ] || \
    sudo echo ">   Data e Hora    <| Situação  | > Pacote" \
    > $ArquivoLog

# Lista de programas.
# Os programas aqui estão armazenados em vetores.
Gedit=("gedit" "gedit-plugins" "gedit-plugin-text-size")
Windows=("wine" "q4wine")
Navegadores=("falkon")
Utilitarios=("vlc" "qbittorrent" "vim" "gparted" "thunderbird" "nautilus" \
             "nemo" "gnome-font-viewer" "gnome-tweaks" "gdebi" "evince" \
             "libreoffice")
Edicao=("gimp" "inkscape" "audacity" "shotcut" "obs-studio")
Idiomas=("libreoffice-l10n-pt-br" \
         "thunderbird-l10n-pt-br" \
         "firefox-esr-l10n-pt-br")

# Limpador de log.
# Deixa o arquivo de log com máximo de 1000 linhas.
limpa_logs () {
    [ -f $ArquivoLog ] && \
    Linhas=$(wc -l $ArquivoLog | cut -d" " -f1) && \
    while [ $Linhas -gt 1000 ]; do
        sed -i "2d" $ArquivoLog > /dev/null
        Linhas=$(wc -l $ArquivoLog | cut -d" " -f1)
    done
}

# Função Principal
insta_programas () {
    Vetor=("$@")
    for p in ${Vetor[@]}; do
        echo "Instalando : $p"
        internet www.google.com
        if [ $? = 100 ]; then
            echo -e "\nPacote $p não foi instalado."
            echo ">>> Sem acesso a internet ou sem DNS configurado. <<<"
            limpa_logs
            exit 2
        fi
        sudo $Pacote install -y $p > /dev/null 2>&1
        Status=$? ; Data=$(date "+%d-%m-%Y %H:%M:%S")
        if [ $Status = 0 ]; then
            echo "$Data | Instalado | > $p" >> $ArquivoLog
        else
            echo "$Data | Erro      | > $p" >> $ArquivoLog
        fi
    done
}

mostra_log () {
    echo -e "\n\nFinal do arquivo de log em $ArquivoLog"
    tail -n 100 $ArquivoLog
}

# Chamada de funções
insta_programas ${Gedit[@]}
insta_programas ${Windows[@]}
insta_programas ${Navegadores[@]}
insta_programas ${Utilitarios[@]}
insta_programas ${Edicao[@]}
insta_programas ${Idiomas[*]}

limpa_logs
mostra_log

Criação de Usuarios , Grupo e instalação do servidor de arquivos samba

Instalando e configurando o AIDE em 15 minutos

Sincronização entre Servidores de Impressão

Liberação do servidor DNS no firewall

Backup com data no nome do arquivo

Contribuir com comentário

Entre na sua conta para comentar.