Instalador de programas

Publicado por Luciano Hanzo (última atualização em 26/11/2024)

[ Hits: 242 ]

Homepage: :(

Download inicial_bash.sh




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

  



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

Scripts recomendados

Atualização para KDE 3.5.2

Claro 3g Sony Ericsson md300 script conexao REVISAO 2

script de clamav anti-virus

index para mrtg

Plugin do Nagios para checar disco via SNMP


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts