Instalador de programas
Publicado por Luciano Hanzo (última atualização em 26/11/2024)
[ Hits: 1.215 ]
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
Detecta e bloqueia tentativa de acesso ao SSH
Plugin do Nagios para checar disco via SNMP
Postfix - Listar usuários com over quota
Instala os modulos de bateria dos notebook da Acer
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Ajudante para criar dicas e artigos no VOL (29)
Hardware (corpo), Software (mente) e Kernel (conexão) (0)
Tentando fazer um "linux ricing" mas falhando miseravelmente... (3)









