Instalador de programas
Publicado por Luciano Hanzo (última atualização em 26/11/2024)
[ Hits: 1.158 ]
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
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGANDO MSG ANTIGAS
clean_server.sh - Script para limpar o servidor
IP Info - Pesquisa geográfica pelo endereço IP
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









