Instalador de programas
Publicado por Luciano Hanzo (última atualização em 26/11/2024)
[ Hits: 1.093 ]
Homepage: :(
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
#!/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
Script em shell do artigo: Implementando a segurança em servicos de acesso remoto
Avisos de segurança do espaço em uso!
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (8)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)
Assisti Avatar 3: Fogo e Cinzas (1)









